Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tạo bảng trong MySQL

Nhiều khi bạn có thể cần tạo bảng trong MySQL. Dưới đây là cách tạo bảng bằng lệnh MySQL CREATE TABLE.

Cách tạo bảng trong MySQL

Dưới đây là các bước để tạo bảng trong MySQL.

MySQL CREATE TABLE cho phép bạn tạo bảng mới trong cơ sở dữ liệu. Đây là cú pháp.

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

Trong truy vấn tạo bảng ở trên, table_name là tên của bảng mới của bạn. IF NOT EXISTS là một đối số tùy chọn kiểm tra xem bảng đã tồn tại hay chưa và chỉ tạo bảng nếu nó không tồn tại.

column_1_definition , column_2_definition ,… Là các định nghĩa cột khác nhau, mỗi định nghĩa bao gồm tên cột và kiểu dữ liệu.

table_contraints là các loại ràng buộc tùy chọn khác nhau như ràng buộc khóa ngoại, ràng buộc khóa chính, v.v.

Bạn có thể tùy chọn chỉ định công cụ lưu trữ làm biến ENGINE. MySQL hỗ trợ các công cụ lưu trữ InnoDB và MyISAM. Nếu bạn không chỉ định biến này, thì MySQL sẽ sử dụng InnoDB theo mặc định.

Phần thưởng Đọc:Cột Bảng thay thế MySQL

Ví dụ về BẢNG TẠO MySQL

Đây là truy vấn SQL để tạo bảng trong MySQL. Chúng tôi sẽ tạo một đơn đặt hàng bảng để lưu danh sách các đơn đặt hàng

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

Trong truy vấn trên,

id là khóa chính của bảng của chúng tôi với ràng buộc TỰ ĐỘNG TĂNG. Vì vậy, khi bạn thêm một hàng mới vào bảng này, MySQL sẽ tự động tăng và tự động điền cột này cho hàng mới.

product_name là một cột VARCHAR (chuỗi) để lưu trữ tên sản phẩm

order_date là một cột ngày. Vì nó không có bất kỳ ràng buộc nào, nó thậm chí có thể có giá trị NULL.

giá là một cột số nguyên có ràng buộc NOT NULL. Vì vậy, nó không thể có giá trị null.

create_at là cột dấu thời gian với CURRENT_TIMESTAMP làm giá trị mặc định.

Chúng tôi đã chọn sử dụng công cụ lưu trữ INNODB cho bảng này.

Phần thưởng Đọc:MySQL ADD COLUMN

BẢNG TẠO MySQL với KEY NGOẠI THẤT

Hãy tạo một bảng mới trong MySQL với ràng buộc NGOẠI KHÓA. Chúng tôi sẽ tạo một bảng mới order_status bằng khóa ngoại order_id tham chiếu đến khóa chính của đơn đặt hàng bảng.

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

Trong truy vấn trên, chúng tôi thêm một ràng buộc khóa ngoại bằng cách sử dụng MySQL ADD FOREIGN KEY

Hy vọng rằng bây giờ bạn có thể dễ dàng tạo bảng trong MySQL.

Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django:Bảng không tồn tại

  2. Cách giới hạn hàng trong tập kết quả MySQL

  3. MySQL InnoDB không giải phóng dung lượng đĩa sau khi xóa các hàng dữ liệu khỏi bảng

  4. Mệnh đề MySQL LIMIT tương đương cho SQL SERVER

  5. Tìm kiếm đối sánh toàn bộ từ trong MySQL