MySQL Tabelle erstellen - So erstellen Sie eine Datenbank in MySQL

Inhaltsverzeichnis:

Anonim

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

  1. Numerisch,
  2. Text
  3. 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