Hogyan lehet adatbázist létrehozni MySQL (Teremt MySQL táblázatok)
⚡ Okos összefoglaló
Adatbázis létrehozása benne MySQL két bevált utat követ: egy CREATE DATABASE utasítás végrehajtása, vagy fizikai sémák generálása egy ER modellből a MySQL Workbench előre tervezés. Mindkét megközelítés azonos, gyártásra kész táblázatokat hoz létre.

Az adatbázis létrehozásának lépései MySQL
Egy adatbázis MySQL egy elnevezett tároló táblázatok, nézetek és kapcsolódó objektumok számára. Kétféleképpen hozhat létre ilyet:
1) Egy egyszerű SQL lekérdezés végrehajtásával
2) Forward engineering használatával MySQL Workbench
As SQL kezdő, először nézzük meg a lekérdezési módszert.
Hogyan lehet adatbázist létrehozni MySQL
Így hozhat létre adatbázist MySQL:
A CREATE DATABASE az az SQL parancs, amely adatbázis létrehozására szolgál MySQL.
Képzeld el, hogy létre kell hoznod egy „filmek” nevű adatbázist. Létrehozhatsz egy adatbázist a következőben: MySQL a következő SQL parancs végrehajtásával.
CREATE DATABASE movies;
Megjegyzés: A CREATE DATABASE parancs helyett a CREATE SCHEMA parancsot is használhatja.
Az utasítás csak egyszer működik. Újra futtatása hibát dob, ezért javítsuk a lekérdezést további paraméterekkel.
HA NEM LÉTEZIK
Egyetlen MySQL Egy szerver sok adatbázist képes tárolni. Ha többen osztoznak a szerveren, megpróbálhat létrehozni egy adatbázist egy meglévő nevével.
HA NEM LÉTEZIK utasítja a MySQL a kiszolgálónak ellenőriznie kell, hogy létezik-e azonos nevű adatbázis a létrehozása előtt. Az adatbázis csak akkor jön létre, ha a név szabad; e záradék nélkül MySQL hibát dob.
CREATE DATABASE IF NOT EXISTS movies;
Miután az adatbázis neve biztonságossá vált, a következő döntés az, hogy hogyan MySQL tárolnia és összehasonlítania kell a benne lévő szöveget.
Leválogatás és karakterkészlet
A karakterkészlet eldönti, hogy egy oszlop mely karaktereket tárolhat, míg a egyeztetés a halmaza összehasonlításban használt szabályok és rendezés. Mindkettő négy szinten definiálható: szerver, adatbázis, tábla és oszlop.
A választott rendezettség a karakterkészlettől függ. Például a latin1 karakterkészlet a következőt használja: latin1_swedish_ci collation, ami a svéd kis- és nagybetűket megkülönböztető sorrend.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Helyi nyelvek, például arab vagy kínai esetén válassza az Unicode-ot. utf8mb4 karakterkészlet, amely minden Unicode karaktert tárol, beleértve az emojikat is. MySQL 8.0, utf8mb4 az alapértelmezett karakterkészlet, és utf8mb4_0900_ai_ci az alapértelmezett rendezés.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Megtalálhatja az összes leválogatást és karakterkészletet itt .
A meglévő adatbázisok listáját a következő SQL parancs futtatásával tekintheti meg.
SHOW DATABASES;
Miután elkészült az adatbázis, hozzáadhatja azokat a táblákat, amelyek a rekordokat fogják tartalmazni.
Hogyan készítsünk táblázatot MySQL
A CREATE TABLE parancsot táblázatok létrehozására használjuk egy adatbázisban.
Amint az ábra mutatja, minden tábla egy adatbázishoz tartozik. A táblák a következővel jönnek létre: TÁBLÁZAT LÉTREHOZÁSA utasítás, amelynek szintaxisa a következő.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
ITT
- A „CREATE TABLE” felelős a tábla létrehozásáért az adatbázisban.
- Az „[HA NEM LÉTEZIK]” opcionális, és csak akkor hozza létre a táblát, ha nem található egyező táblanév.
- A „`fieldName`” a mező neve, az „data Type” pedig a benne tárolt adatok jellegét határozza meg.
- Az „[opcionális paraméterek]” egy mezőre vonatkozó kiegészítő információk, például az „AUTO_INCREMENT” vagy a NOT NULL.
- A „storage Engine” kezeli a táblát, általában az InnoDB, amely támogatja a tranzakciókat és az idegen kulcsokat.
MySQL Példa táblázat létrehozása
Az alábbiakban a MySQL példa egy tábla létrehozására az adatbázisban:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `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;
Jegyzet: a helyes MySQL kulcsszó AUTO_INCREMENT aláhúzásjellel. AUTOINCREMENT hozzá tartozik SQLite és szintaktikai hibát okoz a MySQL.
Minden oszlophoz tartozik egy adattípus, ezért körültekintően válassz: ne becsüld alá, se túl a várt adattartományt.
MySQL Adattípusok
Az adattípusok határozzák meg az adatok jellegét, amelyek egy táblázat egy adott oszlopában tárolhatók.
MySQL több mint 3 az adattípusok főbb kategóriái, nevezetesen:
- Numerikus
- szöveg
- Dátum idő
Numerikus adattípusok
A numerikus adattípusok numerikus értékek tárolására szolgálnak. Nagyon fontos, hogy az adattartomány a kiválasztott numerikus adattípus alsó és felső határa között legyen.
| TINYINT( ) | -128-127 normál 0-tól 255-ig NÉLKÜL. |
| KICSIK ( ) | -32768-32767 normál 0-tól 65535-ig NÉLKÜL. |
| KÖZEPES ( ) | -8388608-8388607 normál 0-tól 16777215-ig NÉLKÜL. |
| INT( ) | -2147483648-2147483647 normál 0-tól 4294967295-ig NÉLKÜL. |
| BIGINT( ) | -9223372036854775808-9223372036854775807 normál 0-tól 18446744073709551615-ig NÉLKÜL. |
| ÚSZÓ | Kis hozzávetőleges szám lebegő tizedesvesszővel. |
| DUPLA( , ) | Nagy szám lebegő tizedesvesszővel. |
| DECIMÁLIS( , ) | Karakterláncként tárolt DUPLA, fix tizedesvessző elhelyezését lehetővé tevő érték. Pénznemértékek tárolására szolgáló lehetőség. |
Szöveges adattípusok
Ahogy az adattípus-kategória neve is sugallja, ezek szöveges értékek tárolására szolgálnak. Mindig ügyeljen arra, hogy a szöveges adatok hossza ne haladja meg az oszlop maximális hosszát.
| CHAR( ) | Rögzített szakasz 0 és 255 karakter között. |
| VARCHAR( ) | Változó szakasz 0 és 255 karakter között. |
| TINYTEXT | Maximum 255 karakter hosszúságú karakterlánc. |
| TEXT | Maximum 65535 karakter hosszúságú karakterlánc. |
| FOLT | Maximum 65535 karakter hosszúságú karakterlánc. |
| KÖZÉPSZÖVEG | Maximum 16777215 karakter hosszúságú karakterlánc. |
| KÖZEPES BLOB | Maximum 16777215 karakter hosszúságú karakterlánc. |
| HOSSZÚSZÖVEG | Maximum 4294967295 karakter hosszúságú karakterlánc. |
| LONGBLOB | Maximum 4294967295 karakter hosszúságú karakterlánc. |
Dátum és idő adattípusok
A dátum- és időadattípusok rögzített formátumban tárolják a naptár és az óra értékeit, ami megbízható rendezést és összehasonlítást tesz lehetővé.
| DÁTUM | ÉÉÉÉ-HH-NN |
| DÁTUM IDŐ | ÉÉÉÉ-HH-NN ÓÓ: HH: SS |
| IDŐBÉLYEG | ÉÉÉÉHHNNÓÓPPMM |
| IDŐ | ÓÓ: HH: SS |
Egyéb adattípusok
A fentieken kívül vannak más adattípusok is, mint például MySQL.
| ENUM | Előre definiált szöveges értékek listájából kiválasztott szöveges érték tárolása |
| SET | Ez az előre meghatározott szövegértékek listájából kiválasztott szövegértékek tárolására is szolgál. Több értéke is lehet. |
| BOOL | A TINYINT(1) szinonimája, a logikai értékek tárolására szolgál |
| kétkomponensű | Hasonló a CHAR-hoz; a különbség az, hogy a szövegek bináris formátumban tárolódnak. |
| VARBINÁRIS | Hasonló a VARCHAR-hoz; a különbség az, hogy a szövegek bináris formátumban tárolódnak. |
Most nézzünk egy lekérdezést, amely egy olyan tábla létrehozására szolgál, amely az összes adattípust használja. Tanulmányozzuk, és azonosítsuk, hogyan vannak definiálva az egyes adattípusok az alábbi create táblában. MySQL példa.
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;
Létrehozás legjobb gyakorlatai a MySQL adatbázis
Néhány konvenció segíti a szkriptek olvashatóságát:
- Használjon nagybetűket az SQL kulcsszavakhoz, például: „DROP SCHEMA IF EXISTS `MyFlixDB`;”
- Az összes SQL parancsot pontosvesszővel kell lezárni.
- Kerüld a szóközök használatát a séma-, tábla- és mezőnevekben. Ehelyett Használj aláhúzásjelet a séma-, tábla- vagy mezőnevek elválasztására.
- Új táblák esetén az InnoDB-t részesítsd előnyben a MyISAM-mal szemben, mivel az InnoDB támogatja a tranzakciókat, a sorszintű zárolást és az idegen kulcsokat.
A lekérdezési metódus befejeződött. A második útvonal ugyanazt az adatbázist éri el egy vizuális modellből, nem pedig kézzel írott SQL-ből.
Hogyan lehet létrehozni MySQL Munkapad ER Diagram Forward Engineering
MySQL Workbench olyan segédprogramokkal rendelkezik, amelyek támogatják az előrehaladó tervezést. Előre mérnöki az a szakkifejezés, amely leírja a folyamatot, logikai modell automatikus lefordítása fizikai megvalósítássá.
Létrehoztunk egy ER diagram miénkben ER modellezés lecke. Most ezt az ER modellt fogjuk használni az adatbázisunkat létrehozó SQL szkriptek generálásához.
A MyFlix adatbázis létrehozása a MyFlix ER modellből
1. lépés) Nyissa meg a MyFlix adatbázis ER modelljét amit korábban létrehoztál.
2. lépés) Válassza ki a továbbító mérnököt
Kattintson az Adatbázis menüre, és válassza a Forward Engineer lehetőséget.
3. lépés) Csatlakozási lehetőségek
A következő ablakban csatlakozhat egy példányhoz a következőből: MySQL szerver. Kattintson a tárolt kapcsolatok legördülő listájára, és válassza a helyi hoszt lehetőséget. Kattintson a Végrehajtás gombra.
4. lépés) Válassza ki az alább látható opciókat
Válassza ki az alábbi beállításokat a megjelenő varázslóban. Kattintson a Tovább gombra.
5. lépés) Tartsa meg az alapértelmezett beállításokat, és kattintson a Tovább gombra
A következő képernyő az EER diagramunkban található objektumok összefoglalását mutatja. A MyFlix adatbázisunk 5 táblázatot tartalmaz. Tartsa meg az alapértelmezett beállításokat, és kattintson a Tovább gombra.
Step 6) Revnézze meg az SQL-szkriptet
Az alábbi ablak előnézetben megtekintheti az adatbázisunkat létrehozó SQL szkriptet. Mentse el a szkriptet egy *.sql fájlba, vagy másolja a vágólapra, majd kattintson a Tovább gombra.
7. lépés) A haladás rögzítése
Az alábbi ablak jelenik meg, miután az adatbázis létrejött a kiválasztott helyen. MySQL szerverpéldány. Az ER modellből származó táblázatok most már fizikailag is léteznek a szerveren.
Az adatbázis a próbaadatokkal együtt csatolva van. Ezt az adatbázist fogjuk használni a következő leckékben. Egyszerűen importálja a következőbe: MySQL Munkapad az induláshoz.
Kattintson ide a MyFlixDB letöltéséhez







.png)