Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erstellen Sie eine Tabelle in MySQL

Oft müssen Sie möglicherweise eine Tabelle in MySQL erstellen. So erstellen Sie eine Tabelle mit dem MySQL-Befehl CREATE TABLE.

So erstellen Sie eine Tabelle in MySQL

Hier sind die Schritte zum Erstellen einer Tabelle in MySQL.

Mit MySQL CREATE TABLE können Sie eine neue Tabelle in der Datenbank erstellen. Hier ist die Syntax.

CREATE TABLE [IF NOT EXISTS] table_name(
   column_1_definition,
   column_2_definition,
   ...,
   table_constraints
) ENGINE=storage_engine;

Erstellen Sie in der obigen Tabellenabfrage table_name ist der Name Ihrer neuen Tabelle. IF NOT EXISTS ist ein optionales Argument, das prüft, ob die Tabelle bereits existiert, und eine Tabelle nur erstellt, wenn sie nicht existiert.

column_1_definition , column_2_definition , … sind verschiedene Spaltendefinitionen, die jeweils aus Spaltenname und Datentyp bestehen.

table_contraints sind verschiedene Arten von optionalen Einschränkungen wie Fremdschlüsseleinschränkungen, Primärschlüsseleinschränkungen usw.

Optional können Sie die Speicher-Engine als ENGINE-Variable angeben. MySQL unterstützt InnoDB- und MyISAM-Speicher-Engines. Wenn Sie diese Variable nicht angeben, verwendet MySQL standardmäßig InnoDB.

Bonus-Lesetext:MySQL Alter Table Column

MySQL CREATE TABLE-Beispiele

Hier ist die SQL-Abfrage zum Erstellen einer Tabelle in MySQL. Wir erstellen eine Bestellung Tabelle zum Speichern der Bestellliste

CREATE TABLE IF NOT EXISTS orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255) NOT NULL,
    order_date DATE,
    price INT NOT NULL,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)  ENGINE=INNODB;


mysql> describe orders;
+--------------+--------------+------+-----+-------------------+----------------+
| Field        | Type         | Null | Key | Default           | Extra          |
+--------------+--------------+------+-----+-------------------+----------------+
| id           | int(11)      | NO   | PRI | NULL              | auto_increment |
| product_name | varchar(255) | NO   |     | NULL              |                |
| order_date   | date         | YES  |     | NULL              |                |
| price        | int(11)      | NO   |     | NULL              |                |
| description  | text         | YES  |     | NULL              |                |
| created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+--------------+--------------+------+-----+-------------------+----------------+

In der obigen Abfrage

Kennung ist der Primärschlüssel unserer Tabelle mit der Einschränkung AUTO INCREMENT. Wenn Sie also eine neue Zeile zu dieser Tabelle hinzufügen, erhöht MySQL diese Spalte automatisch und füllt sie automatisch für die neue Zeile.

Produktname ist eine VARCHAR (String)-Spalte zum Speichern des Produktnamens

Bestelldatum ist eine Datumsspalte. Da es keine Beschränkungen gibt, kann es sogar NULL-Werte haben.

Preis ist eine ganzzahlige Spalte mit einer NOT NULL-Einschränkung. Es kann also keine Nullwerte haben.

erstellt_um ist eine Zeitstempelspalte mit CURRENT_TIMESTAMP als Standardwert.

Wir haben uns für die Verwendung der INNODB-Speicher-Engine für diese Tabelle entschieden.

Bonus-Lesetext:MySQL ADD COLUMN

MySQL CREATE TABLE mit FOREIGN KEY

Lassen Sie uns eine neue Tabelle in MySQL mit FOREIGN KEY-Einschränkung erstellen. Wir erstellen eine neue Tabelle order_status mit einem Fremdschlüssel order_id die auf den Primärschlüssel von Bestellungen verweist Tabelle.

mysql> CREATE TABLE IF NOT EXISTS order_status (
         status_id INT AUTO_INCREMENT,
         order_id INT,
         status VARCHAR(255) NOT NULL,
         is_completed BOOLEAN NOT NULL DEFAULT FALSE,
         PRIMARY KEY (status_id),
         FOREIGN KEY (order_id)
             REFERENCES orders (id)
             ON UPDATE RESTRICT ON DELETE CASCADE
     );

mysql> describe order_status;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| status_id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| order_id     | int(11)      | YES  | MUL | NULL    |                |
| status       | varchar(255) | NO   |     | NULL    |                |
| is_completed | tinyint(1)   | NO   |     | 0       |                |
+--------------+--------------+------+-----+---------+----------------+

In der obigen Abfrage fügen wir mithilfe von MySQL ADD FOREIGN KEY

eine Fremdschlüsselbeschränkung hinzu

Hoffentlich können Sie jetzt ganz einfach Tabellen in MySQL erstellen.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!