Để tạo một bảng mới trong MySQL, bạn sử dụng lệnh CREATE TABLE. Lệnh này cho phép bạn xác định tên của bảng cũng như các cột và kiểu dữ liệu của chúng. Dưới đây là cú pháp cơ bản và chi tiết để tạo một bảng:

Cú pháp:

CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    column3 datatype constraints,
    ...
);
  • table_name: Tên của bảng bạn muốn tạo.
  • column1, column2, column3, ...: Tên các cột trong bảng.
  • datatype: Kiểu dữ liệu của mỗi cột (như INT, VARCHAR, DATE, v.v.).
  • constraints (không bắt buộc): Các ràng buộc cho cột (như PRIMARY KEY, NOT NULL, UNIQUE, DEFAULT, v.v.).

Ví dụ chi tiết:

Giả sử bạn muốn tạo một bảng tên là users chứa các thông tin về người dùng, bao gồm ID, tên người dùng, email và ngày đăng ký. Bạn có thể sử dụng lệnh sau:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  • id: Cột này là kiểu số nguyên (INT), tự động tăng (AUTO_INCREMENT), và là khóa chính (PRIMARY KEY).
  • username: Cột này là kiểu chuỗi (VARCHAR) với độ dài tối đa 50 ký tự, không được để trống (NOT NULL).
  • email: Cột này là kiểu chuỗi (VARCHAR) với độ dài tối đa 100 ký tự, không được để trống và phải là duy nhất (UNIQUE).
  • created_at: Cột này là kiểu thời gian (TIMESTAMP), mặc định là thời gian hiện tại khi một bản ghi mới được thêm (DEFAULT CURRENT_TIMESTAMP).

Một số lưu ý:

  1. PRIMARY KEY: Đây là khóa chính của bảng, đảm bảo mỗi giá trị trong cột là duy nhất và không rỗng.
  2. AUTO_INCREMENT: Tự động tăng giá trị cho mỗi bản ghi mới, thường dùng cho các cột id.
  3. NOT NULL: Yêu cầu giá trị của cột không được phép để trống.
  4. UNIQUE: Đảm bảo tất cả các giá trị trong cột là duy nhất.
  5. DEFAULT: Đặt giá trị mặc định cho cột nếu không có giá trị nào được cung cấp.

Tạo bảng với ràng buộc khóa ngoại:

Nếu bạn muốn tạo một bảng có liên kết với bảng khác bằng khóa ngoại, bạn có thể làm như sau:

CREATE TABLE orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    order_date DATE,
    total_amount DECIMAL(10, 2),
    FOREIGN KEY (user_id) REFERENCES users(id)
);
  • order_id: Khóa chính của bảng orders.
  • user_id: Liên kết với cột id trong bảng users.
  • FOREIGN KEY: Khóa ngoại giúp thiết lập mối quan hệ giữa hai bảng.

Kiểm tra bảng vừa tạo:

Sau khi tạo bảng, bạn có thể kiểm tra bảng đó bằng lệnh sau:

DESCRIBE users;

Lệnh này sẽ hiển thị thông tin về các cột trong bảng users, bao gồm tên cột, kiểu dữ liệu, và các ràng buộc của chúng.