Kuinka luoda tietokanta sisään MySQL (Luoda MySQL Taulukot)

⚡ Älykäs yhteenveto

Tietokannan luominen sisään MySQL seuraa kahta hyväksi havaittua polkua: CREATE DATABASE -lausekkeen suorittaminen tai fyysisten skeemien luominen ER-mallista MySQL Työpöydän suunnittelu eteenpäin. Molemmat lähestymistavat tuottavat identtiset, tuotantovalmiit taulukot.

  • 🗄️ Tietokannan luominen: Suorita CREATE DATABASE -elokuvat tai CREATE SCHEMA, joka MySQL kohtelee synonyyminä.
  • 🛡️ Turvalliset uudelleenkäynnistykset: Lisää IF NOT EXISTS, jotta toistuva komentosarja ohittaa luonnin sen sijaan, että se aiheuttaisi kaksoisnimivirheen.
  • 🌐 Merkistö: Valitse utf8mb4 ja utf8mb4_0900_ai_ci monikielisille tiedoille; latin1 ja latin1_swedish_ci sopivat perinteisiin vain englanninkielisiin skeemoihin.
  • 🧱 Taulukon luominen: CREATE TABLE määrittää jokaisen kentän nimen, tietotyypin, PRIMARY KEY -avaimen ja tallennusmoottorin, yleensä InnoDB:n.
  • 🔢 Tietotyypit: Saraketyypit jaetaan numeerisiin, teksti- ja päivämäärä- tai aikaperheisiin sekä ENUM-, SET-, BOOL- ja binäärivariantteihin.
  • ⚙️ Eteenpäin suuntautunut suunnittelu: MySQL Workbench muuntaa hyväksytyn ER-mallin suoritettaviksi SQL-komentosarjoiksi ja vahvistaa ne live-palvelimelle.

Tietokannan luomisen vaiheet MySQL

Tietokanta MySQL on nimetty säilö taulukoille, näkymille ja niihin liittyville objekteille. Voit luoda sellaisen kahdella tavalla:

1) Suorittamalla yksinkertainen SQL-kysely

2) Käyttämällä eteenpäin suuntautuvaa suunnittelua MySQL Työpöytä

As SQL-aloittelija, tarkastellaan ensin kyselymenetelmää.

Kuinka luoda tietokanta sisään MySQL

Näin luot tietokannan MySQL:

CREATE DATABASE on SQL-komento, jota käytetään tietokannan luomiseen MySQL.

Kuvittele, että sinun on luotava tietokanta nimeltä ”elokuvat”. Voit luoda tietokannan kohdassa MySQL suorittamalla seuraavan SQL-komennon.

CREATE DATABASE movies;

Huomautus: Voit käyttää myös komentoa CREATE SCHEMA komentoa CREATE DATABASE -komennon sijaan.

Lauseke toimii vain kerran. Sen suorittaminen uudelleen aiheuttaa virheen, joten parannetaan kyselyä lisäämällä parametreja.

JOS EI OLE OLEMASSA

Yksi MySQL Palvelin voi sisältää useita tietokantoja. Kun useat ihmiset jakavat palvelimen, voit yrittää luoda tietokannan olemassa olevan nimellä.

JOS EI OLE OLEMASSA ohjeistaa MySQL palvelimen tarkistamaan samannimisen tietokannan olemassaolon ennen sen luomista. Tietokanta luodaan vain, jos nimi on vapaa; ilman tätä lauseketta MySQL antaa virheen.

CREATE DATABASE IF NOT EXISTS movies;

Kun tietokannan nimi on turvallinen, seuraavaksi päätetään, miten MySQL pitäisi tallentaa ja vertailla sen sisällä olevaa tekstiä.

Lajittelu ja merkistö

A merkistö määrittää, mitä merkkejä sarake voi tallentaa, kun taas a vertailu on joukko vertailussa käytetyt säännöt ja lajittelu. Molemmat voidaan määritellä neljällä tasolla: palvelin, tietokanta, taulukko ja sarake.

Valitsemasi lajittelu riippuu merkistöstä. Esimerkiksi latin1-merkistö käyttää latin1_swedish_ci lajittelu, joka on ruotsalainen kirjainkokoa huomioimaton järjestys.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Valitse paikallisille kielille, kuten arabialle tai kiinalle, Unicode utf8mb4 merkistö, joka tallentaa kaikki Unicode-merkit, mukaan lukien emojit. MySQL 8.0, utf8mb4 on oletusmerkistö ja utf8mb4_0900_ai_ci oletuslajittelu.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

Löydät luettelon kaikista lajitteluista ja merkistöistä täältä.

Voit tarkastella olemassa olevien tietokantojen luetteloa suorittamalla seuraavan SQL-komennon.

SHOW DATABASES;

Kun tietokanta on paikallaan, voit nyt lisätä taulukot, jotka todellisuudessa sisältävät tietueet.

Kuinka luoda taulukko sisään MySQL

CREATE TABLE -komentoa käytetään taulukoiden luomiseen tietokantaan.

Luo taulukko sisään MySQL

Kuten kaaviosta näkyy, jokainen taulukko kuuluu yhteen tietokantaan. Taulukot luodaan Luo taulukko lauseke, jolla on seuraava syntaksi.

CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

TÄÄLTÄ

  • ”CREATE TABLE” vastaa taulukon luomisesta tietokantaan.
  • ”[IF NOT EXISTS]” on valinnainen ja luo taulukon vain, jos vastaavaa taulukon nimeä ei löydy.
  • ”`fieldName`” on kentän nimi ja ”data Type” määrittää siihen tallennettujen tietojen luonteen.
  • ”[valinnaiset parametrit]” on kentän lisätietoja, kuten ”AUTO_INCREMENT” tai NOT NULL.
  • ”Storage Engine” hallinnoi taulukkoa, yleensä InnoDB, joka tukee tapahtumia ja viiteavaimia.

MySQL Luo esimerkkitaulukko

Alla on a MySQL esimerkki taulukon luomisesta tietokantaan:

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;

Huomautus: oikea MySQL avainsana on AUTO_INCREMENT alaviivalla. AUTOINCREMENT kuuluu SQLite ja aiheuttaa syntaksivirheen kohdassa MySQL.

Jokaisella sarakkeella on tietotyyppi, joten valitse huolellisesti: älä aliarvioi äläkä yliarvioi odottamaasi tietoaluetta.

MySQL Tietotyypit

Tietotyypit määrittelevät, minkä tyyppisiä tietoja voidaan tallentaa taulukon tiettyyn sarakkeeseen.

MySQL on 3 pääasialliset tietotyyppien luokat, nimittäin:

  1. Numeerinen
  2. teksti
  3. Treffiaika

Numeeriset tietotyypit

Numeerisia tietotyyppejä käytetään numeeristen arvojen tallentamiseen. On erittäin tärkeää varmistaa, että tietojesi alue on valitsemasi numeerisen tietotyypin ala- ja ylärajojen välissä.

TINYINT( ) -128 - 127 normaali
0 numeroon 255 ALLEKIRJOITTAMATTA.
PIENI ( ) -32768 - 32767 normaali
0 numeroon 65535 ALLEKIRJOITTAMATTA.
MEDIUMINT( ) -8388608 - 8388607 normaali
0 numeroon 16777215 ALLEKIRJOITTAMATTA.
INT( ) -2147483648 - 2147483647 normaali
0 numeroon 4294967295 ALLEKIRJOITTAMATTA.
BIGINT( ) -9223372036854775808 - 9223372036854775807 normaali
0 numeroon 18446744073709551615 ALLEKIRJOITTAMATTA.
FLOAT Pieni likimääräinen luku, jossa on kelluva desimaalipilkku.
DOUBLE( , ) Suuri luku, jossa on kelluva desimaalipilkku.
DESIMAALI( , ) Merkkijonona tallennettu KAKSINKERTAINEN, kiinteän desimaalipilkun sisältävä vaihtoehto. Valinta valuutta-arvojen tallentamiseen.

Tekstitietotyypit

Kuten tietotyypin luokan nimi viittaa, näitä käytetään tekstiarvojen tallentamiseen. Varmista aina, että tekstitietojesi pituus ei ylitä sarakkeen enimmäispituutta.

CHAR( ) Kiinteä osa, jonka pituus on 0–255 merkkiä.
VARCHAR( ) Muuttuva osa, jonka pituus on 0–255 merkkiä.
TINYTEKSTI Merkkijono, jonka enimmäispituus on 255 merkkiä.
TEKSTI Merkkijono, jonka enimmäispituus on 65535 merkkiä.
BLOB Merkkijono, jonka enimmäispituus on 65535 merkkiä.
MEDIUM TEKSTI Merkkijono, jonka enimmäispituus on 16777215 merkkiä.
MEDIUM BLOB Merkkijono, jonka enimmäispituus on 16777215 merkkiä.
PITKÄ TEKSTI Merkkijono, jonka enimmäispituus on 4294967295 merkkiä.
LONGBLOB Merkkijono, jonka enimmäispituus on 4294967295 merkkiä.

Päivämäärä- ja aikatietotyypit

Päivämäärä- ja aikatietotyypit tallentavat kalenteri- ja kelloarvot kiinteässä muodossa, mikä pitää lajittelun ja vertailun luotettavana.

DATE VVVV-KK-PP
TREFFIAIKA VVVV-KK-PP PP: KK: SS
AIKALEIMA vvvvkkppttmmss
AIKA HH: MM: SS

Muut tietotyypit

Yllä mainittujen lisäksi on olemassa joitakin muita tietotyyppejä, MySQL.

ENUM Tekstiarvon tallentaminen ennalta määritettyjen tekstiarvojen luettelosta
SARJA Tätä käytetään myös ennalta määritettyjen tekstiarvojen luettelosta valittujen tekstiarvojen tallentamiseen. Sillä voi olla useita arvoja.
BOOL Synonyymi sanalle TINYINT(1), jota käytetään Boolen arvojen tallentamiseen
BINÄÄRI Samanlainen kuin CHAR; ero on siinä, että tekstit tallennetaan binäärimuodossa.
VARBINAARINEN Samanlainen kuin VARCHAR; ero on siinä, että tekstit tallennetaan binäärimuodossa.

Katsotaanpa nyt kyselyä taulukon luomiseksi, joka käyttää kaikkia tietotyyppejä. Tutki sitä ja tunnista, miten kukin tietotyyppi on määritelty alla olevassa luontitaulukossa. MySQL esimerkki.

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;

Parhaat käytännöt luomiseen a MySQL tietokanta

Muutamat käytännöt pitävät skriptisi luettavina:

  • Käytä SQL-avainsanoissa isoja kirjaimia, esim. “DROP SCHEMA IF EXISTS `MyFlixDB`;”
  • Lopeta kaikki SQL-komennot puolipisteillä.
  • Vältä välilyöntien käyttöä skeemien, taulukoiden ja kenttien nimissä. Käytä sen sijaan alaviivoja erottamaan skeemien, taulukoiden tai kenttien nimet.
  • Suosi InnoDB:tä MyISAMin sijaan uusille taulukoille, koska InnoDB tukee tapahtumia, rivitason lukitusta ja viiteavaimia.

Kyselymetodi on valmis. Toinen reitti saavuttaa saman tietokannan visuaalisen mallin kautta käsin kirjoitetun SQL:n sijaan.

Kuinka luoda MySQL Työpöydän ER-kaavio Forward Engineering

MySQL Työpöytä on apuohjelmia, jotka tukevat eteenpäin suuntautuvaa suunnittelua. Suunnittelu eteenpäin on tekninen termi, joka kuvaa prosessia, jossa loogisen mallin automaattinen kääntäminen fyysiseksi toteutukseksi.

Loimme an ER-kaavio meidän ER-mallinnus oppitunti. Käytämme nyt tätä ER-mallia luodaksemme SQL-skriptit, jotka luovat tietokantaamme.

MyFlix-tietokannan luominen MyFlix ER -mallista

Vaihe 1) Avaa MyFlix-tietokannan ER-malli jonka loit aiemmin.

Vaihe 2) Valitse eteenpäinohjaaja

Napsauta Tietokanta-valikkoa ja valitse Eteenpäin insinööri.

Valitse eteenpäin suuntautuva insinööri MySQL Työpöytä

Vaihe 3) Yhteysvaihtoehdot

Seuraavassa ikkunassa voit muodostaa yhteyden instanssiin MySQL palvelin. Napsauta tallennettujen yhteyksien avattavaa luetteloa ja valitse paikallinen isäntä. Napsauta Suorita.

Yhteysvaihtoehdot eteenpäin suuntautuvan suunnittelun ohjatussa toiminnossa

Vaihe 4) Valitse alla näkyvät vaihtoehdot

Valitse avautuvassa ohjatussa toiminnossa alla näkyvät vaihtoehdot. Napsauta Seuraava.

MyFlix-tietokannan välitysinsinöörin vaihtoehdot

Vaihe 5) Pidä valinnat oletusarvoisina ja napsauta Seuraava

Seuraava näyttö näyttää EER-kaaviomme objektien yhteenvedon. MyFlix-tietokannassamme on viisi taulukkoa. Pidä valinnat oletusarvoisina ja napsauta Seuraava.

Yhteenveto MyFlixin EER-kaavion kohteista

Vaihe 6) Revkatso SQL-skripti

Alla oleva ikkuna esikatselee SQL-skriptiä, joka luo tietokannan. Tallenna skripti *.sql-tiedostona tai kopioi se leikepöydälle ja napsauta sitten Seuraava.

Luodun SQL-skriptin esikatselu

Vaihe 7) Vahvista edistyminen

Alla oleva ikkuna tulee näkyviin, kun tietokanta on luotu valitulle palvelimelle. MySQL palvelininstanssi. ER-mallin taulukot ovat nyt fyysisesti palvelimella.

Eteenpäin suunnittelun vahvistamisen edistymisikkuna

Tietokanta ja harjoitustiedot on liitetty. Käytämme tätä tietokantaa seuraavilla oppitunneilla. Tuo se vain sisään MySQL Työpöytä aloittamiseen.

Lataa MyFlixDB napsauttamalla tätä

UKK

Ei ole mitään eroa MySQLCREATE SCHEMA on CREATE DATABASE -alias, ja molemmat rakentavat saman objektin. Muissa järjestelmissä, kuten Oracle, skeema ja tietokanta pysyvät erillisinä käsitteinä.

Suorita DROP DATABASE IF EXISTS -elokuvat; asiakasohjelmasta tai MySQL TyöpöytäKomento poistaa pysyvästi tietokannan ja kaikki sen sisällä olevat taulukot, joten ota ensin varmuuskopio.

Tili tarvitsee CREATE-oikeuden globaalilla tasolla. Ylläpitäjät myöntävät sen GRANT CREATE ON *.* TO 'user'@'localhost'; -oikeudella. Ilman tätä oikeutta palvelin palauttaa käyttö estetty -virheen.

Kyllä. Tekoälyavustajat muuttavat entiteettiesi yksinkertaisen kuvauksen CREATE TABLE -skripteiksi, jotka sisältävät avaimet ja tietotyypit. Tarkista aina luodut tyypit, pituudet ja rajoitteet ennen skriptin suorittamista tuotantopalvelimella.

Nykyaikaisten tietokantaohjelmien tekoälyominaisuudet lukevat ER-kaavio tai kyselyhistoriaa ja ehdottaa normalisointikorjauksia, indeksiehdokkaita ja tietotyyppikorjauksia. Ehdotukset nopeuttavat suunnittelun tarkistuksia, mutta ihminen hyväksyy silti jokaisen muutoksen.

Tiivistä tämä viesti seuraavasti: