Hoe u een database kunt maken in MySQL (Creëren MySQL Tabellen)

Stappen om een ​​database aan te maken MySQL

Database op twee manieren maken

1) Door een eenvoudige SQL-query uit te voeren

2) Door gebruik te maken van voorwaartse engineering MySQL Werkbank

As SQL-beginnerLaten we eerst eens kijken naar de querymethode.

Hoe u een database kunt maken in MySQL

Hier ziet u hoe u een database kunt maken MySQL:

CREATE DATABASE is de SQL-opdracht die wordt gebruikt voor het maken van een database MySQL.

Stel je voor dat je een database moet maken met de naam 'films'. U kunt een database aanmaken in MySQL door de volgende SQL-opdracht uit te voeren.

CREATE DATABASE movies;

Let op: u kunt ook het commando CREATE SCHEMA gebruiken in plaats van CREATE DATABASE

Laten we nu onze SQL-query verbeteren door meer parameters en specificaties toe te voegen.

ALS NIET BESTAAT

Een MySQL server kan meerdere databases hebben. Als u niet de enige bent die toegang heeft tot hetzelfde MySQL server of als u met meerdere databases te maken heeft, bestaat de kans dat u probeert een nieuwe database te maken met de naam van een bestaande database. ALS NIET BESTAAT laat je instrueren MySQL server om het bestaan ​​van een database met een vergelijkbare naam te controleren voordat u de database aanmaakt.

. ALS NIET BESTAAT De gebruikte database wordt alleen aangemaakt als de opgegeven naam niet conflicteert met de naam van een bestaande database. Zonder het gebruik van ALS NIET BESTAAT MySQL geeft een fout.

CREATE DATABASE IF NOT EXISTS movies;

Sortering en karakterset

Vergelijking is ingesteld regels die in vergelijking worden gebruikt.Veel mensen gebruiken MySQL om andere gegevens dan Engels op te slaan. Gegevens worden opgeslagen in MySQL met behulp van een specifieke tekenset. De tekenset kan op verschillende niveaus worden gedefinieerd, namelijk server, database, tabel en kolommen.

U moet de sorteerregels selecteren, die op hun beurt afhankelijk zijn van de gekozen tekenset.

De tekenset Latin1 gebruikt bijvoorbeeld de latin1_swedish_ci sortering, de Zweedse hoofdletterongevoelige volgorde.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

De beste praktijk bij het gebruik van lokale talen zoals Arabisch, Chinees enz. is het selecteren van de Unicode-tekenset (utf-8) die verschillende sorteringen heeft, of gewoon vasthouden aan de standaardsortering utf8-general-ci.

U kunt de lijst met alle sorteringen en tekensets vinden hier

U kunt een lijst met bestaande databases bekijken door de volgende SQL-opdracht uit te voeren.

SHOW DATABASES

Hoe u een tabel maakt in MySQL

De opdracht CREATE TABLE wordt gebruikt om tabellen in een database te maken

Tabel maken in MySQL

Tabellen kunnen worden gemaakt met behulp van MAAK EEN TABEL statement en het heeft eigenlijk de volgende syntaxis.

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

HIER

  • “CREATE TABLE” is degene die verantwoordelijk is voor het maken van de tabel in de database.
  • “[IF NOT EXISTS]” is optioneel en maak de tabel alleen aan als er geen overeenkomende tabelnaam wordt gevonden.
  • “`fieldName`” is de naam van het veld en “datatype” definieert de aard van de gegevens die in het veld moeten worden opgeslagen.
  • “[optionele parameters]” aanvullende informatie over een veld zoals ” AUTO_INCREMENT” , NOT NULL etc.

MySQL Tabelvoorbeeld maken

Hieronder is een MySQL voorbeeld om een ​​tabel in de database te maken:

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;

Laten we nu eens kijken wat de MySQL's gegevenstypen zijn. U kunt ze allemaal gebruiken, afhankelijk van uw behoefte. Bij het maken van een database moet u altijd proberen het potentiële gegevensbereik niet te onderschatten of te overschatten.

GEGEVENSTYPEN

Gegevenstypen definiëren de aard van de gegevens die in een bepaalde kolom van een tabel kunnen worden opgeslagen

MySQL heeft 3 hoofdcategorieën van gegevenstypen namelijk

  1. Numeriek,
  2. Tekst
  3. Datum Tijd.

Numerieke gegevenstypen

Numerieke gegevenstypen worden gebruikt om numerieke waarden op te slaan. Het is erg belangrijk om ervoor te zorgen dat het bereik van uw gegevens zich tussen de onder- en bovengrenzen van numerieke gegevenstypen bevindt.

KLEININT( ) -128 tot 127 normaal
0 tot 255 NIET ONDERTEKEND.
KLEINEINT( ) -32768 tot 32767 normaal
0 tot 65535 NIET ONDERTEKEND.
GEMIDDELD( ) -8388608 tot 8388607 normaal
0 tot 16777215 NIET ONDERTEKEND.
INT() -2147483648 tot 2147483647 normaal
0 tot 4294967295 NIET ONDERTEKEND.
BIGINT( ) -9223372036854775808 tot 9223372036854775807 normaal
0 tot 18446744073709551615 NIET ONDERTEKEND.
FLOAT Een klein getal bij benadering met een zwevende komma.
DUBBEL( , ) Een groot getal met een zwevende komma.
DECIMAAL( , ) Een DOUBLE opgeslagen als een string, waardoor een vast decimaal punt mogelijk is. Keuze voor het opslaan van valutawaarden.

Typen tekstgegevens

Zoals de categorienaam van het gegevenstype impliceert, worden deze gebruikt om tekstwaarden op te slaan. Zorg er altijd voor dat de lengte van uw tekstuele gegevens de maximale lengte niet overschrijdt.

TEKEN( ) Een vast gedeelte van 0 tot 255 tekens lang.
VARCHAR( ) Een variabel gedeelte van 0 tot 255 tekens lang.
KLEINE TEKST Een tekenreeks met een maximale lengte van 255 tekens.
TEKST Een tekenreeks met een maximale lengte van 65535 tekens.
BLOB Een tekenreeks met een maximale lengte van 65535 tekens.
MEDIUMTEKST Een tekenreeks met een maximale lengte van 16777215 tekens.
MEDIUM BLOB Een tekenreeks met een maximale lengte van 16777215 tekens.
LANGE TEKST Een tekenreeks met een maximale lengte van 4294967295 tekens.
LANGBLOB Een tekenreeks met een maximale lengte van 4294967295 tekens.

Datum Tijd

DATUM YYYY-MM-DD
DATUM TIJD JJJJ-MM-DD UU:MM:SS
TIJDSTAMP JJJJMMDDUUMMSS
TIJD HH: MM: SS

Naast het bovenstaande zijn er nog enkele andere gegevenstypen MySQL.

ENUM Voor het opslaan van tekstwaarde gekozen uit een lijst met vooraf gedefinieerde tekstwaarden
SET Dit wordt ook gebruikt voor het opslaan van tekstwaarden gekozen uit een lijst met vooraf gedefinieerde tekstwaarden. Het kan meerdere waarden hebben.
BOOL Synoniem voor TINYINT(1), gebruikt om Booleaanse waarden op te slaan
BINARY Net als bij CHAR is het verschil dat teksten in binair formaat worden opgeslagen.
VARBINAIR Net als bij VARCHAR is het verschil dat teksten in binair formaat worden opgeslagen.

Laten we nu een query bekijken voor het maken van een tabel die gegevens van alle gegevenstypen bevat. Bestudeer het en identificeer hoe elk gegevenstype is gedefinieerd in de onderstaande tabel voor het maken van gegevens MySQL voorbeeld.

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 praktijken

  • Gebruik hoofdletters voor SQL-trefwoorden, bijvoorbeeld “DROP SCHEMA IF EXISTS `MyFlixDB`;”
  • Beëindig al uw SQL-opdrachten met puntkomma's.
  • Vermijd het gebruik van spaties in schema-, tabel- en veldnamen. Gebruik in plaats daarvan onderstrepingstekens om schema-, tabel- of veldnamen van elkaar te scheiden.

Hoe maak je MySQL werkbank ER-diagram voorwaartse engineering

MySQL werkbank heeft hulpprogramma's die forward engineering ondersteunen. Voorwaartse techniek is een technische term die het proces beschrijft het automatisch vertalen van een logisch model naar een fysiek werktuig.

We hebben een gemaakt ER-diagram op onze Zelfstudie over ER-modellering. We zullen dat ER-model nu gebruiken om de SQL-scripts te genereren die onze database zullen creëren.

De MyFlix-database maken vanuit het MyFlix ER-model

Stap 1) Open ER-model van MyFlix-database

Open het ER-model van de MyFlix-database dat u in een eerdere zelfstudie hebt gemaakt.

Stap 2) Selecteer voorwaartse ingenieur

Klik op het databasemenu. Selecteer voorwaartse ingenieur

creëren MySQL werkbank ER-diagram

Stap 3) Verbindingsopties

In het volgende venster kunt u verbinding maken met een exemplaar van MySQL server. Klik op de vervolgkeuzelijst met opgeslagen verbindingen en selecteer lokale host. Klik op Uitvoeren

creëren MySQL werkbank ER-diagram

Stap 4) Selecteer de onderstaande opties

Selecteer de onderstaande opties in de wizard die verschijnt. Klik volgende

creëren MySQL werkbank ER-diagram

Stap 5) Houd de selecties standaard en klik op Volgende

Het volgende scherm toont het overzicht van objecten in ons EER-diagram. Onze MyFlix DB heeft 5 tabellen. Houd de selecties standaard en klik op Volgende.

creëren MySQL werkbank ER-diagram

Stap 6) RevBekijk het SQL-script

Het onderstaande venster verschijnt. In dit venster kunt u een voorbeeld bekijken van de SQL-script om onze database aan te maken. We kunnen de scripts opslaan in een *.sql”-bestand of de scripts naar het klembord kopiëren. Klik op de knop Volgende

creëren MySQL werkbank ER-diagram

Stap 7) Beloof vooruitgang

Het onderstaande venster verschijnt nadat u met succes de database op de geselecteerde heeft aangemaakt MySQL serverinstantie.

creëren MySQL werkbank ER-diagram

  • Bij het maken van een database wordt het logische databaseontwerpmodel vertaald naar de fysieke database.
  • MySQL ondersteunt een aantal gegevenstypen voor numerieke waarden, datums en tekenreekswaarden.
  • De opdracht CREATE DATABASE wordt gebruikt om een ​​database te maken
  • De opdracht CREATE TABLE wordt gebruikt om tabellen in een database te maken
  • MySQL workbench ondersteunt forward engineering, waarbij automatisch SQL-scripts worden gegenereerd op basis van het logische databasemodel, die kunnen worden uitgevoerd om de fysieke database te creëren

De database en de dummygegevens zijn bijgevoegd. We zullen deze database gebruiken voor al onze verdere tutorials. Importeer eenvoudig de DB in MySQL Werkbank om aan de slag te gaan

Klik hier om MyFlixDB te downloaden