14.06.2014 Views

Introducere in MySQL (exercitii din linia de comanda),

Introducere in MySQL (exercitii din linia de comanda),

Introducere in MySQL (exercitii din linia de comanda),

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Crearea unei tabel<br />

Crearea unei tabel este un lucru ceva mai complicat, pentru că în tabele sunt <strong>de</strong> fapt<br />

stocate <strong>in</strong>formaţiile. Dacă veţi citi manualul <strong>de</strong> <strong>MySQL</strong> veţi <strong>de</strong>scoperi o <strong>de</strong>f<strong>in</strong>iţie ce la prima<br />

ve<strong>de</strong>re pare criptică:<br />

mysql>CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name<br />

[(create_<strong>de</strong>f<strong>in</strong>ition,...)] [table_options] [select_statement]<br />

sau<br />

mysql> CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name<br />

[(] LIKE old_tbl_name [)];<br />

Să luăm un exemplu concret şi să ve<strong>de</strong>m cum creăm tabela noastră cu anunţurI:<br />

mysql> CREATE TABLE anunturi (<br />

-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,<br />

-> text_anunt TEXT,<br />

-> data_anunt DATE NOT NULL<br />

-> );<br />

Query OK, 0 rows affected (0.08 sec)<br />

Pare complicat? Hai<strong>de</strong>ţi să ve<strong>de</strong>m ce reprez<strong>in</strong>tă fiecare l<strong>in</strong>ie:<br />

• prima l<strong>in</strong>ie pare <strong>de</strong>stul <strong>de</strong> simplă. dacă ştiţi ceva engleză e suficient să traduceţi şi veţi ve<strong>de</strong>a<br />

că i se transmite serverului <strong>MySQL</strong> faptul că se doreşte crearea unui tabel.<br />

• a doua l<strong>in</strong>ie e în schimb ceva mai complicată. Să o luăm pe rând. Această l<strong>in</strong>ie comunică<br />

serverului <strong>MySQL</strong> că dorim să creăm o coloană cu numele "id" <strong>de</strong> timp întreg ("INT") ce se va<br />

auto <strong>in</strong>crementa ("AUTO_INCREMENT") şi <strong>in</strong>formaţiile conţ<strong>in</strong>ute în această coloană vor fi unice<br />

("PRIMAY KEY").<br />

V-am explicat anterior faptul că o baza <strong>de</strong> date b<strong>in</strong>e proiectată trebuie să aibă un mod<br />

<strong>de</strong> a <strong>in</strong><strong>de</strong>ntifica în mod unic o înregistrare (l<strong>in</strong>ie).<br />

• a treia l<strong>in</strong>ie îi comunică serverului <strong>MySQL</strong> că dorim să creăm o coloană cu numele<br />

"text_anunt" <strong>de</strong> tip "TEXT".<br />

• a patra l<strong>in</strong>ie îi comunică serverului <strong>MySQL</strong> că dorim să creăm o coloana cu numele<br />

"data_anunt" <strong>de</strong> tip "DATE" şi mai mult <strong>de</strong>cât atât impunem condiţia ca tot<strong>de</strong>auna să existe<br />

<strong>in</strong>formaţii în acest câmp (să nu fie niciodată gol, “NOT NULL”).<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!