Documente Academic
Documente Profesional
Documente Cultură
Mustafa
Elemente de MySQL
Programarea bazelor de date ı̂n mysql
Publicaţiile DAL
Craiova
Fişier prelucrat ı̂n data de [September 14, 2015]
Avertisment
Acest eseu nu a fost raportat vreunui referent. În consecinţă, conţinutul său trebuie
considerat “ca atare.”
Autorul vă aşteaptă comentariile la adresa lui de e-mail1 şi vă mulţumeşte anti-
cipat pentru efortul depus.
Fiecare proiect de la Publicaţiile DAL trebuie considerat “şantier” dacă nu este
declarat altfel. Versiunea sa este cea a datei de pe pagina cu titlul.
1 octawian@yahoo.com
v
Prefaţă
vii
Cuprins
1 Instalarea SGBD-ului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Poze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Referinţe Bibliografice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
ix
Lista de Figuri
xi
xii Lista de Figuri
xv
Capitolul 1
Instalarea SGBD-ului
date_mysql
de_citit
instalat
jurnal
restul
workbench
connectors
1py este folosit pentru script-uri de către multe sisteme open-source, d.ex. de Blender. În cadrul
MySQL, programul MySQL Workbench foloseşte asemenea script-uri, vezi elipsa albastră din
Figura 1.47.
1
2 1 Instalarea SGBD-ului
documentation
excel
notifier
samples
utilities
visual_studio
c
cpp
j
net
odbc
python
Directorul de_citit este opţional. În el aţi putea stoca fişiere cu notiţele dvs.
privind instalarea şi utilizarea lui mysql.
Putem ı̂ncepe instalarea. Lansăm ı̂n execuţie, printr-un dublu click, instalatorul
Windows [37] descărcat, mysql-installer-community-5.6.26.0.msi.
După ce bifăm faptul că am citit şi acceptat contractul de licenţă (elipsa albastră
din Figura 1.2), apăsăm butonul Next din fereastra curentă a instalatorului.
Optăm pentru tipul de instalare Custom, vezi Figura 1.3, ceea ce ne permite să
decidem care dintre componentele lui mysql vor fi instalate şi unde vor fi instalate.
Pentru a selecta componentele respective, folosim butoanele din elipsa roşie din
1 Instalarea SGBD-ului 3
Figura 1.4. Există şi o scurtătură pentru ceea ce avem de făcut, vezi elipsa verde din
Figura 1.4. Ea este discutată ı̂n tutorialul oficial [20].
Prima componentă este MySQL Server 5.6.26, vezi elipsa albastră din
Figura 1.5. Ignoraţi şirul X86 din titulatura componentei, pe care ı̂l vedeţi ı̂n poză:
el se datorează arhitecturii calculatorului meu şi poate fi diferit2 de ceea ce se
va afişa pe ecranul calculatorului dvs. Odată selectată componenta dorită din lista
Available Products, apăsaţi săgeata verde din elipsa roşie — ı̂n Figura 1.5
— pentru a trece componenta ı̂n lista din dreapta, Products/Features To Be
Installed. Bifaţi toate3 elementele din lista situată ı̂n elipsa albastră din Figura
1.6, apoi selectaţi titlul componentei din elipsa roşie din Figura 1.7. Apăsaţi bu-
tonul Advanced Options, din elipsa albastră — tot ı̂n Figura 1.7 —. Ni se va
cere să stabilim directorul de instalare, respectiv pe cel de date. Începem cu direc-
torul de instalare, apăsând butonul · · · din elipsa roşie din Figura 1.8. Directorul de
instalare, deja construit de noi, este C:\...\instalare_MySQL\instalat,
vezi Figura 1.9. Dacă instalatorul emite un avertisment — vezi elipsa albastră din
Figura 1.10 —, ı̂l ignorăm şi apăsăm butonul · · · din elipsa roşie pentru a alege di-
rectorul de date, ca ı̂n Figura 1.11. Odată inserate căile complete către directoarele
instalat, date_mysql, este posibil ca sistemul să emită un nou avertisment,
vezi Figura 1.12. Îl ignorăm şi pe acesta, apăsând butonul OK din elipsa roşie. În
acest moment, tot conţinutul care trebuie instalat pentru prima componentă a fost
transmis către instalator.
Pentru componenta MySQL Workbench 6.3.4 procedăm identic, vezi Fig-
urile 1.13 – 1.16.
Următoarele componente se instalează ı̂n sub-directoare ale directorului res-
tul.
Componenta MySQL Notifier 1.1.6:
directorul restul\notifier, Figura 1.17.
Componenta MySQL for Excel 1.3.4:
directorul restul\excel.
Componenta MySQL Fabric 1.5.4 & MySQL Utilities 1.5.4:
directorul restul\utilities.
Componenta MySQL for Visual Studio 1.2.3:
directorul restul\visual_studio, Figura 1.18.
Urmează componente — conectori — care se instalează ı̂n sub-directorul con-
nectors al directorului restul.
Componenta ODBC 5.3.4 — vezi [23] —:
directorul restul\connectors\odbc, Figura 1.19.
Componenta NET 6.9.6 — .NET, vezi [22] —:
directorul restul\connectors\net, Figura 1.20.
Componenta Python (3.4) 2.0.4:
directorul restul\connectors\python, Figura 1.21.
2 Conform [18], instalatorul Windows conţine şi mysql-ul pentru calculatoarele x64 [32].
3 Deşi instalăm ı̂ntreg mysql-ul, aceste bifări ne permit să vedem. . . ce anume instalăm!
4 1 Instalarea SGBD-ului
Componenta C 6.1.6:
directorul restul\connectors\c, Figura 1.22.
Componenta C++ 1.1.6 se instalează ı̂n directorul
restul\connectors\cpp.
Componenta J 5.1.36 — JDBC, vezi [11] — se instalează ı̂n directorul
restul\connectors\j.
Revenim la directorul restul.
Componenta MySQL Documentation 5.6.26:
directorul restul\documentation, Figura 1.23.
Aici se găsesc manualele lui mysql, ı̂n limba engleză.
Componenta Samples and Examples 5.6.26:
directorul restul\samples, Figura 1.24.
Aici se află două baze de date importante, şi anume Sakila şi World. În di-
rectorul restul\samples\Sample Databases\Sakila se găseşte fişierul
sakila.mwb. Dacă executaţi un dublu click cu butonul stâng al mouse-ului având
cursorul poziţionat pe iconiţa acestui fişier, el se va deschide ı̂n workbench —
vezi Figura 1.47 — sub forma unei model entitate – relaţie4 . De asemeni, apăsând
butonul din elipsa verde — tot ı̂n Figura 1.47 —, putem căuta ı̂n calculator orice
fişier *.mwb.
După ce am stabilit care sunt elementele sistemului mysql pe care dorim să le
instalăm — şi ne-am convins că mesajele de avertizare, vezi elipsele roşii din partea
superioară a Figurii 1.25, nu dezvăluie probleme nerezolvate! — putem comanda
execuţia instalării, ca ı̂n Figura 1.26.
Dacă totul este ı̂n regulă (Figurile 1.27, 1.28), ajungem la Figura 1.29: instalarea
sistemului mysql a fost finalizată!
Configurarea sistemului mysql — Figura 1.30 — ne impune să bifăm căsuţa
Show Advanced Options din Figura 1.31 şi să reţinem numărul portului [26]
de conectare la server: 3306.
Fereastra din Figura 1.32 ne cere o parolă pentru utilizatorul5 root. Lucrând pe
calculatorul personal, am folosit o parolă “slabă” — Figura 1.33—.
Serverul de baze de date va funcţiona ca un serviciu Windows [38], cu numele
MySQL56, vezi Figura 1.34. Bifând, dacă nu este bifată automat, căsuţa Start
the MySQL Server at System Startup, ne asigurăm că serverul por-
neşte odată cu calculatorul. În caz că dorim să pornim/oprim serverul ı̂n mod pro-
gramatic, putem utiliza un script asemănător celui folosit la sistemul tsql [16, p.
19].
Mai departe, alegem tipurile de jurnal6 care ne interesează — elipsele roşii din
Figura 1.35 — şi NU apăsăm butoanele din elipsele albastre din aceeaşi figură. În
câmpurile din elipsele albastre din Figura 1.36 scriem
C:\...\instalare_MySQL\jurnal\NumeDorit.err
C:\...\instalare_MySQL\jurnal\NumeDorit.log
C:\...\instalare_MySQL\jurnal\NumeDorit-slow.log
C:\...\instalare_MySQL\jurnal\NumeDorit.bin
Dacă totul este ı̂n regulă — Figurile 1.37 – 1.39 —, configurarea serverului de
baze de date s-a ı̂ncheiat, vezi Figura 1.40, şi acesta funcţionează. Testăm conectarea
la server apăsând butonul Check din Figura 1.41.
După configurarea bazelor de date “şcoală” — Figurile 1.42 – 1.45 —, bifând
căsuţa din elipsa albastră din Figura 1.46, ne asigurăm că va fi lansat ı̂n execuţie
clientul workbench de ı̂ndată ce apăsăm butonul Finish — elipsa roşie din
Figura 1.46 —.
Există două metode de a ne conecta la server via clientul7 MySQL Workbench
(pe scurt, workbench): fie clickând cu mouse-ul pe zona din elipsa roşie din Figura
1.48, fie clickând pe zona din elipsa roşie din Figura 1.49 — această din urmă
metodă ne permite să facem modificări ı̂n instanţa conexiunii, vezi elipsa albastră
din stânga figurii —.
Un fişier important al sistemului mysql este fişierul de configurare my.ini —
elipsa din mijlocul Figurii 1.49 —. Calea către el este
C:\...\instalare_MySQL\date_mysql.
1.1 Poze
7 Alt client pentru serverul MySQL este phpMyAdmin [25], folosit ı̂n sistemul XAMPP [34, 35].
6 1 Instalarea SGBD-ului
Butonul din elipsa roşie situată ı̂n partea dreaptă a Figurii 2.1 ne permite să mo-
dificăm setările editorului de text (culori, font-uri, etc). Panourile2 Navigator,
Output şi SQLAdditions pot fi activate/dezactivate prin meniul View din
1 Folosim, ı̂n mod liber, termenul SGBD pentru a ne referi la oricare dintre părţile sistemului client-
server [31].
2 În limba engleză, panel (sing.).
31
32 2 Primele manevre cu mysql
elipsa albastră. Altă metodă de a opera cu panourile este să apelaţi la butoanele
grupate ı̂n jurul elipsei roşii din Figura 2.6.
Folosind butonul din elipsa roşie din partea stânga a Figurii 2.1, deschidem fe-
reastra unei interogări — Figura 2.3 —.
diverse_comenzi_1.sql
1 SELECT v e r s i o n () AS ‘versiune‘, -- versiunea serverului
2 c u r r e n t d a t e () AS ‘data curenta‘,
3 now() AS ‘momentul curent‘,
4 u s e r () AS ‘utilizator‘;
5 SHOW DATABASES;
6 SELECT h o s t ,
7 u s e r FROM mysql. u s e r ; /* numele calificat: numele-bazei.ց
(cont.) numele-tabelului*/
9 USE ‘intro_carti‘;
10 CREATE TABLE IF NOT EXISTS
11 ‘insertii‘(‘contor‘ INT NOT NULL AUTO INCREMENT PRIMARY KEY,
12 ‘momentul‘ DATETIME NOT NULL,
13 ‘numarul_de_carti‘ INT NULL)
2.1 Alte poze 33
18 USE ‘intro_carti‘;
19 INSERT INTO ‘insertii‘(‘momentul‘,‘numarul_de_carti‘)
20 VALUES(now(),2);
21 INSERT INTO ‘insertii‘(‘momentul‘,‘numarul_de_carti‘)
22 VALUES(now(),12);
23 /*
24 putem evita scrierea numelor de coloane punand
25 NULL la valorile cu auto-increment
26 (vezi http://dev.mysql.com/doc/refman/5.6/en/example-ց
(cont.) foreign-keys.html)
27 */
28 INSERT INTO ‘insertii‘ VALUES(NULL,now(),4);
29 SELECT * FROM ‘insertii‘;
30 SELECT LAST INSERT ID(); /* sa vedem ultima valoare a auto-ց
(cont.) incrementului */
Fişierele noii baze de date vor fi stocate ı̂n directorul — construit de mysql —
instalare_MySQL\date_mysql\data,
vezi Figura 2.7. Folosind butonul de actualizare/sincronizare a conţinutului ferestre-
lor din panoul stâng al workbench-ului — elipsa roşie din Figura 2.8 —, facem
vizibile detaliile bazei de date intro_carti, vezi elipsa albastră din aceeaşi ima-
gine.
Să presupunem că avem deja ı̂n SGBD o bază de date cu numeroase informaţii
importante. Dorim să o exportăm3 pentru a o putea folosi indepedent de mysql.
Vom folosi, ı̂n acest scop, butonul Data Export din meniul Server — elipsa
roşie din Figura 2.9 —. În fereastra de export a datelor, vezi Figura 2.10, căsuţele,
respectiv butonul din elipsele albastre reprezintă diverse opţiuni de export pen-
tru această bază de date. Odată hotărâte aceste variante, apăsăm butonul Start
Export din elipsa roşie din josul figurii. Jurnalul de execuţie, respectiv fişierele
rezultate ı̂n urma exportului pot fi observate ı̂n Figurile 2.11, 2.12.
Fereastra de lucru a workbench-ului se poate ı̂nchide — vom reveni la Figura
1.47 — fie apăsând butonul Close Connection Tab din meniul File din
Figura 2.13, fie utilizând butonul x din elipsa albastră situată ı̂n aceeaşi figură.
Codurile listate ı̂n continuare ı̂mi permit să inserez aceste informaţii ı̂ntr-o bază
de date mysql . Încep cu construcţia bazei de date.
baza_biblioteca.sql
1 /**********************
2 Lista cartilor din programul Biblioteca_2012
3 ***********************/
4 CREATE DATABASE IF NOT EXISTS ‘biblioteca_mea‘;
5 USE ‘biblioteca_mea‘;
6 CREATE TABLE IF NOT EXISTS
7 ‘cartile‘(‘contor‘ INT NOT NULL AUTO INCREMENT PRIMARY KEY,
8 ‘fisierul_sursa‘ CHAR(10) NOT NULL DEFAULT ’000000.txt’,
9 ‘domeniul‘ ENUM(’0’,’1’,’2’) NOT NULL DEFAULT ’0’,
10 ‘numele‘ VARCHAR(100) NOT NULL,
11 ‘prenumele‘ CHAR(1) NOT NULL,
12 ‘titlul‘ VARCHAR(300) NOT NULL,
13 ‘editura‘ VARCHAR(100),
14 ‘orasul‘ VARCHAR(100),
15 ‘anul‘ CHAR(4) DEFAULT ’1900’,
16 ‘comentarii‘ VARCHAR(400) NOT NULL)
17 ENGINE = InnoDB;
18 /* verificam numele coloanelor, tipul datelor, etc */
19 DESCRIBE ‘biblioteca_mea‘.‘cartile‘;
7 **********************/
8 LOAD DATA LOCAL INFILE ’C:/Users/Octavian/Desktop/biblioteca_bd.ց
(cont.) txt’
În cazul de faţă, avertismentele pot fi evitate căci nu avem neapărat nevoie
de introducerea unui contor ı̂n tabelul cartile. Aceasta pentru că programul
Biblioteca asigură unicitatea rândurilor de date4 cu ajutorul valorilor din coloana
25 ################################
26 # Fisierul obtinut va fi inserat intr-o baza de date MySQL.
27 ################################
28
29 u s e 5.010;
30 use s t r i c t ;
31 u s e warnings;
32
33 my $fisierul_cu_indexul_fisierelor = ’C:/Biblioteca_mea_2012/ց
(cont.) Catalog/catalog_sortat.txt’;
34 my $director_fisiere = ’C:/Biblioteca_mea_2012/’;
35 my $numar_de_fisiere = 0; #contorizam randurile din fisierul-cu-ց
(cont.) indexul-fisierelor
37 my $nume_fisier_curent = undef;
42 2 Primele manevre cu mysql
38
39 ###citirea indexului:
40 my $fisier_index = undef;
41 open($fisier_index,’<: e n c o d i n g (UTF-8)’,ց
(cont.) $fisierul_cu_indexul_fisierelor) or d i e ("Eroare la ց
(cont.) index: $!");
46 i f (10!= l e n g t h ($randul_curent_index)){
47 d i e ("Probleme cu randurile din fisierul-de-index! Eroare ց
(cont.) la randul: $numar_de_fisiere");
48 }
49 }
50 c l o s e ($fisier_index);
51
61
62 #preluarea fisierului curent:
63 @continut_fisier_curent = ();
64 $numarul_de_randuri = 0;
65 $fisier = undef;
66 open($fisier,’<: e n c o d i n g (UTF-8)’,$nume_fisier_curent) or d i e (ց
(cont.) "Eroare la deschiderea fisierului $indexul_fisierelor[$iց
(cont.) ]");
67 w h i l e ($randul_curent = <$fisier>){
68 chomp $randul_curent;
69 $continut_fisier_curent[$numarul_de_randuri++] = ց
(cont.) $randul_curent;
70 }
71 #fisierele incep cu un rand gol si au 15 randuri (1 gol + 14 ց
(cont.) scrise)
72 i f (15 != $numarul_de_randuri){
73 d i e ("Probleme cu randurile din fisierul curent! Eroare la ց
(cont.) fisierul $indexul_fisierelor[$i]");
74 }
75 c l o s e ($fisier);
76
86
87 #prelucrarea datelor:
88 #primele doua coloane se folosesc pentru a putea insera ց
(cont.) rezultatul intr-o baza de date mysql:
89 $continutul_bazei_de_date .= ’NULL,’.$indexul_fisierelor[$i].’ց
(cont.) ,’;
106
(cont.) $fisierul_bazei_de_date\]");
(cont.) muncitor,
Mai departe, optăm pentru tabelul carti2, vezi Figura 2.20, şi, din foaia de lu-
cru, selectăm rândurile cu date pe care dorim să le inserăm ı̂n sistemul mysql.
Apoi, apăsăm butonul Append Excel Data to Table — elipsa roşie din
colţul dreapta-jos al Figurii 2.21 —.
Am ajuns la Figura 2.22 care conţine fereastra pop-up pentru maparea7 coloanelor
de date. Ne poziţionăm cu cursorul pe titlul (verde) al uneia dintre coloanele din
rândul de sus — aici se găsesc coloanele selectate de noi din foaia de lucru;
numărul lor trebuie să ı̂i corespundă celui al coloanelor tabelului din mysql! —
şi, ţinând apăsat butonul stâng al mouse-ului, urmăm săgeţile roşii din imagine.
Folosim bara de derulare8 orizontală — din elipsa albastră — pentru a ajunge la
toate coloanele selectate din foaia de lucru. Deoarece excel-ul a făcut, ı̂n mod
automat, nişte mapări, mapările noastre trebuie confirmate prin apăsarea butonului
Yes din Figura 2.23 — la fiecare mapare! —. După ce ne asigurăm că mapările sunt
corecte, apăsăm butonul Append, vezi Figura 2.24. Finalul execuţiei este anunţat
de fereastra pop-up din Figura 2.25. Folosind butonul Show Details din elipsa
albastră din Figura 2.25 putem afla, d.ex., câte rânduri de date au fost inserate ı̂n
tabelul cartile2. Injecţia de date s-a ı̂ncheiat.
Fig. 2.16 Panoul componentei atunci când fereastra principală nu este maximalizată
2.3 Poze (din nou. . . ) 47
Fig. 2.17 Panoul componentei atunci când fereastra principală este maximalizată
3.1 O bază wp
Program:> Să presupunem că ne-am instalat un blog [5], folosind soluţia WordPress1 (pe
scurt, wp). Acesta utilizează o bază de date mysql ı̂n care ı̂şi stochează conţinu-
tul: paginile meniului principal, postările, comentariile, etc. Chiar de la instalarea
blogului, baza de date — numită, de obicei, wp_NumeDorit — conţine mode-
le de pagini, de postări şi de mesaje. Folosind SGBD-ul phpMyAdmin, facem un
dump al acestei baze de date şi obţinem codul următor, care ı̂i defineşte structura.
Codul bazei de date wp poate fi descărcat de la adresa [40].
baza_wp_1.sql
1 /*******************************
2 Copyright 2015: contributors to WordPress
3 ********************************/
4
9 USE ‘baza_de_date_wordpress_studiu‘;
10
11 --
12 -- Table structure for table ‘wp_commentmeta‘
13 --
14 CREATE TABLE IF NOT EXISTS ‘wp_commentmeta‘ (
15 ‘meta_id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
16 ‘comment_id‘ b i g i n t (20) u n s i g n e d NOT NULL DEFAULT ’0’,
17 ‘meta_key‘ v a r c h a r(255) COLLATE utf8mb4_unicode_ci DEFAULT ց
(cont.) NULL,
53
54 3 Diverse proiecte mysql
23
24 --
25 -- Table structure for table ‘wp_comments‘
26 --
27 CREATE TABLE IF NOT EXISTS ‘wp_comments‘ (
28 ‘comment_ID‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
29 ‘comment_post_ID‘ b i g i n t (20) u n s i g n e d NOT NULL DEFAULT ’0’,
30 ‘comment_author‘ t i n y t e x t COLLATE utf8mb4_unicode_ci NOT NULL,
31 ‘comment_author_email‘ v a r c h a r(100) COLLATE utf8mb4_unicode_ciց
(cont.) NOT NULL DEFAULT ’’,
50
51 --
52 -- Table structure for table ‘wp_links‘
53 --
54 CREATE TABLE IF NOT EXISTS ‘wp_links‘ (
55 ‘link_id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
56 ‘link_url‘ v a r c h a r(255) COLLATE utf8mb4_unicode_ci NOT NULL ց
(cont.) DEFAULT ’’,
71
72 --
73 -- Table structure for table ‘wp_options‘
74 --
75 CREATE TABLE IF NOT EXISTS ‘wp_options‘ (
76 ‘option_id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
77 ‘option_name‘ v a r c h a r(64) COLLATE utf8mb4_unicode_ci NOT NULL ց
83
84 --
85 -- Table structure for table ‘wp_postmeta‘
86 --
87 CREATE TABLE IF NOT EXISTS ‘wp_postmeta‘ (
88 ‘meta_id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
89 ‘post_id‘ b i g i n t (20) u n s i g n e d NOT NULL DEFAULT ’0’,
90 ‘meta_key‘ v a r c h a r(255) COLLATE utf8mb4_unicode_ci DEFAULT ց
(cont.) NULL,
96
97 --
98 -- Table structure for table ‘wp_posts‘
99 --
100 CREATE TABLE IF NOT EXISTS ‘wp_posts‘ (
56 3 Diverse proiecte mysql
130
131 --
132 -- Table structure for table ‘wp_term_relationships‘
133 --
134 CREATE TABLE IF NOT EXISTS ‘wp_term_relationships‘ (
135 ‘object_id‘ b i g i n t (20) u n s i g n e d NOT NULL DEFAULT ’0’,
136 ‘term_taxonomy_id‘ b i g i n t (20) u n s i g n e d NOT NULL DEFAULT ’0’,
137 ‘term_order‘ i n t (11) NOT NULL DEFAULT ’0’,
138 PRIMARY KEY (‘object_id‘,‘term_taxonomy_id‘),
139 KEY ‘term_taxonomy_id‘ (‘term_taxonomy_id‘)
3.1 O bază wp 57
141
142 --
143 -- Table structure for table ‘wp_term_taxonomy‘
144 --
145 CREATE TABLE IF NOT EXISTS ‘wp_term_taxonomy‘ (
146 ‘term_taxonomy_id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENTց
(cont.) ,
156
157 --
158 -- Table structure for table ‘wp_terms‘
159 --
160 CREATE TABLE IF NOT EXISTS ‘wp_terms‘ (
161 ‘term_id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
162 ‘name‘ v a r c h a r(200) COLLATE utf8mb4_unicode_ci NOT NULL ց
169
170 --
171 -- Table structure for table ‘wp_usermeta‘
172 --
173 CREATE TABLE IF NOT EXISTS ‘wp_usermeta‘ (
174 ‘umeta_id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
175 ‘user_id‘ b i g i n t (20) u n s i g n e d NOT NULL DEFAULT ’0’,
176 ‘meta_key‘ v a r c h a r(255) COLLATE utf8mb4_unicode_ci DEFAULT ց
(cont.) NULL,
182
183 --
184 -- Table structure for table ‘wp_users‘
58 3 Diverse proiecte mysql
185 --
186 CREATE TABLE IF NOT EXISTS ‘wp_users‘ (
187 ‘ID‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
188 ‘user_login‘ v a r c h a r(60) COLLATE utf8mb4_unicode_ci NOT NULL ց
(cont.) DEFAULT ’’,
189 ‘user_pass‘ v a r c h a r(64) COLLATE utf8mb4_unicode_ci NOT NULL ց
(cont.) DEFAULT ’’,
201
202 --
203 -- Table structure for table ‘cds‘
204 --
205 CREATE TABLE IF NOT EXISTS ‘cds‘ (
206 ‘titel‘ v a r c h a r(200) COLLATE latin1_general_ci DEFAULT NULL,
207 ‘interpret‘ v a r c h a r(200) COLLATE latin1_general_ci DEFAULT ց
(cont.) NULL,
212
213 --
214 -- Table structure for table ‘pma_bookmark‘
215 --
216 CREATE TABLE IF NOT EXISTS ‘pma_bookmark‘ (
217 ‘id‘ i n t (11) NOT NULL AUTO INCREMENT,
218 ‘dbase‘ v a r c h a r(255) COLLATE utf8_bin NOT NULL DEFAULT ’’,
219 ‘user‘ v a r c h a r(255) COLLATE utf8_bin NOT NULL DEFAULT ’’,
220 ‘label‘ v a r c h a r(255) CHARACTER SET utf8 NOT NULL DEFAULT ’’,
221 ‘query‘ t e x t COLLATE utf8_bin NOT NULL,
222 PRIMARY KEY (‘id‘)
223 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=’ց
(cont.) Bookmarks’ AUTO INCREMENT=1;
224
225 --
226 -- Table structure for table ‘pma_column_info‘
3.1 O bază wp 59
227 --
228 CREATE TABLE IF NOT EXISTS ‘pma_column_info‘ (
229 ‘id‘ i n t (5) u n s i g n e d NOT NULL AUTO INCREMENT,
230 ‘db_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
231 ‘table_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
232 ‘column_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’ց
(cont.) ,
233 ‘comment‘ v a r c h a r(255) CHARACTER SET utf8 NOT NULL DEFAULT ’’,
234 ‘mimetype‘ v a r c h a r(255) CHARACTER SET utf8 NOT NULL DEFAULT ’’ց
(cont.) ,
240
241 --
242 -- Table structure for table ‘pma_designer_coords‘
243 --
244 CREATE TABLE IF NOT EXISTS ‘pma_designer_coords‘ (
245 ‘db_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
246 ‘table_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
247 ‘x‘ i n t (11) DEFAULT NULL,
248 ‘y‘ i n t (11) DEFAULT NULL,
249 ‘v‘ tinyint(4) DEFAULT NULL,
250 ‘h‘ tinyint(4) DEFAULT NULL,
251 PRIMARY KEY (‘db_name‘,‘table_name‘)
252 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=’ց
(cont.) Table coordinates for Designer’;
253
254 --
255 -- Table structure for table ‘pma_history‘
256 --
257 CREATE TABLE IF NOT EXISTS ‘pma_history‘ (
258 ‘id‘ b i g i n t (20) u n s i g n e d NOT NULL AUTO INCREMENT,
259 ‘username‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
260 ‘db‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
261 ‘table‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
262 ‘timevalue‘ timestamp NOT NULL DEFAULT CURRENT TIMESTAMP ON ց
(cont.) UPDATE CURRENT TIMESTAMP,
267
268 --
269 -- Table structure for table ‘pma_pdf_pages‘
270 --
271 CREATE TABLE IF NOT EXISTS ‘pma_pdf_pages‘ (
272 ‘db_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
60 3 Diverse proiecte mysql
278
279 --
280 -- Table structure for table ‘pma_recent‘
281 --
282 CREATE TABLE IF NOT EXISTS ‘pma_recent‘ (
283 ‘username‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL,
284 ‘tables‘ t e x t COLLATE utf8_bin NOT NULL,
285 PRIMARY KEY (‘username‘)
286 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=’ց
(cont.) Recently accessed tables’;
287
288 --
289 -- Table structure for table ‘pma_relation‘
290 --
291 CREATE TABLE IF NOT EXISTS ‘pma_relation‘ (
292 ‘master_db‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
293 ‘master_table‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’ց
(cont.) ’,
301
302 --
303 -- Table structure for table ‘pma_table_coords‘
304 --
305 CREATE TABLE IF NOT EXISTS ‘pma_table_coords‘ (
306 ‘db_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
307 ‘table_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL DEFAULT ’’,
308 ‘pdf_page_number‘ i n t (11) NOT NULL DEFAULT ’0’,
309 ‘x‘ f l o a t u n s i g n e d NOT NULL DEFAULT ’0’,
310 ‘y‘ f l o a t u n s i g n e d NOT NULL DEFAULT ’0’,
311 PRIMARY KEY (‘db_name‘,‘table_name‘,‘pdf_page_number‘)
312 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=’ց
(cont.) Table coordinates for phpMyAdmin PDF output’;
313
314 --
315 -- Table structure for table ‘pma_table_info‘
316 --
317 CREATE TABLE IF NOT EXISTS ‘pma_table_info‘ (
3.1 O bază wp 61
323
324 --
325 -- Table structure for table ‘pma_table_uiprefs‘
326 --
327 CREATE TABLE IF NOT EXISTS ‘pma_table_uiprefs‘ (
328 ‘username‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL,
329 ‘db_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL,
330 ‘table_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL,
331 ‘prefs‘ t e x t COLLATE utf8_bin NOT NULL,
332 ‘last_update‘ timestamp NOT NULL DEFAULT CURRENT TIMESTAMP ON ց
(cont.) UPDATE CURRENT TIMESTAMP,
335
336 --
337 -- Table structure for table ‘pma_tracking‘
338 --
339 CREATE TABLE IF NOT EXISTS ‘pma_tracking‘ (
340 ‘db_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL,
341 ‘table_name‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL,
342 ‘version‘ i n t (10) u n s i g n e d NOT NULL,
343 ‘date_created‘ d a t e t i m e NOT NULL,
344 ‘date_updated‘ d a t e t i m e NOT NULL,
345 ‘schema_snapshot‘ t e x t COLLATE utf8_bin NOT NULL,
346 ‘schema_sql‘ t e x t COLLATE utf8_bin,
347 ‘data_sql‘ l o n g t e x t COLLATE utf8_bin,
348 ‘tracking‘ s e t (’UPDATE’,’REPLACE’,’INSERT’,’DELETE’,’TRUNCATE’ց
(cont.) ,’CREATE DATABASE’,’ALTER DATABASE’,’DROP DATABASE’,’ց
(cont.) phpMyAdmin’;
352
353 --
354 -- Table structure for table ‘pma_userconfig‘
355 --
356 CREATE TABLE IF NOT EXISTS ‘pma_userconfig‘ (
357 ‘username‘ v a r c h a r(64) COLLATE utf8_bin NOT NULL,
358 ‘timevalue‘ timestamp NOT NULL DEFAULT CURRENT TIMESTAMP ON ց
362
363 --
364 -- Table structure for table ‘user_pwd‘
365 --
366 CREATE TABLE IF NOT EXISTS ‘user_pwd‘ (
367 ‘name‘ char(30) COLLATE latin1_general_ci NOT NULL DEFAULT ’’,
368 ‘pass‘ char(32) COLLATE latin1_general_ci NOT NULL DEFAULT ’’,
369 PRIMARY KEY (‘name‘)
370 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ciց
(cont.) ;
VA URMA
Referinţe Bibliografice
63
64 Referinţe Bibliografice
65