Hilfreiche Ratschläge

So erstellen Sie eine Tabelle in MySQL

Pin
Send
Share
Send
Send


Tabellen, die ein Team bilden, erfordern:

  • Tabellenname
  • Feldnamen
  • Definitionen für jedes Feld

Hier ist die generische SQL-Syntax zum Erstellen von MySQL-Tabellen:

Jetzt erstellen wir die folgende Tabelle in den Datenbank-Tutorials.

Hier sind einige Punkte, die einer Klärung bedürfen:

  • Das Attributfeld ist nicht NULL, es wird verwendet, weil wir nicht wollen, dass es Null ist. Wenn der Benutzer versucht, einen Datensatz mit einem NULL-Wert zu erstellen, wird MySQL daher einen Fehler auslösen.
  • Das auto_increment-Attributfeld in MySQL fordert Sie nicht auf, die nächste verfügbare Nummer zum ID-Feld hinzuzufügen.
  • Das Primärschlüssel-Schlüsselwort wird verwendet, um die Spalte als Primärschlüssel zu definieren. Sie können mehrere durch Kommas getrennte Spalten verwenden, um den Primärschlüssel zu definieren.

Tabellen mit einem PHP-Skript erstellen:

Um eine neue Tabelle in einer vorhandenen Datenbank zu erstellen, müssen Sie die PHP-Funktionen der Funktion mysql_query () verwenden. Sie übergeben Ihr zweites Argument mit dem richtigen SQL-Befehl, um die Tabelle zu erstellen.

Ein Beispiel:

Hier ist ein Beispiel für das Erstellen einer Tabelle mit einem PHP-Skript:

MySQL-Tabellenanfrage

Um eine Tabelle zu erstellen, müssen Sie Folgendes einbringen:

  • Tabellenname
  • Tabellenfeldnamen
  • Werte, mit denen Felder gefüllt werden können

Die Syntax der Anforderung zum Erstellen der Tabelle.

Erstellen Sie beispielsweise eine Buchtabelle mit einer Liste von Büchern in der bedingten Bookstore-Datenbank.

Wir werden dem MySQL-Server mitteilen, mit welcher Datenbank wir arbeiten werden.

Versuchen Sie beim Benennen von Tabellenspalten, den Unterstrich an Stellen zu verwenden, an denen ein Leerzeichen angenommen wird. Beginnen Sie nicht mit der Großschreibung (mit Ausnahme von Eigennamen) und verwenden Sie einzelne Wörter, die nicht mit dem Tabellennamen übereinstimmen.

Fordern Sie an, eine Tabelle mit den folgenden Feldern zu erstellen:

  • ID - Datensatzkennung.
  • title - der Titel des Buches.
  • author - der Name des Autors des Buches.
  • Genre - das Genre einer Arbeit in einem Buch.
  • preis - der preis des buches.
  • edition - Nummer der Ausgabe.
  • isbn ist die ISBN-Nummer.
  • page_num - Die Anzahl der Seiten im Buch.
  • publish_year - das Jahr, in dem das Buch veröffentlicht wurde.
  • Erstellungsdatum - Erstellungsdatum des Datensatzes (als das Buch in die Datenbank eingegeben wurde).

Nachdem Sie den Datentyp für das Feld angegeben haben, können Sie auch zusätzliche Attribute angeben:

  • UNSIGNED - Mit dieser Option können Sie den Bereich der numerischen Werte vergrößern, indem Sie die Verwendung negativer Zahlen deaktivieren. Wird nur mit numerischen Datentypen verwendet.
  • AUTO_INCREMENT - Der Wert des Feldes mit diesem Attribut wird jedes Mal um 1 erhöht, wenn ein neuer Datensatz in der Tabelle erstellt wird. Wird häufig verwendet, um Felder automatisch mit einer Datensatz-ID zu füllen.
  • PRIMARY_KEY - Der Primärschlüssel wird zum Identifizieren von Datensätzen in der Tabelle verwendet. Der Primärschlüssel kann nur ein eindeutiger Wert sein. In den meisten Fällen handelt es sich daher um den Wert des Felds id mit dem Attribut AUTO_INCREMENT.
  • NOT NULL - Pflichtfeld (darf nicht leer sein).
  • DEFAULT - der Standardfeldwert.

Jede Tabelle muss ein Feld haben, das als Primärschlüssel markiert ist.

Erstellen einer Tabelle im Terminal:

] # mysql -u root -p
Passwort eingeben:
mysql> USE Bookstore,
Datenbank geändert

mysql> CREATE TABLE books (
- >> INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> title VARCHAR (50) NICHT NULL,
-> Autor VARCHAR (50) NICHT NULL,
-> Genre SET ('Drama', 'Romance', 'Tale', 'Story', 'Poem'),
-> Preis DECIMAL (15,2),
-> Ausgabe TINYINT UNSIGNED DEFAULT '1' NOT NULL,
-> isbn VARCHAR (50),
-> page_num SMALLINT UNSIGNED,
-> SMALLINT (4) für Veröffentlichungsjahre,
-> Erstellungsdatum TIMESTAMP),
Abfrage OK, 0 Zeilen betroffen (0,22 Sek.)

Erstellen einer neuen MySQL-Datenbank

Eine neue Datenbank wird mit der SQL-Anweisung CREATE DATABASE erstellt, gefolgt vom Namen der zu erstellenden Datenbank. Zu diesem Zweck wird auch die Anweisung CREATE SCHEMA verwendet. Um beispielsweise an der mysql-Eingabeaufforderung eine neue Datenbank mit dem Namen MySampleDB zu erstellen, geben Sie die folgende Abfrage ein:

Wenn alles geklappt hat, generiert der Befehl die folgende Ausgabe:

Wenn der angegebene Datenbankname mit einer vorhandenen MySQL-Datenbank in Konflikt steht, wird eine Fehlermeldung angezeigt:

Wählen Sie in diesem Fall einen anderen Datenbanknamen oder verwenden Sie die Option WENN NICHT EXISTS. Es wird nur dann eine Datenbank erstellt, wenn diese noch nicht vorhanden ist:

Tabellen mit SQL erstellen

Neue Tabellen werden einer vorhandenen Datenbank mit der SQL-Anweisung CREATE TABLE hinzugefügt. Der Anweisung CREATE TABLE folgt der Name der zu erstellenden Tabelle, gefolgt von einer durch Kommas getrennten Liste mit Namen und Definitionen für jede Tabellenspalte:

CREATE TABLE table_name (definition column_name, definition table_name ..., PRIMARY KEY = (column_name)) ENGINE = engine_type,

In der Spaltendefinition wird der Datentyp festgelegt, ob die Spalte NULL, AUTO_INCREMENT sein kann. Mit der Anweisung CREATE TABLE können Sie auch eine Spalte (oder eine Gruppe von Spalten) als Primärschlüssel angeben.
Bevor Sie eine Tabelle erstellen, müssen Sie eine Datenbank auswählen. Dies geschieht mit der SQL USE-Anweisung:

Erstellen Sie eine Tabelle, die aus drei Spalten besteht: customer_id, customer_name und customer_address. Die Spalten customer_id und customer_name dürfen nicht leer sein (d. H. NOT NULL). customer_id enthält einen ganzzahligen Wert, der sich automatisch erhöht, wenn neue Zeilen hinzugefügt werden. Die verbleibenden Spalten enthalten Zeilen mit einer Länge von bis zu 20 Zeichen. Der Primärschlüssel ist als customer_id definiert.

Primärschlüssel

Ein Primärschlüssel ist eine Spalte zum Identifizieren von Datensätzen in einer Tabelle. Der Wert der Primärschlüsselspalte muss eindeutig sein. Wenn mehrere Spalten zu einem Primärschlüssel kombiniert werden, muss die Kombination der Schlüsselwerte für jede Zeile eindeutig sein.

Der Primärschlüssel wird mithilfe der PRIMARY KEY-Anweisung während der Tabellenerstellung ermittelt. Wenn mehrere Spalten verwendet werden, werden diese durch ein Komma getrennt:

Im folgenden Beispiel wird eine Tabelle mit zwei Spalten als Primärschlüssel erstellt:

AUTO_INCREMENT

Wenn eine Spalte mit AUTO_INCREMENT ermittelt wird, wird ihr Wert jedes Mal automatisch erhöht, wenn ein neuer Datensatz zur Tabelle hinzugefügt wird. Dies ist nützlich, wenn Sie eine Spalte als Primärschlüssel verwenden. Dank AUTO_INCREMENT müssen Sie keine SQL-Anweisungen schreiben, um einen eindeutigen Bezeichner für jede Zeile zu berechnen.

AUTO_INCREMENT kann nur einer Spalte in einer Tabelle zugewiesen werden. Und es muss indiziert werden (zum Beispiel als Primärschlüssel deklariert).

Sie können den AUTO_INCREMENT-Wert für eine Spalte überschreiben, indem Sie beim Ausführen der INSERT-Anweisung einen neuen Wert angeben.

Sie können MySQL mit der last_insert_id () -Funktion wie folgt nach dem neuesten AUTO_INCREMENT-Wert abfragen:

Arten von MySQL-Datenbank-Engines

Jedes der Beispiele für die Tabellenerstellung in diesem Artikel enthielt bis zu diesem Punkt die Definition von ENGINE =. MySQL wird mit verschiedenen Datenbank-Engines ausgeliefert, von denen jede ihre eigenen Vorteile hat. Mit der Direktive ENGINE = können Sie auswählen, welche Engine für jede Tabelle verwendet werden soll. Die folgenden MySQL-Datenbank-Engines sind derzeit verfügbar:

  • InnoDB - Eingeführt in MySQL 4.0 und als sichere Umgebung für Transaktionen klassifiziert, stellt sein Mechanismus sicher, dass alle Transaktionen zu 100% abgeschlossen sind. In diesem Fall werden teilweise abgeschlossene Transaktionen (z. B. aufgrund eines Server- oder Stromausfalls) nicht aufgezeichnet. Der Nachteil von InnoDB ist die fehlende Unterstützung der Volltextsuche.
  • MyISAM ist eine leistungsstarke Volltextsuchmaschine. Diese Leistung und Funktionalität wird durch die mangelnde Transaktionssicherheit gewährleistet.
  • MEMORY - In Bezug auf die Funktionalität entspricht es MyISAM, mit der Ausnahme, dass alle Daten im RAM und nicht auf der Festplatte gespeichert werden. Dies bietet eine hohe Verarbeitungsgeschwindigkeit. Die temporäre Natur der im RAM gespeicherten Daten macht die MEMORY-Engine besser für die temporäre Speicherung von Tabellen geeignet.

Motoren verschiedener Typen können in einer Datenbank zusammengefasst werden. Beispielsweise verwenden einige Tabellen möglicherweise die InnoDB-Engine, während andere möglicherweise MyISAM verwenden. Wenn die Engine bei der Tabellenerstellung nicht angegeben wird, verwendet MySQL standardmäßig MyISAM.

Um den Typ der Engine anzugeben, die für die Tabelle verwendet wird, platzieren Sie nach der Definition der Tabellenspalten die entsprechende Definition ENGINE =:

Diese Publikation ist eine Übersetzung des Artikels „Erstellen von Datenbanken und Tabellen mit SQL-Befehlen“, der vom freundlichen Team des Internet-Technologieprojekts erstellt wurde.

Sehen Sie sich das Video an: MySQL Datenbank und Tabelle erstellen (Januar 2022).

Pin
Send
Share
Send
Send