MySQL Opprett tabell - Hvordan lage en database i MySQL

Innholdsfortegnelse:

Anonim

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

  1. Numerisk,
  2. Tekst
  3. 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