Schritte zum Erstellen einer Datenbank in MySQL
Erstellen Sie eine Datenbank auf zwei Arten
1) Durch Ausführen einer einfachen SQL-Abfrage
2) Durch Verwendung von Forward Engineering in MySQL Workbench
In diesem SQL-Tutorial lernen Sie:
- So erstellen Sie eine Datenbank
- So erstellen Sie eine Tabelle in MySQL
- Datentypen
- MySQL Workbench ER Diagramm Forward Engineering
Schauen wir uns als SQL-Anfänger zuerst die Abfragemethode an.
So erstellen Sie eine Datenbank
So erstellen Sie eine Datenbank in MySQL:
CREATE DATABASE ist der SQL-Befehl zum Erstellen einer Datenbank in MySQL.
Stellen Sie sich vor, Sie müssen eine Datenbank mit dem Namen "Filme" erstellen. Sie können eine Datenbank in MySQL erstellen, indem Sie den folgenden SQL-Befehl ausführen.
CREATE DATABASE movies;
Hinweis: Sie können auch den Befehl CREATE SCHEMA anstelle von CREATE DATABASE verwenden
Lassen Sie uns nun unsere SQL-Abfrage verbessern und weitere Parameter und Spezifikationen hinzufügen.
WENN NICHT EXISTIERT
Ein einzelner MySQL-Server kann mehrere Datenbanken haben. Wenn Sie nicht der einzige sind, der auf denselben MySQL-Server zugreift, oder wenn Sie mit mehreren Datenbanken arbeiten müssen, besteht die Wahrscheinlichkeit, dass Sie versuchen, eine neue Datenbank mit dem Namen einer vorhandenen Datenbank zu erstellen. WENN NICHT EXISTIERT , können Sie den MySQL-Server anweisen , vor dem Erstellen der Datenbank die Existenz einer Datenbank mit einem ähnlichen Namen zu überprüfen.
Wenn IF NOT EXISTS verwendet wird, wird die Datenbank nur erstellt, wenn der angegebene Name nicht mit dem Namen einer vorhandenen Datenbank in Konflikt steht. Ohne die Verwendung von IF NOT EXISTS gibt MySQL einen Fehler aus.
CREATE DATABASE IF NOT EXISTS movies;
Sortierung und Zeichensatz
Die Sortierung besteht aus einer Reihe von Regeln, die im Vergleich verwendet werden. Viele Leute verwenden MySQL, um andere Daten als Englisch zu speichern. Daten werden in MySQL mit einem bestimmten Zeichensatz gespeichert. Der Zeichensatz kann auf verschiedenen Ebenen definiert werden, nämlich Server, Datenbank, Tabelle und Spalten.
Sie müssen die Sortierregeln auswählen, die wiederum vom ausgewählten Zeichensatz abhängen.
Beispielsweise verwendet der Zeichensatz Latin1 das
latin1_swedish_ci
Kollation, bei der es sich um die schwedische Groß- und Kleinschreibung handelt.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
Die beste Vorgehensweise bei der Verwendung lokaler Sprachen wie Arabisch, Chinesisch usw. besteht darin, den Unicode-Zeichensatz (utf-8) auszuwählen, der mehrere Kollatierungen enthält, oder sich einfach an die Standardkollatierung utf8-general-ci zu halten.
Die Liste aller Kollatierungen und Zeichensätze finden Sie hier
Sie können die Liste der vorhandenen Datenbanken anzeigen, indem Sie den folgenden SQL-Befehl ausführen.
SHOW DATABASES
So erstellen Sie eine Tabelle in MySQL
Mit dem Befehl CREATE TABLE werden Tabellen in einer Datenbank erstellt
Tabellen können mit der Anweisung CREATE TABLE erstellt werden und haben tatsächlich die folgende Syntax.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
HIER
- "CREATE TABLE" ist derjenige, der für die Erstellung der Tabelle in der Datenbank verantwortlich ist.
- "[WENN NICHT EXISTIERT]" ist optional und erstellt die Tabelle nur, wenn kein passender Tabellenname gefunden wird.
- "` fieldName` "ist der Name des Feldes und" data Type "definiert die Art der Daten, die im Feld gespeichert werden sollen.
- "[optionale Parameter]" zusätzliche Informationen zu einem Feld wie "AUTO_INCREMENT", NOT NULL usw.
Beispiel für eine MySQL-Tabellenerstellung
Unten finden Sie ein MySQL-Beispiel zum Erstellen einer Tabelle in der Datenbank:
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;
Nun wollen wir sehen, welche Datentypen MySQL hat. Sie können jedes davon je nach Bedarf verwenden. Sie sollten immer versuchen, den potenziellen Datenbereich beim Erstellen einer Datenbank nicht zu unterschätzen oder zu überschätzen.
DATENTYPEN
Datentypen definieren die Art der Daten, die in einer bestimmten Spalte einer Tabelle gespeichert werden können
MySQL hat nämlich 3 Hauptkategorien von Datentypen
- Numerisch,
- Text
- Terminzeit.
Numerische Datentypen
Numerische Datentypen werden zum Speichern numerischer Werte verwendet. Es ist sehr wichtig sicherzustellen, dass der Bereich Ihrer Daten zwischen den unteren und oberen Grenzen numerischer Datentypen liegt.
TINYINT () | -128 bis 127 normal 0 bis 255 UNSIGNIERT. |
SMALLINT () | -32768 bis 32767 normal 0 bis 65535 UNSIGNIERT. |
MITTEL () | -8388608 bis 8388607 normal 0 bis 16777215 UNSIGNED. |
INT () | -2147483648 bis 2147483647 normal 0 bis 4294967295 UNSIGNED. |
BIGINT () | -9223372036854775808 bis 9223372036854775807 normal 0 bis 18446744073709551615 UNSIGNED. |
SCHWEBEN | Eine kleine ungefähre Zahl mit einem Gleitkomma. |
DOPPELT( , ) | Eine große Zahl mit einem Gleitkomma. |
DEZIMAL( , ) | Ein DOUBLE, das als Zeichenfolge gespeichert wird und einen festen Dezimalpunkt zulässt. Auswahl zum Speichern von Währungswerten. |
Textdatentypen
Wie der Datentypkategoriename impliziert, werden diese zum Speichern von Textwerten verwendet. Stellen Sie immer sicher, dass die Länge Ihrer Textdaten die maximale Länge nicht überschreitet.
CHAR () | Ein fester Abschnitt mit einer Länge von 0 bis 255 Zeichen. |
VARCHAR () | Ein variabler Abschnitt mit einer Länge von 0 bis 255 Zeichen. |
TINYTEXT | Eine Zeichenfolge mit einer maximalen Länge von 255 Zeichen. |
TEXT | Eine Zeichenfolge mit einer maximalen Länge von 65535 Zeichen. |
KLECKS | Eine Zeichenfolge mit einer maximalen Länge von 65535 Zeichen. |
MEDIUMTEXT | Eine Zeichenfolge mit einer maximalen Länge von 16777215 Zeichen. |
MEDIUMBLOB | Eine Zeichenfolge mit einer maximalen Länge von 16777215 Zeichen. |
LONGTEXT | Eine Zeichenfolge mit einer maximalen Länge von 4294967295 Zeichen. |
LONGBLOB | Eine Zeichenfolge mit einer maximalen Länge von 4294967295 Zeichen. |
Terminzeit
DATUM | JJJJ-MM-TT |
TERMINZEIT | JJJJ-MM-TT HH: MM: SS |
TIMESTAMP | JJJJMMTTHHMMSS |
ZEIT | HH: MM: SS |
Abgesehen von oben gibt es einige andere Datentypen in MySQL.
ENUM | Speichern von Textwerten, die aus einer Liste vordefinierter Textwerte ausgewählt wurden |
EINSTELLEN | Dies wird auch zum Speichern von Textwerten verwendet, die aus einer Liste vordefinierter Textwerte ausgewählt wurden. Es kann mehrere Werte haben. |
BOOL | Synonym für TINYINT (1), das zum Speichern von Booleschen Werten verwendet wird |
BINÄR | Ähnlich wie bei CHAR besteht der Unterschied darin, dass Texte im Binärformat gespeichert werden. |
VARBINARY | Ähnlich wie bei VARCHAR besteht der Unterschied darin, dass Texte im Binärformat gespeichert werden. |
Sehen wir uns nun eine Abfrage zum Erstellen einer Tabelle an, die Daten aller Datentypen enthält. Studieren Sie es und identifizieren Sie, wie jeder Datentyp im folgenden MySQL-Beispiel für die Erstellungstabelle definiert ist.
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 ;
Empfohlene Vorgehensweise
- Verwenden Sie Großbuchstaben für SQL-Schlüsselwörter, z. B. "DROP SCHEMA IF EXISTS` MyFlixDB`; "
- Beenden Sie alle Ihre SQL-Befehle mit Semikolons.
- Vermeiden Sie die Verwendung von Leerzeichen in Schema-, Tabellen- und Feldnamen. Verwenden Sie stattdessen Unterstriche, um Schema-, Tabellen- oder Feldnamen zu trennen.
MySQL Workbench ER Diagramm Forward Engineering
Die MySQL Workbench verfügt über Dienstprogramme, die das Forward Engineering unterstützen. Forward Engineering ist ein Fachbegriff, der den Prozess der automatischen Übersetzung eines logischen Modells in ein physisches Gerät beschreibt .
In unserem ER-Modellierungs-Tutorial haben wir ein ER-Diagramm erstellt. Wir werden dieses ER-Modell nun verwenden, um die SQL-Skripte zu generieren, mit denen unsere Datenbank erstellt wird.
Erstellen der MyFlix-Datenbank aus dem MyFlix ER-Modell
1. Öffnen Sie das ER-Modell der MyFlix-Datenbank, das Sie in einem früheren Lernprogramm erstellt haben.
2. Klicken Sie auf das Datenbankmenü. Vorwärtsingenieur auswählen
3. Im nächsten Fenster können Sie eine Verbindung zu einer Instanz des MySQL-Servers herstellen. Klicken Sie auf die Dropdown-Liste der gespeicherten Verbindung und wählen Sie den lokalen Host aus. Klicken Sie auf Ausführen
4. Wählen Sie im angezeigten Assistenten die unten gezeigten Optionen aus. Weiter klicken
5. Der nächste Bildschirm zeigt die Zusammenfassung der Objekte in unserem EER-Diagramm. Unsere MyFlix DB verfügt über 5 Tabellen. Behalten Sie die Auswahl standardmäßig bei und klicken Sie auf Weiter.
6… Das unten gezeigte Fenster wird angezeigt. In diesem Fenster können Sie eine Vorschau des SQL-Skripts anzeigen, um unsere Datenbank zu erstellen. Wir können die Skripte in einer * .sql "-Datei speichern oder die Skripte in die Zwischenablage kopieren. Klicken Sie auf die Schaltfläche Weiter
7. Das unten gezeigte Fenster wird angezeigt, nachdem die Datenbank auf der ausgewählten MySQL-Serverinstanz erfolgreich erstellt wurde.
Zusammenfassung
- Beim Erstellen einer Datenbank wird das Entwurfsmodell der logischen Datenbank in die physische Datenbank übersetzt.
- MySQL unterstützt eine Reihe von Datentypen für Zahlen-, Datums- und Zeichenfolgenwerte.
- Mit dem Befehl CREATE DATABASE wird eine Datenbank erstellt
- Mit dem Befehl CREATE TABLE werden Tabellen in einer Datenbank erstellt
- Die MySQL-Workbench unterstützt das Forward Engineering, bei dem automatisch SQL-Skripts aus dem logischen Datenbankmodell generiert werden, das zum Erstellen der physischen Datenbank ausgeführt werden kann
Die Datenbank wird zusammen mit Dummy-Daten angehängt. Wir werden diese Datenbank für alle weiteren Tutorials verwenden. Importieren Sie einfach die Datenbank in MySQL Workbench, um loszulegen
Klicken Sie hier, um MyFlixDB herunterzuladen