sql >> Database teknologi >  >> RDS >> Mysql

Sådan opretter du en tabel i MySQL

Mange gange skal du muligvis oprette tabel i MySQL. Sådan opretter du en tabel ved hjælp af MySQL CREATE TABLE-kommandoen.

Sådan opretter du tabel i MySQL

Her er trinene til at oprette tabel i MySQL.

MySQL CREATE TABLE giver dig mulighed for at oprette en ny tabel i databasen. Her er syntaksen.

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

I ovenstående opret tabelforespørgsel, tabelnavn er navnet på dit nye bord. IF NOT EXISTS er et valgfrit argument, der kontrollerer, om tabellen allerede eksisterer, og opretter kun tabel, hvis den ikke eksisterer.

column_1_definition , kolonne_2_definition , … er forskellige kolonnedefinitioner, der hver består af kolonnenavn og datatype.

table_contraints er forskellige typer valgfrie begrænsninger såsom fremmednøglebegrænsning, primærnøglebegrænsning osv.

Du kan valgfrit angive lagermotor som ENGINE-variabel. MySQL understøtter InnoDB- og MyISAM-lagringsmotorer. Hvis du ikke angiver denne variabel, vil MySQL som standard bruge InnoDB.

Bonus Læs:MySQL Alter Table Column

Eksempler på MySQL OPRET TABEL

Her er SQL-forespørgslen til at oprette tabel i MySQL. Vi opretter en ordrer tabel for at gemme listen over ordrer

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 |                |
+--------------+--------------+------+-----+-------------------+----------------+

I ovenstående forespørgsel,

id er vores tabels primære nøgle med AUTO INCREMENT-begrænsning. Så når du tilføjer en ny række til denne tabel, vil MySQL automatisk øge og automatisk udfylde denne kolonne for den nye række.

produktnavn er en VARCHAR (streng) kolonne til lagring af produktnavn

ordre_date er en datokolonne. Da det ikke har nogen begrænsninger, kan det endda have NULL-værdier.

pris er en heltalskolonne med en NOT NULL-begrænsning. Så den kan ikke have nulværdier.

created_at er en tidsstempelkolonne med CURRENT_TIMESTAMP som standardværdi.

Vi har valgt at bruge INNODB storage engine til denne tabel.

Bonus Læs:MySQL TILFØJ KOLONNE

MySQL OPRET TABEL med UDENLANDSKE NØGLE

Lad os oprette en ny tabel i MySQL med FOREIGN KEY-begrænsning. Vi vil oprette en ny tabel ordre_status med en fremmednøgle order_id der refererer til den primære nøgle for ordrer tabel.

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       |                |
+--------------+--------------+------+-----+---------+----------------+

I ovenstående forespørgsel tilføjer vi en fremmednøglebegrænsning ved hjælp af MySQL ADD FOREIGN KEY

Forhåbentlig kan du nu nemt oprette tabel i MySQL.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Database muligheder/pakker brugsrapportering

  2. Sådan opretter du brugerdefinerede genveje i SQL Server Management Studio (SSMS) - SQL Server / TSQL tutorial Del 10

  3. PostgreSQL OPRET TABEL

  4. To skillende Ejendommeligheder