Fremgangsmåte for å opprette database i MySQL
Opprett database på to måter
1) Ved å utføre et enkelt SQL-spørsmål
2) Ved å bruke fremoverteknikk i MySQL Workbench
I denne SQL-opplæringen vil du lære-
- Hvordan lage database
- Hvordan lage bord i MySQL
- Datatyper
- MySQL arbeidsbenk ER diagram fremover Engineering
Som nybegynner av SQL, la oss se på spørringsmetoden først.
Hvordan lage database
Slik oppretter du en database i MySQL:
CREATE DATABASE er SQL-kommandoen som brukes til å opprette en database i MySQL.
Tenk deg at du må opprette en database med navnet "filmer". Du kan opprette en database i MySQL ved å utføre følgende SQL-kommando.
CREATE DATABASE movies;
Merk: du kan også bruke kommandoen CREATE SCHEMA i stedet for CREATE DATABASE
La oss nå forbedre SQL-spørringen vår ved å legge til flere parametere og spesifikasjoner.
HVIS IKKE eksisterer
En enkelt MySQL-server kan ha flere databaser. Hvis du ikke er den eneste som får tilgang til den samme MySQL-serveren, eller hvis du må håndtere flere databaser, er det sannsynligheten for å prøve å opprette en ny database med navnet på en eksisterende database. HVIS IKKE EKSISTER, kan du instruere MySQL-serveren om å kontrollere eksistensen av en database med et lignende navn før du oppretter en database.
Når HVIS IKKE EKSISTER brukes, opprettes database bare hvis fornavn ikke er i konflikt med navnet på en eksisterende database. Uten bruk av IF NOT EXISTS kaster MySQL en feil.
CREATE DATABASE IF NOT EXISTS movies;
Sortering og tegnsett
Sortering er et sett med regler som brukes i sammenligning. Mange bruker MySQL til å lagre andre data enn engelsk. Data lagres i MySQL ved hjelp av et bestemt tegnsett. Tegnsettet kan defineres på forskjellige nivåer, nemlig server, database, tabell og kolonner.
Du må velge reglene for sortering som igjen avhenger av det valgte tegnsettet.
For eksempel bruker Latin1 tegnsettet
latin1_swedish_ci
sortering som er den svenske store og små bokstaver.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
Den beste fremgangsmåten når du bruker lokale språk som arabisk, kinesisk osv. Er å velge tegnsett Unicode (utf-8) som har flere sorteringer eller bare holde fast ved standard sortering utf8-general-ci.
Du finner listen over alle sorteringer og tegnsett her
Du kan se listen over eksisterende databaser ved å kjøre følgende SQL-kommando.
SHOW DATABASES
Hvordan lage bord i MySQL
CREATE TABLE-kommandoen brukes til å lage tabeller i en database
Tabeller kan opprettes ved hjelp av CREATE TABLE- setningen, og den har faktisk følgende syntaks.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
HER
- "CREATE TABLE" er den som er ansvarlig for opprettelsen av tabellen i databasen.
- "[IF NOT EXISTS]" er valgfritt, og opprett bare tabellen hvis det ikke finnes noe samsvarende tabellnavn.
- "" feltnavn "" er navnet på feltet og "datatype" definerer arten til dataene som skal lagres i feltet.
- "[valgfrie parametere]" tilleggsinformasjon om et felt som "AUTO_INCREMENT", NOT NULL etc.
MySQL Create Table Eksempel
Nedenfor er et MySQL-eksempel for å lage en tabell 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;
La oss nå se hva datatypene til MySQL er. Du kan bruke hvilken som helst av dem avhengig av ditt behov. Du bør alltid prøve å ikke undervurdere eller overvurdere potensielt dataområde når du oppretter en database.
DATATYPER
Datatyper definerer naturen til dataene som kan lagres i en bestemt kolonne i en tabell
MySQL har tre hovedkategorier av datatyper, nemlig
- Numerisk,
- Tekst
- Dato tid.
Numeriske datatyper
Numeriske datatyper brukes til å lagre numeriske verdier. Det er veldig viktig å sørge for at rekkevidden til dataene dine er mellom nedre og øvre grenser for numeriske datatyper.
TINYINT () | -128 til 127 normal 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. |
STOR () | -9223372036854775808 til 9223372036854775807 normal 0 til 18446744073709551615 UNSIGNED. |
FLYTE | Et lite omtrentlig tall med et flytende desimaltegn. |
DOBBELT (,) | Et stort tall med et flytende desimaltegn. |
DESIMAL( , ) | EN DOBBEL lagret som en streng, noe som gir et fast desimaltegn. Valg for lagring av valutaverdier. |
Tekstdatatyper
Som datatypekategorienavn antyder, brukes disse til å lagre tekstverdier. Forsikre deg alltid om at lengden på tekstdataene ikke overskrider maksimale lengder.
CHAR () | En fast seksjon på fra 0 til 255 tegn. |
VARCHAR () | En variabel seksjon fra 0 til 255 tegn. |
TINYTEXT | En streng med en maksimal lengde på 255 tegn. |
TEKST | En streng med en maksimal lengde på 65535 tegn. |
BLOB | En streng med en maksimal lengde på 65535 tegn. |
MEDIUMTEXT | En streng med en maksimal lengde på 16777215 tegn. |
MEDIUMBLOB | En streng med en maksimal lengde på 16777215 tegn. |
LONGTEXT | En streng med en maksimal lengde på 4294967295 tegn. |
LONGBLOB | En streng med en maksimal lengde på 4294967295 tegn. |
Dato tid
DATO | ÅÅÅÅ-MM-DD |
DATO TID | ÅÅÅÅ-MM-DD HH: MM: SS |
TIDSTEMPEL | ÅÅÅÅMMDDHHMMSS |
TID | HH: MM: SS |
Bortsett fra ovenfor er det noen andre datatyper i MySQL.
ENUM | For å lagre tekstverdi valgt fra en liste over forhåndsdefinerte tekstverdier |
SETT | Dette brukes også til å lagre tekstverdier valgt fra en liste over forhåndsdefinerte tekstverdier. Det kan ha flere verdier. |
BOOL | Synonym for TINYINT (1), brukes til å lagre boolske verdier |
BINAR | I likhet med CHAR er forskjellen at tekster lagres i binært format. |
VARBINÆR | I likhet med VARCHAR er forskjellen at tekster lagres i binært format. |
La oss nå se et spørsmål om å lage en tabell som har data av alle datatyper. Studer den og identifiser hvordan hver datatype er definert i MySQL-eksemplet nedenfor.
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 ;
Beste praksis
- Bruk store bokstaver for SQL-nøkkelord, dvs. "DROP SCHEMA IF EXISTS` MyFlixDB`; "
- Avslutt alle SQL-kommandoene dine ved hjelp av semikolon.
- Unngå å bruke mellomrom i skjema-, tabell- og feltnavn. Bruk understreker i stedet for å skille skjema-, tabell- eller feltnavn.
MySQL arbeidsbenk ER diagram fremover engineering
MySQL arbeidsbenk har verktøy som støtter fremover engineering. Forward engineering er et teknisk begrep er å beskrive prosessen med å oversette en logisk modell til et fysisk redskap automatisk .
Vi opprettet et ER-diagram på vår ER-modelleringsveiledning. Vi vil nå bruke den ER-modellen til å generere SQL-skriptene som vil opprette databasen vår.
Opprette MyFlix-databasen fra MyFlix ER-modellen
1. Åpne ER-modellen til MyFlix-databasen som du opprettet i tidligere opplæring.
2. Klikk på databasemenyen. Velg fremoveringeniør
3. I neste vindu kan du koble til en forekomst av MySQL-serveren. Klikk på rullegardinlisten for den lagrede tilkoblingen, og velg lokal vert. Klikk på Utfør
4. Velg alternativene som vises nedenfor i veiviseren som vises. Klikk på neste
5. Det neste skjermbildet viser sammendraget av objekter i vårt EER-diagram. MyFlix DB har 5 bord. Hold valgene standard og klikk på Neste.
6 ... Vinduet vist nedenfor vises. Dette vinduet lar deg forhåndsvise SQL-skriptet for å opprette databasen vår. Vi kan lagre skriptene i en * .sql-fil eller kopiere skriptene til utklippstavlen. Klikk på neste knapp
7. Vinduet som vises nedenfor vises etter at du har opprettet databasen på den valgte MySQL-serverforekomsten.
Sammendrag
- Å lage en database innebærer å oversette den logiske databasedesignmodellen til den fysiske databasen.
- MySQL støtter en rekke datatyper for numeriske verdier, datoer og strenger.
- CREATE DATABASE-kommandoen brukes til å opprette en database
- CREATE TABLE-kommandoen brukes til å lage tabeller i en database
- MySQL arbeidsbenk støtter fremover engineering som innebærer automatisk generering av SQL-skript fra den logiske databasemodellen som kan utføres for å opprette den fysiske databasen
Databasen sammen med Dummy Data er vedlagt. Vi bruker denne DB for alle våre videre veiledninger. Bare importer DB i MySQL Workbench for å komme i gang
Klikk her for å laste ned MyFlixDB