Tạo bảng trong MySQL: Ví dụ và giải thích

Cập nhật lần cuối: Tháng Bảy 28 2025
  • MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ phổ biến để phát triển các ứng dụng web.
  • Các bảng trong MySQL được tổ chức thành các cột và hàng, mỗi cột có một kiểu dữ liệu.
  • Các ràng buộc như khóa chính và khóa ngoại rất cần thiết cho tính toàn vẹn của dữ liệu.
  • Việc tối ưu hóa hiệu suất của bảng là rất quan trọng để đảm bảo phản hồi truy vấn nhanh.
Tạo bảng trong MySQL

Hướng dẫn đầy đủ về cách tạo bảng trong MySQL: khái niệm, ví dụ và cách thực hành tốt nhất

MySQL là gì và tại sao nó lại quan trọng?

MySQL là gì
Bài viết liên quan:
MySQL là gì và nó hoạt động như thế nào?

Tạo bảng trong MySQL: Các khái niệm cơ bản

tạo một bảng trong mysql
Bài viết liên quan:
Các bước đơn giản để tạo bảng trong MySQL

Tạo cơ sở dữ liệu trong MySQL

CREATE DATABASE nombre_base_de_datos;

Tạo một bảng trong MySQL

CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  columna3 tipo_dato,
  ...
);
Ví dụ về truy vấn nhiều bảng MySQL
Bài viết liên quan:
Ví dụ về truy vấn nhiều bảng MySQL

Các kiểu dữ liệu trong MySQL

  • INT o INTEGER: để lưu trữ số nguyên.
  • VARCHAR: để lưu trữ các chuỗi văn bản có độ dài thay đổi.
  • CHAR: để lưu trữ các chuỗi văn bản có độ dài cố định.
  • DECIMAL: để lưu trữ số thập phân.
  • DATE: để lưu trữ ngày tháng.
  • TIME: để lưu trữ giờ.
  • DATETIME: để lưu trữ ngày và giờ kết hợp.

Tạo bảng trong MySQL: Ví dụ và giải thích

Ví dụ 1: Tạo bảng người dùng

CREATE TABLE usuarios (
  id INT PRIMARY KEY,
  nombre VARCHAR(50),
  email VARCHAR(100),
  fecha_registro DATE
);

Ví dụ 2: Tạo bảng sản phẩm

CREATE TABLE productos (
  id INT PRIMARY KEY,
  nombre VARCHAR(100),
  precio DECIMAL(10, 2),
  fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Làm thế nào để tạo bảng trong MySQL có ràng buộc?

  • Khóa chínhKhóa chính là một cột (hoặc một tập hợp các cột) có chức năng xác định duy nhất từng bản ghi trong bảng. Để tạo khóa chính trong MySQL, bạn có thể sử dụng cú pháp sau:
CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  ...,
  PRIMARY KEY (columna1)
);
  • Trong ví dụ này, cột “column1” đã được xác định là khóa chính.
  • Khóa ngoại:Khóa ngoại thiết lập mối quan hệ giữa hai bảng dựa trên một cột chung. Để tạo khóa ngoại trong MySQL, bạn cần làm theo các bước sau:
    1. Đầu tiên, tạo bảng chính có khóa chính:
CREATE TABLE tabla_principal (
  id INT PRIMARY KEY,
  ...
);
CREATE TABLE tabla_secundaria (
  id INT,
  ...
  FOREIGN KEY (id) REFERENCES tabla_principal(id)
);
    1. Trong ví dụ này, cột “id” trong bảng “child_table” đã được định nghĩa là khóa ngoại và tham chiếu đến cột “id” trong bảng “parent_table”.
  • Ràng buộc toàn vẹnRàng buộc toàn vẹn đảm bảo rằng dữ liệu được lưu trữ trong bảng tuân theo các quy tắc nhất định. Ví dụ, bạn có thể đặt ràng buộc toàn vẹn để đảm bảo giá trị không phải là null hoặc tuân theo định dạng cụ thể. Dưới đây là một ví dụ về cách tạo ràng buộc toàn vẹn:
CREATE TABLE nombre_tabla (
  columna1 tipo_dato CONSTRAINT nombre_restriccion NOT NULL,
  ...
);
  • Trong ví dụ này, ràng buộc “constraint_name” đảm bảo rằng cột “column1” không thể chứa giá trị null.
  Cơ sở dữ liệu phân tán: Chúng là gì, các loại và ưu điểm

Tạo bảng trong MySQL: Những cân nhắc nâng cao

Làm thế nào để tạo bảng trong MySQL với khóa chính và khóa ngoại?

CREATE TABLE tabla_principal (
  id INT PRIMARY KEY,
  ...
);

CREATE TABLE tabla_secundaria (
  id INT,
  ...
  FOREIGN KEY (id) REFERENCES tabla_principal(id)
);

Làm thế nào để tạo bảng trong MySQL có chỉ mục?

CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  ...
  INDEX nombre_indice (columna1, columna2)
);

Làm thế nào để sửa đổi bảng trong MySQL?

ALTER TABLE nombre_tabla ADD columna tipo_dato;

ALTER TABLE nombre_tabla DROP COLUMN columna;

ALTER TABLE nombre_tabla MODIFY columna nuevo_tipo_dato;

Làm thế nào để xóa một bảng trong MySQL?

DROP TABLE nombre_tabla;

Làm thế nào để truy vấn một bảng trong MySQL?

SELECT * FROM nombre_tabla;

Làm thế nào để nhập và xuất dữ liệu trong MySQL?

Làm thế nào để sao lưu và khôi phục bảng trong MySQL?

Làm thế nào để tối ưu hóa hiệu suất bảng trong MySQL?

Làm thế nào để khắc phục những sự cố thường gặp khi tạo bảng trong MySQL?

Kết luận