Trang chủ>  Blog >  Tin tức >  Tạo bảng trong SQL đơn giản, nhanh chóng chỉ với 10 phút

Tạo bảng trong SQL đơn giản, nhanh chóng chỉ với 10 phút


Tìm hiểu cách tạo bảng trong SQL dễ dàng với hướng dẫn chi tiết từ cơ bản đến nâng cao. Nắm vững câu lệnh SQL để tạo bảng với khóa chính, khóa ngoại và xử lý dữ liệu hiệu quả.

  388 lượt xem

Nội dung bài viết

Trong SQL, tạo bảng là một bước cơ bản nhưng cực kỳ quan trọng. Mỗi bảng trong hệ thống quản lý cơ sở dữ liệu (DBMS) đại diện cho một thực thể hoặc đối tượng cụ thể, từ đó tạo nền tảng cho việc tổ chức và truy vấn dữ liệu. Đối với các nhà phát triển, việc nắm vững lệnh tạo bảng trong SQL không chỉ giúp họ dễ dàng quản lý dữ liệu mà còn tối ưu hóa quá trình xử lý và cập nhật thông tin nhanh chóng, chính xác.

Câu lệnh cơ bản để tạo bảng trong SQL 

Ví dụ về lệnh CREATE TABLE 

Khi làm việc với SQL, lệnh đầu tiên bạn cần biết là CREATE TABLE. Đây là câu lệnh cơ bản nhất để tạo một bảng mới trong cơ sở dữ liệu. Dưới đây là một ví dụ đơn giản:

CREATE TABLE NhanVien (

    ID INT,

    HoTen VARCHAR(100),

    NgaySinh DATE,

    ChucVu VARCHAR(50)

);

Câu lệnh trên tạo ra bảng tên là "NhanVien" với 4 cột: ID, HoTen, NgaySinh, và ChucVu. Mỗi cột có một kiểu dữ liệu khác nhau, giúp bạn lưu trữ thông tin cụ thể về nhân viên.

Các kiểu dữ liệu trong SQL khi tạo bảng 

Khi tạo bảng, việc chọn đúng kiểu dữ liệu (data types) cho từng cột là rất quan trọng. SQL cung cấp nhiều loại kiểu dữ liệu khác nhau, cho phép bạn quản lý và xử lý dữ liệu một cách tối ưu. Dưới đây là một số kiểu dữ liệu thông dụng:

  • INT: Dùng để lưu trữ số nguyên. Ví dụ: tuổi, số lượng sản phẩm.
  • VARCHAR(n): Dùng để lưu trữ chuỗi ký tự có độ dài thay đổi, với n là số ký tự tối đa. Ví dụ: tên người, địa chỉ email.
  • DATE: Dùng để lưu trữ ngày tháng. Ví dụ: ngày sinh, ngày tạo đơn hàng.

Tạo bảng trong SQLTạo bảng trong SQL

Giải thích về INT, VARCHAR, DATE

  • INT: Đây là kiểu dữ liệu số nguyên, được dùng khi bạn cần lưu trữ các giá trị không có phần thập phân. Ví dụ, bạn có thể dùng INT cho mã nhân viên hoặc số lượng sản phẩm. Nếu muốn lưu trữ tuổi, số điện thoại, hoặc mã số hóa đơn, bạn cũng có thể chọn INT.
  • VARCHAR: Kiểu dữ liệu chuỗi ký tự linh hoạt, phù hợp cho các giá trị như tên, địa chỉ hoặc email. Bạn có thể tùy ý chỉ định số lượng ký tự tối đa cho mỗi chuỗi, giúp tiết kiệm không gian lưu trữ hơn so với CHAR, một kiểu dữ liệu có độ dài cố định.
  • DATE: Đây là kiểu dữ liệu dành riêng cho ngày tháng. Rất hữu ích khi bạn cần lưu trữ các thông tin như ngày sinh, ngày nhập học, hoặc ngày tạo đơn hàng. SQL sẽ tự động nhận diện và xử lý ngày tháng theo định dạng chuẩn.

Thêm khóa chính vào bảng 

Trong SQL, khóa chính (primary key) rất quan trọng. Nó giúp xác định mỗi hàng trong bảng là duy nhất, tránh việc trùng lặp dữ liệu. Để thêm khóa chính khi tạo bảng, bạn chỉ cần thêm từ khóa PRIMARY KEY vào cột mong muốn. Ví dụ:

CREATE TABLE NhanVien (

    ID INT PRIMARY KEY,

    HoTen VARCHAR(100),

    NgaySinh DATE,

    ChucVu VARCHAR(50)

);

Trong ví dụ trên, ID là khóa chính, đảm bảo rằng mỗi nhân viên sẽ có một mã ID duy nhất. Khóa chính cũng giúp việc tìm kiếm và quản lý dữ liệu nhanh hơn, hiệu quả hơn.

Thêm khóa chính vào bảngThêm khóa chính vào bảng

Tạo bảng với khóa chính và khóa ngoại 

Định nghĩa về khóa chính và khóa ngoại

Khi làm việc với cơ sở dữ liệu SQL, hai khái niệm quan trọng mà bạn cần hiểu rõ là khóa chính (primary key)khóa ngoại (foreign key).

  • Khóa chính (Primary Key): Đây là một cột hoặc nhóm cột trong bảng, giúp xác định duy nhất mỗi hàng trong bảng. Khóa chính đảm bảo rằng không có giá trị trùng lặp và không có giá trị NULL. Mỗi bảng chỉ có thể có một khóa chính.
  • Khóa ngoại (Foreign Key): Đây là một cột trong bảng, liên kết với khóa chính của một bảng khác. Khóa ngoại giúp tạo mối quan hệ giữa hai bảng, đảm bảo tính toàn vẹn của dữ liệu, tránh việc nhập những giá trị không tồn tại trong bảng chính.

Ví dụ 

Để minh họa rõ hơn, dưới đây là ví dụ về cách tạo bảng với khóa chính và khóa ngoại trong SQL:

CREATE TABLE PhongBan (

    MaPhongBan INT PRIMARY KEY,

    TenPhongBan VARCHAR(100)

);

CREATE TABLE NhanVien (

    MaNhanVien INT PRIMARY KEY,

    HoTen VARCHAR(100),

    MaPhongBan INT,

    FOREIGN KEY (MaPhongBan) REFERENCES PhongBan(MaPhongBan)

);

Trong ví dụ này, bảng PhongBan có khóa chính là cột MaPhongBan. Bảng NhanVien có khóa chính là MaNhanVien, và MaPhongBan trong bảng NhanVien là khóa ngoại, liên kết với MaPhongBan trong bảng PhongBan. Điều này có nghĩa là mỗi nhân viên phải thuộc về một phòng ban đã tồn tại, giúp duy trì mối quan hệ hợp lý giữa hai bảng.
>> Xem thêm: 

Sử dụng các ràng buộc (constraints) khi tạo bảng

NOT NULL, UNIQUE, CHECK, DEFAULT

Khi tạo bảng trong SQL, các ràng buộc (constraints) giúp đảm bảo tính chính xác và nhất quán của dữ liệu. Có bốn loại ràng buộc phổ biến được sử dụng:

  • NOT NULL: Đảm bảo rằng một cột không thể có giá trị rỗng (NULL). Điều này giúp ngăn việc bỏ trống thông tin quan trọng.
  • UNIQUE: Đảm bảo rằng tất cả các giá trị trong một cột đều khác nhau, không có giá trị trùng lặp.
  • CHECK: Giới hạn giá trị của một cột dựa trên điều kiện cụ thể. Ví dụ: kiểm tra rằng một giá trị phải lớn hơn hoặc bằng 18 tuổi.
  • DEFAULT: Cung cấp giá trị mặc định cho cột nếu không có giá trị nào được nhập vào. Điều này rất hữu ích khi có các trường thông tin không bắt buộc nhưng vẫn cần giá trị hợp lý nếu không được nhập.

Ví dụ 

Để giúp bạn hiểu rõ hơn về cách sử dụng các ràng buộc này, dưới đây là một ví dụ về cách áp dụng các ràng buộc khi tạo bảng trong SQL:

CREATE TABLE NhanVien (

    MaNhanVien INT PRIMARY KEY,

    HoTen VARCHAR(100) NOT NULL,

    Email VARCHAR(100) UNIQUE,

    NgaySinh DATE CHECK (NgaySinh >= '1900-01-01'),

    Luong DECIMAL(10, 2) DEFAULT 5000000

);

Trong ví dụ trên:

  • Cột HoTen sử dụng ràng buộc NOT NULL, yêu cầu nhân viên phải có họ tên, không được để trống.
  • Cột Email sử dụng ràng buộc UNIQUE, đảm bảo rằng mỗi nhân viên phải có địa chỉ email riêng biệt, không trùng với ai khác.
  • Cột NgaySinh sử dụng ràng buộc CHECK, đảm bảo rằng ngày sinh của nhân viên phải từ năm 1900 trở đi.
  • Cột Luong sử dụng ràng buộc DEFAULT, mặc định lương của nhân viên sẽ là 5,000,000 VND nếu không được nhập giá trị nào.

Các ràng buộc khi tạo bảngCác ràng buộc khi tạo bảng

Tạo bảng tạm (Temporary Table) trong SQL 

Bảng tạm (temporary table) là một loại bảng chỉ tồn tại trong một phiên làm việc của cơ sở dữ liệu. Điều này có nghĩa là khi phiên làm việc (session) của người dùng kết thúc hoặc khi kết thúc truy vấn, bảng tạm sẽ tự động bị xóa. Bảng tạm hữu ích khi bạn cần lưu trữ dữ liệu tạm thời để thực hiện các thao tác trung gian mà không làm ảnh hưởng đến các bảng chính trong cơ sở dữ liệu.

Để tạo một bảng tạm trong SQL, bạn sử dụng câu lệnh CREATE TEMPORARY TABLE. Cú pháp của lệnh tạo bảng tạm tương tự như lệnh tạo bảng thông thường. Dưới đây là một ví dụ về cách tạo bảng tạm:

CREATE TEMPORARY TABLE BangTamNhanVien (

    MaNhanVien INT,

    HoTen VARCHAR(100),

    Luong DECIMAL(10, 2)

);

INSERT INTO BangTamNhanVien (MaNhanVien, HoTen, Luong)

VALUES (1, 'Nguyen Van A', 10000000),

       (2, 'Le Thi B', 8000000);

SELECT * FROM BangTamNhanVien;

Trong ví dụ trên:

  • BangTamNhanVien là một bảng tạm chứa thông tin về nhân viên bao gồm mã nhân viên, họ tên và lương.
  • Dữ liệu được thêm vào bảng tạm và có thể truy vấn trong suốt phiên làm việc.
  • Sau khi phiên kết thúc, bảng tạm này sẽ bị xóa, và dữ liệu trong bảng sẽ không còn tồn tại.

Những lỗi thường gặp khi tạo bảng và cách khắc phục 

Lỗi thiếu khóa chính hoặc khóa ngoại 

Một trong những lỗi phổ biến nhất khi tạo bảng trong SQL là không xác định rõ khóa chính (Primary Key) hoặc khóa ngoại (Foreign Key). Khóa chính giúp đảm bảo rằng mỗi bản ghi trong bảng đều là duy nhất và không trùng lặp. Thiếu khóa chính có thể dẫn đến việc dữ liệu trùng lặp, khiến cho việc quản lý và truy xuất thông tin trở nên phức tạp hơn. Tương tự, khóa ngoại đóng vai trò liên kết giữa các bảng, giúp duy trì tính toàn vẹn của dữ liệu.

  • Cách khắc phục: Khi tạo bảng, luôn đảm bảo rằng bạn đã xác định khóa chính. Ví dụ, với bảng nhân viên, bạn có thể xác định khóa chính là MaNhanVien. Đồng thời, nếu bảng cần liên kết với bảng khác, hãy định nghĩa khóa ngoại. Đây là một ví dụ:

CREATE TABLE NhanVien (

    MaNhanVien INT PRIMARY KEY,

    HoTen VARCHAR(100)

);

CREATE TABLE PhongBan (

    MaPhongBan INT PRIMARY KEY,

    TenPhongBan VARCHAR(100),

    MaTruongPhong INT,

    FOREIGN KEY (MaTruongPhong) REFERENCES NhanVien(MaNhanVien)

);

Thiếu khóa chính hoặc khóa ngoạiThiếu khóa chính hoặc khóa ngoại

Lỗi khi xác định kiểu dữ liệu 

Xác định kiểu dữ liệu sai là lỗi thường gặp khi tạo bảng, nó có thể gây ra nhiều rắc rối khi thao tác với dữ liệu. Ví dụ, việc sử dụng kiểu dữ liệu VARCHAR cho cột chứa ngày tháng hoặc sử dụng kiểu INT cho dữ liệu mà có thể chứa ký tự không phải số sẽ khiến dữ liệu không thể lưu trữ chính xác.

  • Cách khắc phục: Bạn cần xem xét kỹ từng loại dữ liệu của các cột trong bảng trước khi tạo. Ví dụ, với ngày tháng, nên sử dụng kiểu dữ liệu DATE, và với chuỗi ký tự, hãy sử dụng VARCHAR có độ dài phù hợp. Nếu có nghi ngờ về kiểu dữ liệu, bạn có thể tham khảo tài liệu của SQL hoặc kiểm tra kỹ trước khi tiến hành tạo bảng.

Các lỗi khác và cách khắc phục

Ngoài các lỗi trên, còn nhiều lỗi khác thường gặp khi tạo bảng:

  1. Lỗi tên cột hoặc tên bảng trùng lặp: Nếu bạn tạo bảng mới với tên trùng với một bảng đã tồn tại hoặc tên cột trong cùng bảng bị trùng lặp, SQL sẽ báo lỗi.
    • Cách khắc phục: Trước khi tạo bảng, kiểm tra kỹ tên của bảng và cột. Sử dụng cú pháp như SHOW TABLES hoặc SHOW COLUMNS để xem các bảng và cột hiện có.
  2. Lỗi không sử dụng ràng buộc (constraint) đúng cách: Ràng buộc như NOT NULL, UNIQUE, DEFAULT, và CHECK giúp đảm bảo tính toàn vẹn của dữ liệu. Nếu bạn không áp dụng đúng, có thể dẫn đến lỗi dữ liệu không nhất quán.
    • Cách khắc phục: Hãy áp dụng các ràng buộc này khi cần thiết và xem xét kỹ dữ liệu của bạn trước khi thực hiện các thao tác trên bảng.
  3. Lỗi cú pháp SQL: Một lỗi nhỏ như dấu chấm phẩy hoặc cách viết sai từ khóa có thể khiến câu lệnh SQL không thực hiện được.
    • Cách khắc phục: Kiểm tra lại cú pháp thật kỹ trước khi chạy câu lệnh. Sử dụng các công cụ kiểm tra cú pháp SQL nếu cần.

Những lỗi trên không chỉ làm gián đoạn quy trình làm việc mà còn có thể dẫn đến mất mát dữ liệu hoặc dữ liệu không chính xác. Tuy nhiên, nếu nắm vững cách khắc phục, bạn sẽ giảm thiểu được rủi ro khi thao tác với cơ sở dữ liệu.

Tạo bảng trong SQL là một trong những kỹ năng cơ bản và quan trọng nhất. Nắm vững những kiến thức này không chỉ giúp công việc dễ dàng hơn mà còn mở rộng cơ hội phát triển nghề nghiệp trong lĩnh vực cơ sở dữ liệu.

Nếu bạn muốn nâng cao kỹ năng SQL và trở thành chuyên gia trong việc quản lý cơ sở dữ liệu, hãy tham gia ngay các khóa học SQL tại Học viện MCI. Với chương trình học thiết kế theo nhu cầu thực tế của doanh nghiệp, bạn sẽ nắm vững kiến thức từ cơ bản đến nâng cao, từ cách tạo bảng, truy vấn dữ liệu cho đến tối ưu hóa cơ sở dữ liệu. Đừng bỏ lỡ cơ hội để nâng cấp kỹ năng và phát triển sự nghiệp của bạn với MCI!

Đăng ký khóa học ngay hôm nay!

Chương trình đào tạo: Phân tích dữ liệu, Khoa học dữ liệu, Kĩ sư dữ liệu, Lập trình ứng dụng.
Chất lượng nhất - Uy tín nhất - Nhiều học viên tin tưởng nhất
Hơn 8000 học viên ưu tú đã tốt nghiệp
Các khóa học

Đăng ký tư vấn khóa học

*Vui lòng nhập số điện thoại của bạn

*Vui lòng nhập họ tên của bạn

*Vui lòng chọn địa điểm học

*Vui lòng chọn giới tính

*Vui lòng chọn 1 trường


Các bài viết liên quan


Các bài viết liên quan