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.

  • 🗄️ Adatbázis létrehozása: Futtassa a CREATE DATABASE movies vagy a CREATE SCHEMA parancsot, amely a következőképpen működik: MySQL szinonimaként kezeli.
  • 🛡️ Biztonságos újrafutások: Adja hozzá az IF NOT EXISTS paramétert, hogy egy ismételt szkript kihagyja a létrehozást a duplikált név hibája helyett.
  • 🌐 Karakterkészlet: Többnyelvű adatokhoz válassza az utf8mb4 és az utf8mb4_0900_ai_ci kombinációt; a latin1 és a latin1_swedish_ci kombináció a hagyományos, csak angol nyelvű sémáknak felel meg.
  • 🧱 Táblázat létrehozása: A CREATE TABLE függvény definiálja az egyes mezők nevét, adattípusát, PRIMARY KEY-jét és a tárolómotort, amely általában az InnoDB.
  • 🔢 Adattípusok: Az oszloptípusok numerikus, szöveges és dátum- vagy időcsaládokba sorolhatók, valamint ENUM, SET, BOOL és bináris változatok is elérhetők.
  • 🇧🇷 Forward Engineering: MySQL A Workbench egy jóváhagyott ER-modellt végrehajtható SQL-szkriptekké alakít, és véglegesíti azokat egy élő szerveren.

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.

Táblázat létrehozása itt MySQL

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:

  1. Numerikus
  2. szöveg
  3. 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.

Előrehaladó mérnök kiválasztása MySQL Workbench

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.

Csatlakozási lehetőségek a továbbító mérnöki varázslóban

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.

Előrehaladási mérnöki lehetőségek a MyFlix adatbázishoz

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.

A MyFlix EER diagramján található objektumok összefoglalása

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.

A létrehozott SQL szkript előnézete

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.

Előrehaladott mérnöki véglegesítési folyamatablak

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

GYIK

Nincs különbség a MySQLA CREATE SCHEMA a CREATE DATABASE álneve, és mindkettő ugyanazt az objektumot építi fel. Más rendszerekben, például a Oracle, a séma és az adatbázis továbbra is különálló fogalmak.

Futtassa a DROP DATABASE IF EXISTS filmeket; a kliensről vagy a MySQL WorkbenchA parancs véglegesen törli az adatbázist és a benne lévő összes táblát, ezért először készítsen biztonsági másolatot.

A fiókhoz globális szinten CREATE jogosultság szükséges. A rendszergazdák ezt a GRANT CREATE ON *.* TO 'user'@'localhost'; jogosultsággal adják meg. E jogosultság nélkül a szerver hozzáférés megtagadva hibát ad vissza.

Igen. Az MI-asszisztensek az entitások egyszerű leírását kulcsokat és adattípusokat tartalmazó CREATE TABLE szkriptekké alakítják. A szkript éles szerveren való futtatása előtt mindig tekintse át a létrehozott típusokat, hosszokat és korlátozásokat.

A modern adatbázis-kliensek mesterséges intelligencia funkciói beolvassák az Ön adatait. ER diagram vagy lekérdezési előzményeket, és normalizálási javításokat, indexjelölteket és adattípus-korrekciókat javasol. A javaslatok felgyorsítják a tervek felülvizsgálatát, de egy ember továbbra is jóváhagy minden változtatást.

Foglald össze ezt a bejegyzést a következőképpen: