Trin til oprettelse af database i MySQL
Opret database på to måder
1) Ved at udføre en simpel SQL-forespørgsel
2) Ved at bruge fremadrettet teknik i MySQL Workbench
I denne SQL-tutorial lærer du-
- Sådan oprettes en database
- Sådan oprettes en tabel i MySQL
- Datatyper
- MySQL workbench ER diagram fremad Engineering
Som nybegynder for SQL, lad os først undersøge forespørgselsmetoden.
Sådan oprettes en database
Sådan oprettes en database i MySQL:
CREATE DATABASE er den SQL-kommando, der bruges til at oprette en database i MySQL.
Forestil dig, at du skal oprette en database med navnet "film". Du kan oprette en database i MySQL ved at udføre følgende SQL-kommando.
CREATE DATABASE movies;
Bemærk: Du kan også bruge kommandoen CREATE SCHEMA i stedet for CREATE DATABASE
Lad os nu forbedre vores SQL-forespørgsel ved at tilføje flere parametre og specifikationer.
HVIS IKKE eksisterer
En enkelt MySQL-server kunne have flere databaser. Hvis du ikke er den eneste, der får adgang til den samme MySQL-server, eller hvis du skal håndtere flere databaser, er der en sandsynlighed for at forsøge at oprette en ny database med navnet på en eksisterende database. HVIS IKKE EKSISTER, kan du instruere MySQL-serveren om at kontrollere eksistensen af en database med et lignende navn, inden du opretter en database.
Når HVIS IKKE EKSISTER bruges, oprettes der kun database, hvis fornavnet ikke er i konflikt med en eksisterende databases navn. Uden brug af IF NOT EXISTS kaster MySQL en fejl.
CREATE DATABASE IF NOT EXISTS movies;
Sortering og tegnsæt
Sortering er et sæt regler, der bruges i sammenligning. Mange mennesker bruger MySQL til at gemme andre data end engelsk. Data gemmes i MySQL ved hjælp af et specifikt tegnsæt. Tegnsættet kan defineres på forskellige niveauer, nemlig server, database, tabel og kolonner.
Du skal vælge reglerne for sortering, som igen afhænger af det valgte tegnsæt.
For eksempel bruger Latin1-tegnsættet
latin1_swedish_ci
sortering, som er den svenske sagfølsomme rækkefølge.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
Den bedste praksis, når du bruger lokale sprog som arabisk, kinesisk osv., Er at vælge Unicode (utf-8) tegnsæt, der har flere sorteringer eller bare holde sig til standard sortering utf8-general-ci.
Du kan finde listen over alle sorteringer og tegnsæt her
Du kan se listen over eksisterende databaser ved at køre efter SQL-kommando.
SHOW DATABASES
Sådan oprettes en tabel i MySQL
CREATE TABLE-kommandoen bruges til at oprette tabeller i en database
Tabeller kan oprettes ved hjælp af CREATE TABLE- sætningen, og den har faktisk følgende syntaks.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
HER
- "Opret TABEL" er den, der er ansvarlig for oprettelsen af tabellen i databasen.
- "[IF NOT EXISTS]" er valgfri og opret kun tabellen, hvis der ikke findes noget matchende tabelnavn.
- "" feltnavn "" er navnet på feltet, og "datatype" definerer arten af de data, der skal gemmes i feltet.
- "[valgfrie parametre]" yderligere oplysninger om et felt såsom "AUTO_INCREMENT", IKKE NULL osv.
MySQL Opret tabeleksempel
Nedenfor er et MySQL-eksempel til oprettelse af en tabel i databasen:
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;
Lad os nu se, hvad MySQL's datatyper er. Du kan bruge en hvilken som helst af dem afhængigt af dit behov. Du bør altid prøve at ikke undervurdere eller overvurdere potentielt dataområde, når du opretter en database.
DATATYPER
Datatyper definerer arten af de data, der kan lagres i en bestemt kolonne i en tabel
MySQL har 3 hovedkategorier af datatyper, nemlig
- Numerisk,
- Tekst
- Dato tid.
Numeriske datatyper
Numeriske datatyper bruges til at gemme numeriske værdier. Det er meget vigtigt at sikre, at rækkevidden af dine data ligger mellem de nedre og øvre grænser for numeriske datatyper.
TINYINT () | -128 til 127 normale 0 til 255 UNSIGNED. |
SMALLINT () | -32768 til 32767 normal 0 til 65535 UNSIGNED. |
MEDIUMINT () | -8388608 til 8388607 normal 0 til 16777215 UNSIGNED. |
INT () | -2147483648 til 2147483647 normal 0 til 4294967295 UNSIGNED. |
BIGINT () | -9223372036854775808 til 9223372036854775807 normal 0 til 18446744073709551615 UNSIGNED. |
FLYDE | Et lille omtrentligt tal med et flydende decimaltegn. |
DOBBELT( , ) | Et stort tal med et flydende decimaltegn. |
DECIMAL (,) | EN DOBBEL gemt som en streng, hvilket giver mulighed for et fast decimaltegn. Valg til lagring af valutaværdier. |
Tekstdatatyper
Som datatypekategorienavn antyder, bruges disse til at gemme tekstværdier. Sørg altid for, at længden af dine tekstdata ikke overstiger den maksimale længde.
CHAR () | Et fast afsnit fra 0 til 255 tegn. |
VARCHAR () | Et variabelt afsnit fra 0 til 255 tegn. |
TINYTEXT | En streng med en maksimal længde på 255 tegn. |
TEKST | En streng med en maksimal længde på 65535 tegn. |
BLOB | En streng med en maksimal længde på 65535 tegn. |
MEDIUMTEXT | En streng med en maksimal længde på 16777215 tegn. |
MEDIUMBLOB | En streng med en maksimal længde på 16777215 tegn. |
LONGTEXT | En streng med en maksimal længde på 4294967295 tegn. |
LONGBLOB | En streng med en maksimal længde på 4294967295 tegn. |
Dato tid
DATO | ÅÅÅÅ-MM-DD |
DATO TID | ÅÅÅÅ-MM-DD HH: MM: SS |
TIDSSTEMPEL | ÅÅÅÅMMDDHHMMSS |
TID | HH: MM: SS |
Bortset fra oven er der nogle andre datatyper i MySQL.
ENUM | At gemme tekstværdi valgt fra en liste med foruddefinerede tekstværdier |
SÆT | Dette bruges også til lagring af tekstværdier valgt fra en liste med foruddefinerede tekstværdier. Det kan have flere værdier. |
BOOL | Synonym for TINYINT (1), bruges til at gemme boolske værdier |
BINÆR | I lighed med CHAR er forskellen, at tekster er gemt i binært format. |
VARBINÆR | I lighed med VARCHAR er forskellen, at tekster er gemt i binært format. |
Lad os nu se en forespørgsel til oprettelse af en tabel, der indeholder data af alle datatyper. Undersøg det og identificer, hvordan hver datatype defineres i MySQL-eksemplet nedenfor, opret tabel.
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 ;
Bedste praksis
- Brug store bogstaver til SQL-nøgleord, dvs. "DROP SCHEMA IF EXISTS` MyFlixDB`; "
- Afslut alle dine SQL-kommandoer ved hjælp af semikolon.
- Undgå at bruge mellemrum i skema-, tabel- og feltnavne. Brug understregninger i stedet for at adskille skema-, tabel- eller feltnavne.
MySQL workbench ER diagram forward engineering
MySQL workbench har hjælpeprogrammer, der understøtter fremadrettet teknik. Fremadrettet teknik er et teknisk udtryk er at beskrive processen med automatisk at oversætte en logisk model til et fysisk redskab .
Vi oprettede et ER-diagram på vores ER-modelleringsvejledning. Vi bruger nu den ER-model til at generere de SQL-scripts, der opretter vores database.
Oprettelse af MyFlix-databasen fra MyFlix ER-modellen
1. Åbn ER-modellen for MyFlix-databasen, som du oprettede i den tidligere selvstudie.
2. Klik på databasemenuen. Vælg fremadrettet ingeniør
3. I det næste vindue kan du oprette forbindelse til en forekomst af MySQL-serveren. Klik på den gemte forbindelses rulleliste, og vælg lokal vært. Klik på Udfør
4. Vælg indstillingerne vist nedenfor i guiden, der vises. Klik på næste
5. Det næste skærmbillede viser oversigten over objekter i vores EER-diagram. Vores MyFlix DB har 5 tabeller. Hold valgene standard, og klik på Næste.
6 ... Vinduet vist nedenfor vises. Dette vindue giver dig mulighed for at forhåndsvise SQL-scriptet for at oprette vores database. Vi kan gemme scripts til en * .sql "-fil eller kopiere scripts til udklipsholderen. Klik på næste knap
7. Nedenstående vindue vises efter succesfuld oprettelse af databasen på den valgte MySQL-serverforekomst.
Resumé
- Oprettelse af en database indebærer oversættelse af den logiske databasedesignmodel til den fysiske database.
- MySQL understøtter et antal datatyper til numeriske værdier, datoer og strengværdier.
- CREATE DATABASE-kommandoen bruges til at oprette en database
- CREATE TABLE-kommandoen bruges til at oprette tabeller i en database
- MySQL workbench understøtter fremadrettet teknik, som involverer automatisk generering af SQL-scripts fra den logiske databasemodel, der kan udføres for at oprette den fysiske database
Databasen sammen med Dummy Data er vedhæftet. Vi bruger denne DB til alle vores yderligere tutorials. Simpel import af DB i MySQL Workbench for at komme i gang
Klik her for at downloade MyFlixDB