So erstellen Sie eine Datenbank in MySQL (Erstellen MySQL Tabellen)
⚡ Intelligente Zusammenfassung
Erstellen einer Datenbank in MySQL folgt zwei bewährten Wegen: der Ausführung einer CREATE DATABASE-Anweisung oder der Generierung physischer Schemas aus einem ER-Modell durch MySQL Workbench Forward Engineering. Beide Ansätze führen zu identischen, produktionsreifen Tischen.
Schritte zum Erstellen einer Datenbank in MySQL
Eine Datenbank in MySQL ist ein benannter Container für Tabellen, Ansichten und zugehörige Objekte. Sie können ihn auf zwei Arten erstellen:
1) Durch Ausführen einer einfachen SQL-Abfrage
2) Durch den Einsatz von Forward Engineering MySQL Werkbank
As SQL-AnfängerSchauen wir uns zunächst die Abfragemethode an.
So erstellen Sie eine Datenbank in MySQL
Hier erfahren Sie, wie Sie eine Datenbank erstellen 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 erstellen in MySQL durch Ausführen des folgenden SQL-Befehls.
CREATE DATABASE movies;
Hinweis: Sie können anstelle von CREATE DATABASE auch den Befehl CREATE SCHEMA verwenden.
Die Anweisung funktioniert nur einmal. Bei erneuter Ausführung tritt ein Fehler auf, daher verbessern wir die Abfrage mit weiteren Parametern.
WENN NICHT EXISTIERT
Ein einzelner MySQL Ein Server kann mehrere Datenbanken enthalten. Wenn mehrere Personen diesen Server gemeinsam nutzen, kann es vorkommen, dass Sie versuchen, eine Datenbank unter dem Namen einer bereits existierenden Datenbank zu erstellen.
WENN NICHT EXISTIERT weist die MySQL Der Server prüft vor der Erstellung einer Datenbank, ob bereits eine Datenbank mit demselben Namen existiert. Die Datenbank wird nur erstellt, wenn der Name frei ist; ohne diese Klausel… MySQL wirft einen Fehler.
CREATE DATABASE IF NOT EXISTS movies;
Sobald der Datenbankname gesichert ist, muss als Nächstes entschieden werden, wie MySQL sollte den darin enthaltenen Text speichern und vergleichen.
Sortierung und Zeichensatz
A Zeichensatz entscheidet, welche Zeichen eine Spalte speichern kann, während ein Kollation ist die Menge von Vergleichsregeln und Sortierung. Beides lässt sich auf vier Ebenen definieren: Server, Datenbank, Tabelle und Spalte.
Die gewählte Sortierung hängt vom Zeichensatz ab. Beispielsweise verwendet der Zeichensatz Latin-1 die folgenden: latin1_swedish_ci collation, was die schwedische, nicht zwischen Groß- und Kleinschreibung unterscheidende Reihenfolge ist.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Für lokale Sprachen wie Arabisch oder Chinesisch wählen Sie den Unicode aus. utf8mb4 Zeichensatz, der jedes Unicode-Zeichen, einschließlich Emojis, speichert. MySQL 8.0, utf8mb4 ist der Standardzeichensatz und utf8mb4_0900_ai_ci die Standardsortierung.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Hier finden Sie die Liste aller Sortierungen und Zeichensätze werden auf dieser Seite erläutert.
Sie können die Liste der vorhandenen Datenbanken durch Ausführen des folgenden SQL-Befehls anzeigen.
SHOW DATABASES;
Nachdem die Datenbank eingerichtet ist, können Sie nun die Tabellen hinzufügen, die die Datensätze enthalten werden.
So erstellen Sie eine Tabelle in MySQL
Mit dem Befehl CREATE TABLE werden Tabellen in einer Datenbank erstellt.
Wie das Diagramm zeigt, gehört jede Tabelle zu genau einer Datenbank. Tabellen werden mit folgendem Befehl erstellt: TABELLE ERSTELLEN Anweisung, die folgende Syntax hat.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
HIER KLICKEN
- „CREATE TABLE“ ist für die Erstellung der Tabelle in der Datenbank zuständig.
- „[IF NOT EXISTS]“ ist optional und erstellt die Tabelle nur dann, wenn kein übereinstimmender Tabellenname gefunden wird.
- „`fieldName`“ ist der Name des Feldes, und „data Type“ definiert die Art der darin gespeicherten Daten.
- „[optionale Parameter]“ sind zusätzliche Informationen zu einem Feld, wie zum Beispiel „AUTO_INCREMENT“ oder NOT NULL.
- Die „Speicher-Engine“ verwaltet die Tabelle, normalerweise InnoDB, die Transaktionen und Fremdschlüssel unterstützt.
MySQL Beispiel für eine Tabelle erstellen
Unten ist eine MySQL Beispiel zum Erstellen einer Tabelle in einer Datenbank:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `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;
Hinweis: die richtige MySQL Schlüsselwort ist AUTO_INCREMENT mit einem Unterstrich. AUTOINCREMENT gehört SQLite und löst einen Syntaxfehler aus in MySQL.
Jede Spalte enthält einen Datentyp, wählen Sie daher sorgfältig: Unterschätzen oder überschätzen Sie weder den zu erwartenden Datenbereich.
MySQL Datentypen
Datentypen definieren die Art der Daten, die in einer bestimmten Spalte einer Tabelle gespeichert werden können.
MySQL hat 3 Hauptkategorien von Datentypen, nämlich:
- Numerisch
- Text
- Terminzeit
Numerische Datentypen
Numerische Datentypen dienen der Speicherung numerischer Werte. Es ist sehr wichtig, dass der Wertebereich Ihrer Daten innerhalb der unteren und oberen Grenze des gewählten numerischen Datentyps liegt.
| TINYINT( ) | -128 bis 127 normal 0 bis 255 UNSIGNED. |
| SMALLINT( ) | -32768 bis 32767 normal 0 bis 65535 UNSIGNED. |
| MEDIUMINT( ) | -8388608 bis 8388607 normal 0 bis 16777215 UNSIGNED. |
| GANZZAHL( ) | -2147483648 bis 2147483647 normal 0 bis 4294967295 UNSIGNED. |
| BIGINT( ) | -9223372036854775808 bis 9223372036854775807 normal 0 bis 18446744073709551615 UNSIGNED. |
| FLOAT | Eine kleine ungefähre Zahl mit einem Gleitkomma. |
| DOPPELT( , ) | Eine große Zahl mit einem Gleitkomma. |
| DEZIMAL( , ) | Ein als Zeichenkette gespeicherter DOUBLE-Wert, der eine feste Dezimaltrennstelle ermöglicht. Geeignet zum Speichern von Währungswerten. |
Textdatentypen
Wie der Name der Datentypkategorie bereits andeutet, dienen diese Datentypen der Speicherung von Textwerten. Achten Sie stets darauf, dass die Länge Ihrer Textdaten die maximale Spaltenlä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. |
| KLEINER TEXT | Eine Zeichenfolge mit einer maximalen Länge von 255 Zeichen. |
| TEXT | Eine Zeichenfolge mit einer maximalen Länge von 65535 Zeichen. |
| BLOB | Eine Zeichenfolge mit einer maximalen Länge von 65535 Zeichen. |
| MITTELTEXT | Eine Zeichenfolge mit einer maximalen Länge von 16777215 Zeichen. |
| MITTELBLOB | Eine Zeichenfolge mit einer maximalen Länge von 16777215 Zeichen. |
| LANGTEXT | Eine Zeichenfolge mit einer maximalen Länge von 4294967295 Zeichen. |
| LONGBLOB | Eine Zeichenfolge mit einer maximalen Länge von 4294967295 Zeichen. |
Datums- und Zeitdatentypen
Datums- und Zeitdatentypen speichern Kalender- und Uhrzeitwerte in einem festen Format, wodurch Sortierung und Vergleich zuverlässig bleiben.
| DATUM | YYYY-MM-DD |
| Datetime | JJJJ-MM-TT HH: MM: SS |
| TIMESTAMP | YYYYMMDDHHMMSS |
| ZEIT- | HH: MM: SS |
Andere Datentypen
Abgesehen von den oben genannten Datentypen gibt es noch einige weitere in MySQL.
| ENUM | Um einen aus einer Liste vordefinierter Textwerte ausgewählten Textwert zu speichern |
| SET | Dies wird auch zum Speichern von Textwerten verwendet, die aus einer Liste vordefinierter Textwerte ausgewählt werden. Es kann mehrere Werte haben. |
| BOOL | Synonym für TINYINT(1), wird zum Speichern boolescher Werte verwendet |
| BINARY | Ähnlich wie CHAR; der Unterschied besteht darin, dass Texte im Binärformat gespeichert werden. |
| VARBINÄR | Ähnlich wie bei VARCHAR; der Unterschied besteht darin, dass Texte im Binärformat gespeichert werden. |
Betrachten wir nun eine Abfrage zum Erstellen einer Tabelle, die alle Datentypen verwendet. Untersuchen Sie diese und identifizieren Sie, wie jeder Datentyp in der folgenden Tabellenerstellung definiert wird. MySQL Beispiel.
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;
Best Practices für die Erstellung eines MySQL Datenbank
Ein paar Konventionen sorgen dafür, dass Ihre Skripte lesbar bleiben:
- Verwenden Sie Großbuchstaben für SQL-Schlüsselwörter, z. B. „DROP SCHEMA IF EXISTS `MyFlixDB`;“.
- Schließen Sie alle Ihre SQL-Befehle mit Semikolons ab.
- Vermeiden Sie Leerzeichen in Schema-, Tabellen- und Feldnamen. Verwenden Sie stattdessen Unterstriche zur Trennung von Schema-, Tabellen- oder Feldnamen.
- Für neue Tabellen ist InnoDB gegenüber MyISAM vorzuziehen, da InnoDB Transaktionen, Sperren auf Zeilenebene und Fremdschlüssel unterstützt.
Die Abfragemethode ist fertiggestellt. Der zweite Weg greift über ein visuelles Modell anstelle von handgeschriebenem SQL auf dieselbe Datenbank zu.
So erstellen Sie MySQL Workbench ER-Diagramm Vorwärtsentwicklung
MySQL Werkbank verfügt über Dienstprogramme, die das Forward Engineering unterstützen. Vorwärts-Engineering ist der Fachbegriff, der den Prozess von automatische Übersetzung eines logischen Modells in eine physische Implementierung.
Wir haben eine ER-Diagramm in unserem ER-Modellierung Lektion. Wir werden nun dieses ER-Modell verwenden, um die SQL-Skripte zu generieren, die unsere Datenbank erstellen.
Erstellen der MyFlix-Datenbank aus dem MyFlix ER-Modell
Schritt 1) Öffnen Sie das ER-Modell der MyFlix-Datenbank. die Sie zuvor erstellt haben.
Schritt 2) Wählen Sie den Vorwärtsingenieur aus
Klicken Sie auf das Menü Datenbank und wählen Sie Forward Engineer.
Schritt 3) Verbindungsoptionen
Im nächsten Fenster können Sie eine Verbindung zu einer Instanz von MySQL Server. Klicken Sie auf die Dropdown-Liste „Gespeicherte Verbindung“ und wählen Sie „Lokaler Host“. Klicken Sie auf „Ausführen“.
Schritt 4) Wählen Sie die unten angezeigten Optionen aus.
Wählen Sie im angezeigten Assistenten die unten aufgeführten Optionen aus. Klicken Sie auf Weiter.
Schritt 5) Behalten Sie die Standardeinstellungen bei und klicken Sie auf Weiter
Im nächsten Bildschirm wird die Zusammenfassung der Objekte in unserem EER-Diagramm angezeigt. Unsere MyFlix-Datenbank besteht aus 5 Tabellen. Behalten Sie die Standardeinstellungen bei und klicken Sie auf „Weiter“.
Schritt 6) RevSehen Sie sich das SQL-Skript an
Im folgenden Fenster wird eine Vorschau des SQL-Skripts angezeigt, das unsere Datenbank erstellt. Speichern Sie das Skript als *.sql-Datei oder kopieren Sie es in die Zwischenablage und klicken Sie dann auf „Weiter“.
Schritt 7) Fortschritt bestätigen
Das untenstehende Fenster erscheint, sobald die Datenbank auf dem ausgewählten System erstellt wurde. MySQL Serverinstanz. Die Tabellen aus dem ER-Modell existieren nun physisch auf dem Server.
Die Datenbank mit Beispieldaten ist beigefügt. Wir werden diese Datenbank in den folgenden Lektionen verwenden. Importieren Sie sie einfach in MySQL Werkbank für den Einstieg.
Klicken Sie hier, um MyFlixDB herunterzuladen








.png)