1. Giới thiệu

Trong MySQL, CREATE TABLE được sử dụng để tạo một bảng mới trong cơ sở dữ liệu, còn DROP TABLE được sử dụng để xóa một bảng và tất cả dữ liệu của nó. Bảng là thành phần cốt lõi trong cơ sở dữ liệu và là nơi lưu trữ dữ liệu dưới dạng các hàng và cột. Hiểu cách tạo và xóa bảng là bước quan trọng trong việc quản lý cơ sở dữ liệu.

2. Câu lệnh CREATE TABLE trong MySQL

Câu lệnh CREATE TABLE được sử dụng để tạo bảng mới trong cơ sở dữ liệu MySQL. Bạn có thể chỉ định tên bảng, tên cột, kiểu dữ liệu của từng cột và các ràng buộc (constraints) nếu cần.

Cú pháp của CREATE TABLE:

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

3. Ví dụ về CREATE TABLE

Ví dụ 1: Tạo bảng employees trong MySQL

shell
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    department VARCHAR(50),
    salary DECIMAL(10, 2),
    hire_date DATE
);

Trong ví dụ này:

  • employee_id là cột khóa chính (PRIMARY KEY).
  • first_namelast_name không thể chứa giá trị NULL (vì có ràng buộc NOT NULL).
  • salary có kiểu dữ liệu là số thực với hai chữ số thập phân (DECIMAL).
  • hire_date là kiểu dữ liệu ngày tháng (DATE).

4. Các kiểu dữ liệu phổ biến trong MySQL

Dưới đây là một số kiểu dữ liệu phổ biến trong MySQL mà bạn sẽ sử dụng khi tạo bảng:

  • INT: Số nguyên.
  • VARCHAR(n): Chuỗi ký tự có độ dài thay đổi, n là độ dài tối đa.
  • DECIMAL(p, s): Số thực, với p là số chữ số tổng và s là số chữ số ở phần thập phân.
  • DATE: Ngày (theo định dạng YYYY-MM-DD).
  • DATETIME: Ngày và giờ (theo định dạng YYYY-MM-DD HH:MM:SS).
  • BOOLEAN: Kiểu boolean (TRUE/FALSE).

5. Các ràng buộc (Constraints) trong MySQL

Khi tạo bảng, bạn có thể thêm các ràng buộc vào các cột để đảm bảo tính toàn vẹn dữ liệu:

  • PRIMARY KEY: Xác định cột (hoặc tập hợp cột) có giá trị duy nhất và không thể có giá trị NULL.
  • FOREIGN KEY: Thiết lập mối quan hệ giữa hai bảng.
  • NOT NULL: Không cho phép cột chứa giá trị NULL.
  • UNIQUE: Đảm bảo rằng tất cả các giá trị trong cột là duy nhất.
  • DEFAULT: Gán giá trị mặc định cho cột nếu không có giá trị nào được cung cấp.

Ví dụ 2: Tạo bảng với FOREIGN KEY

shell
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    order_date DATE,
    total_amount DECIMAL(10, 2),
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

Trong ví dụ này:

  • order_id là khóa chính (PRIMARY KEY).
  • customer_id là khóa ngoại (FOREIGN KEY) tham chiếu đến cột customer_id trong bảng customers.

6. Câu lệnh DROP TABLE trong MySQL

Câu lệnh DROP TABLE được sử dụng để xóa hoàn toàn một bảng khỏi cơ sở dữ liệu MySQL. Khi bảng bị xóa, toàn bộ dữ liệu và cấu trúc của bảng cũng sẽ bị xóa vĩnh viễn.

Cú pháp của DROP TABLE:

shell
DROP TABLE table_name;
  • table_name: Tên của bảng bạn muốn xóa.

7. Ví dụ về DROP TABLE

Ví dụ 3: Xóa bảng employees trong MySQL

shell
DROP TABLE employees;

Câu lệnh này sẽ xóa bảng employees và toàn bộ dữ liệu trong bảng.

8. Kiểm tra sự tồn tại của bảng trước khi xóa

Để tránh lỗi khi xóa một bảng không tồn tại, bạn có thể sử dụng từ khóa IF EXISTS.

Ví dụ 4: Xóa bảng nếu bảng tồn tại

shell
DROP TABLE IF EXISTS employees;

Câu lệnh này sẽ chỉ xóa bảng employees nếu bảng tồn tại. Nếu bảng không tồn tại, hệ thống sẽ không báo lỗi.

9. Xem cấu trúc bảng

Để xem cấu trúc của bảng (các cột và kiểu dữ liệu), bạn có thể sử dụng câu lệnh DESCRIBE trong MySQL.

Ví dụ 5: Xem cấu trúc của bảng employees

shell
DESCRIBE employees;

Câu lệnh này sẽ trả về thông tin về các cột, kiểu dữ liệu, và các ràng buộc trong bảng employees.

10. Lưu ý khi sử dụng CREATE TABLEDROP TABLE

a. Cẩn trọng khi sử dụng lệnh DROP TABLE

Lệnh DROP TABLE sẽ xóa toàn bộ dữ liệu trong bảng và không thể hoàn tác. Trước khi xóa bảng, bạn nên kiểm tra kỹ lưỡng và đảm bảo rằng dữ liệu quan trọng đã được sao lưu.

b. Quyền truy cập

Để tạo hoặc xóa bảng, bạn cần có đủ quyền truy cập trong cơ sở dữ liệu. Nếu bạn không có quyền, MySQL sẽ trả về lỗi.

c. Các ràng buộc khóa ngoại

Khi xóa bảng có ràng buộc khóa ngoại, MySQL có thể yêu cầu bạn xóa hoặc cập nhật các bảng liên quan trước khi thực hiện lệnh DROP TABLE.

Kết luận

Câu lệnh CREATE TABLEDROP TABLE là những lệnh quan trọng trong MySQL giúp bạn tạo và xóa bảng trong cơ sở dữ liệu. Hiểu cách thiết lập các cột, kiểu dữ liệu và ràng buộc sẽ giúp bạn quản lý cấu trúc bảng một cách hiệu quả. Tuy nhiên, hãy luôn cẩn trọng khi sử dụng DROP TABLE vì dữ liệu trong bảng sẽ bị xóa vĩnh viễn.

Hãy thử áp dụng các ví dụ về CREATE TABLEDROP TABLE trong MySQL trên hệ thống của bạn để làm quen với cách hoạt động của chúng!