Crearea tabelelor
Pentru a crea tabele, utilizeaza instructiunea Create Table, ce are urmatorul format:
CREATE TABLE [IF NOT EXISTS] nume_tabel(
lista_coloane
) type=tip_tabel
MySQL accepta If Not Exist dupa instructiunea Create Table pentru a te impiedica sa creezi un tabel care deja exista in baza de date. nume_tabel reprezinta denumirea tabelului pe care doresti sa-l creezi, fiind urmat de un set de coloane definite in urmatorul mod: nume_coloana tip_de_date(marime) [NOT] NULL. In final, poti preciza tipul motorului de stocare pe care preferi sa-l utilizezi pentru tabel. Daca nu declari in mod explicit tipul motorului de stocare, MySQL va utiliza MyISAM.
In baza de date classicmodels, putem crea un tabel al angajatilor cu instructiunea de mai sus, dupa cum urmeaza:
CREATE TABLE employees (
employeeNumber into(11) NOT NULL,
lastName varchar(50) NOT NULL,
firstName varchar(50) NOT NULL,
extension varchar(10) NOT NULL,
email varchar(100) NOT NULL,
officeCode varchar(10) NOT NULL,
reportsTo int(11) default NULL,
jobTitle varchar(50) NOT NULL,
PRIMARY KEY (employeeNumber)
);
Dupa cum poti observa, numele tabelului employees este urmat de lista coloanelor insotita de caracteristici, cum ar fi tipul, dimensiunea datelor si NOT NULL (daca este cazul). La final poti preciza cheia primara a tabelului, in acest caz employeeNumber. Daca tabelul are mai multe chei primare, le poti separa printr-o virgula. De exemplu, tabelul payments are doua chei primare customerNumber si checkNumber, pe care le poti crea utilizand urmatoarea interogare:
CREATE TABLE payments (
customerNumber int(11) NOT NULL,
checkNumber varchar(50) NOT NULL,
paymentDate datetime NOT NULL,
amount double NOT NULL,
PRIMARY KEY (customerNumber,checkNumber)
);
In mod prestabilit, pentru tabelul creat utilizam motorul de stocare MyISAM.
Listarea tabelelor dintr-o baza de date
Pentru a afisa toate tabelele, utilizeaza instructiunea Show Tables. Aceasta comanda va returna toate denumirile tabelelor din baza de date selectata.
Show Tables
Iata rezultatul pentru baza de date classicmodels:
+-------------------------+
| Tables_in_classicmodels |
+-------------------------+
| customers |
| employees |
| offices |
| orderdetails |
| orders |
| payments |
| productlines |
| products |
+-------------------------+
8 rows in set (0.00 sec)
In anumite situatii, daca trebuie sa vezi caracteristicile unui tabel, poti utiliza instructiunea Describe dupa cum urmeaza: Describe nume_tabel;
De exemplu, poti afisa structura tabelului employees prin aceasta interogare: DESCRIBE employees;
Rezultatul returnat de server este:
+----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| employeeNumber | int(11) | NO | PRI | NULL | |
| lastName | varchar(50) | NO | | NULL | |
| firstName | varchar(50) | NO | | NULL | |
| extension | varchar(10) | NO | | NULL | |
| email | varchar(100) | NO | | NULL | |
| officeCode | varchar(10) | NO | | NULL | |
| reportsTo | int(11) | YES | | NULL | |
| jobTitle | varchar(50) | NO | | NULL | |
+----------------+--------------+------+-----+---------+-------+
8 rows in set (0.02 sec)
|