Pași pentru crearea bazei de date în MySQL
Creați baza de date în două moduri
1) Prin executarea unei interogări SQL simple
2) Prin utilizarea ingineriei forward în MySQL Workbench
În acest tutorial SQL, veți învăța-
- Cum se creează o bază de date
- Cum se creează tabelul în MySQL
- Tipuri de date
- MySQL workbench ER diagramă înainte Inginerie
Ca începător SQL, să analizăm mai întâi metoda de interogare.
Cum se creează o bază de date
Iată cum puteți crea o bază de date în MySQL:
CREATE DATABASE este comanda SQL utilizată pentru crearea unei baze de date în MySQL.
Imaginați-vă că trebuie să creați o bază de date cu numele „filme”. Puteți crea o bază de date în MySQL executând următoarea comandă SQL.
CREATE DATABASE movies;
Notă: puteți utiliza și comanda CREATE SCHEMA în loc de CREATE DATABASE
Acum, să îmbunătățim interogarea noastră SQL adăugând mai mulți parametri și specificații.
DACĂ NU EXISTĂ
Un singur server MySQL ar putea avea mai multe baze de date. Dacă nu sunteți singurul care accesează același server MySQL sau dacă trebuie să vă ocupați de mai multe baze de date, există probabilitatea de a încerca să creați o nouă bază de date cu numele unei baze de date existente. DACĂ NU EXISTĂ vă permite să instruiți serverul MySQL să verifice existența unei baze de date cu un nume similar înainte de a crea baza de date.
Când se utilizează IF NOT EXISTS, baza de date este creată numai dacă numele dat nu intră în conflict cu numele unei baze de date existente. Fără utilizarea IF NOT EXISTS, MySQL aruncă o eroare.
CREATE DATABASE IF NOT EXISTS movies;
Colationare și set de caractere
Colationarea este un set de reguli utilizate în comparație. Mulți oameni folosesc MySQL pentru a stoca date altele decât engleza. Datele sunt stocate în MySQL folosind un set de caractere specific. Setul de caractere poate fi definit la diferite niveluri și anume, server, bază de date, tabel și coloane.
Trebuie să selectați regulile de colaționare care, la rândul lor, depind de setul de caractere ales.
De exemplu, setul de caractere Latin1 folosește
latin1_swedish_ci
colație care este ordinea suedeză insensibilă la caz.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
Cea mai bună practică în timpul utilizării limbilor locale, cum ar fi araba, chineza etc. este să selectați setul de caractere Unicode (utf-8) care are mai multe colații sau doar să rămâneți la colația implicită utf8-general-ci.
Aici puteți găsi lista tuturor colațiilor și seturilor de caractere
Puteți vedea lista bazelor de date existente executând următoarea comandă SQL.
SHOW DATABASES
Cum se creează tabelul în MySQL
Comanda CREATE TABLE este utilizată pentru a crea tabele într-o bază de date
Tabelele pot fi create folosind instrucțiunea CREATE TABLE și are de fapt următoarea sintaxă.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
AICI
- „CREATE TABLE” este cel responsabil pentru crearea tabelului în baza de date.
- „[DACĂ NU EXISTĂ]” este opțional și creați tabelul numai dacă nu este găsit niciun nume de tabel.
- „` fieldName` ”este numele câmpului și„ Data type ”definește natura datelor care trebuie stocate în câmp.
- „[parametri opționali]” informații suplimentare despre un câmp precum „AUTO_INCREMENT”, NOT NULL etc.
Exemplu MySQL Create Table
Mai jos este un exemplu MySQL pentru a crea un tabel în baza de date:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (`membership_number` INT AUTOINCREMENT ,`full_names` VARCHAR(150) NOT NULL ,`gender` VARCHAR(6) ,`date_of_birth` DATE ,`physical_address` VARCHAR(255) ,`postal_address` VARCHAR(255) ,`contact_number` VARCHAR(75) ,`email` VARCHAR(255) ,PRIMARY KEY (`membership_number`) )ENGINE = InnoDB;
Acum să vedem care sunt tipurile de date MySQL. Puteți utiliza oricare dintre ele în funcție de nevoile dvs. Ar trebui să încercați întotdeauna să nu subestimați sau să supraestimați gama potențială de date atunci când creați o bază de date.
TIPURI DE DATE
Tipurile de date definesc natura datelor care pot fi stocate într-o anumită coloană a unui tabel
MySQL are 3 categorii principale de tipuri de date și anume
- Numeric,
- Text
- Data / ora.
Tipuri de date numerice
Tipurile de date numerice sunt folosite pentru a stoca valori numerice. Este foarte important să vă asigurați că intervalul de date este între limitele inferioare și superioare ale tipurilor de date numerice.
TINYINT () | -128 până la 127 normal 0 până la 255 NESEMINAT. |
SMALLINT () | -32768 la 32767 normal 0 la 65535 NESEMINAT. |
MEDIUMINT () | -8388608 la 8388607 normal 0 la 16777215 NESEMINAT. |
INT () | -2147483648 la 2147483647 normal 0 la 4294967295 NESEMNIFICAT. |
BIGINT () | -9223372036854775808 la 9223372036854775807 normal 0 la 18446744073709551615 NESEMNIFICAT. |
PLUTI | Un număr aproximativ mic cu virgulă zecimală flotantă. |
DUBLU (,) | Un număr mare cu punct zecimal flotant. |
ZECIMAL (,) | O DUBLĂ stocată ca un șir, permițând un punct zecimal fix. Alegere pentru stocarea valorilor valutare. |
Tipuri de date text
După cum sugerează numele categoriei de tipuri de date, acestea sunt utilizate pentru a stoca valorile textului. Asigurați-vă întotdeauna că lungimea datelor dvs. textuale nu depășește lungimile maxime.
CHAR () | O secțiune fixă de la 0 la 255 de caractere. |
VARCHAR () | O secțiune variabilă de la 0 la 255 de caractere. |
TINYTEXT | Un șir cu o lungime maximă de 255 de caractere. |
TEXT | Un șir cu lungimea maximă de 65535 de caractere. |
BLOB | Un șir cu lungimea maximă de 65535 de caractere. |
MEDIUMTEXT | Un șir cu o lungime maximă de 16777215 caractere. |
MEDIUMBLOB | Un șir cu o lungime maximă de 16777215 caractere. |
LONGTEXT | Un șir cu o lungime maximă de 4294967295 caractere. |
LONGBLOB | Un șir cu o lungime maximă de 4294967295 caractere. |
Data / Ora
DATA | AAAA-LL-ZZ |
DATETIME | AAAA-LL-ZZ HH: MM: SS |
TIMESTAMP-UL | AAAAAMMDDHHMMSS |
TIMP | HH: MM: SS |
În afară de cele de mai sus, există și alte tipuri de date în MySQL.
ENUM | Pentru a stoca valoarea textului aleasă dintr-o listă de valori text predefinite |
A STABILIT | Acesta este, de asemenea, utilizat pentru stocarea valorilor de text alese dintr-o listă de valori de text predefinite. Poate avea mai multe valori. |
BOOL | Sinonim pentru TINYINT (1), folosit pentru a stoca valorile booleene |
BINAR | Similar cu CHAR, diferența este că textele sunt stocate în format binar. |
VARBINAR | Similar cu VARCHAR, diferența este că textele sunt stocate în format binar. |
Acum să vedem o interogare pentru crearea unui tabel care conține date de toate tipurile de date. Studiați-l și identificați modul în care fiecare tip de date este definit în exemplul MySQL din tabelul de mai jos.
CREATE TABLE`all_data_types` (`varchar` VARCHAR( 20 ) ,`tinyint` TINYINT ,`text` TEXT ,`date` DATE ,`smallint` SMALLINT ,`mediumint` MEDIUMINT ,`int` INT ,`bigint` BIGINT ,`float` FLOAT( 10, 2 ) ,`double` DOUBLE ,`decimal` DECIMAL( 10, 2 ) ,`datetime` DATETIME ,`timestamp` TIMESTAMP ,`time` TIME ,`year` YEAR ,`char` CHAR( 10 ) ,`tinyblob` TINYBLOB ,`tinytext` TINYTEXT ,`blob` BLOB ,`mediumblob` MEDIUMBLOB ,`mediumtext` MEDIUMTEXT ,`longblob` LONGBLOB ,`longtext` LONGTEXT ,`enum` ENUM( '1', '2', '3' ) ,`set` SET( '1', '2', '3' ) ,`bool` BOOL ,`binary` BINARY( 20 ) ,`varbinary` VARBINARY( 20 )) ENGINE= MYISAM ;
Cele mai bune practici
- Utilizați litere majuscule pentru cuvintele cheie SQL, adică „DROP SCHEMA IF EXISTS` MyFlixDB`; ”
- Terminați toate comenzile SQL folosind puncte și virgule.
- Evitați să folosiți spații în nume de schemă, tabel și câmp. Folosiți în schimb caractere de subliniere pentru a separa numele schemei, tabelelor sau câmpurilor.
MySQL workbench ER diagramă inginerie înainte
MySQL workbench are utilități care acceptă ingineria forward. Ingineria directă este un termen tehnic pentru a descrie procesul de traducere automată a unui model logic într-un instrument fizic .
Am creat o diagramă ER pe tutorialul nostru de modelare ER. Acum vom folosi acel model ER pentru a genera scripturile SQL care vor crea baza noastră de date.
Crearea bazei de date MyFlix din modelul MyFlix ER
1. Deschideți modelul ER al bazei de date MyFlix pe care l-ați creat în tutorialul anterior.
2. Faceți clic pe meniul bazei de date. Selectați inginerul forward
3. Următoarea fereastră vă permite să vă conectați la o instanță a serverului MySQL. Faceți clic pe lista derulantă a conexiunii stocate și selectați gazda locală. Faceți clic pe Executare
4. Selectați opțiunile afișate mai jos în expertul care apare. Faceți clic pe următoare
5. Următorul ecran arată rezumatul obiectelor din diagrama noastră EER. DB-ul nostru MyFlix are 5 tabele. Păstrați setările implicite și faceți clic pe Următorul.
6 ... Apare fereastra de mai jos. Această fereastră vă permite să previzualizați scriptul SQL pentru a crea baza noastră de date. Putem salva scripturile într-un fișier * .sql "sau le putem copia în clipboard. Faceți clic pe butonul următor
7. Fereastra prezentată mai jos apare după crearea cu succes a bazei de date pe instanța de server MySQL selectată.
rezumat
- Crearea unei baze de date implică traducerea modelului de proiectare a bazei de date logice în baza de date fizică.
- MySQL acceptă o serie de tipuri de date pentru valori numerice, date și șiruri.
- Comanda CREATE DATABASE este utilizată pentru a crea o bază de date
- Comanda CREATE TABLE este utilizată pentru a crea tabele într-o bază de date
- MySQL workbench acceptă ingineria directă care implică generarea automată de scripturi SQL din modelul de bază de date logică care poate fi executat pentru a crea baza de date fizică
Baza de date împreună cu Dummy Data sunt atașate. Vom folosi acest DB pentru toate tutorialele noastre ulterioare. Importați simplu DB în MySQL Workbench pentru a începe
Faceți clic aici pentru a descărca MyFlixDB