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
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
- Numeriek,
- Tekst
- 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
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
Stap 4) Selecteer de onderstaande opties
Selecteer de onderstaande opties in de wizard die verschijnt. Klik volgende
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.
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
Stap 7) Beloof vooruitgang
Het onderstaande venster verschijnt nadat u met succes de database op de geselecteerde heeft aangemaakt MySQL serverinstantie.
- 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