Tạo bảng với CREATE TABLE kiểu dữ liệu cột trong SQL

Cách sử dụng CREATE TABLE để tạo bạng, định nghĩa các cột với kiểu dữ liệu trong SQL, sử dụng khóa chính Primary key

Tạo bảng SQL CREATE TABLE

Một cơ sở dữ liệu chứa trong nó hàng trăm bảng, mỗi bảng có chứa trong nó các quy tắc riêng nàm trong mô tả cơ sở dữ liệu.
Bảng xây dựng theo cấu trúc gồm cột và hàng. Các cột của bảng tương tứng lưu trữ nhiều kiểu dữ liệu khác nhau, có thể là số, chữ, ngày tháng thậm chí là file.

Mệnh đề CREATE TABLE để tạo ra bảng mới. Quy tắc cơ bản nó phải đưa ra định nghĩa tên các cột và kiểu dữ liệu của cột.
Cú pháp cơ bản nhất như sau:

CREATE TABLE table_name
(
    column_name1 data_type(size),
    column_name2 data_type(size),
    column_name3 data_type(size),
    ....
    columnN data_type(size)
)
  • column_names là tên các cột muốn tạo trong bảng
  • data_type tham số định nghĩa kiểu dữ liệu mà cột lưu trữ, ví dụ int lưu trữ số nguyên
  • size chỉ ra chiều dài lớn nhất của dữ liệu.

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

Tạo bảng có tên là Persons, bảng đó có các cột: PersionID dữ liệu số nguyên, LastName, FirstName, Address, City là text dài 255 ký tự

CREATE TABLE Persons (
    PersonID int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
);

Chạy thử

Sau khi thi hành lệnh trên, SQL sẽ tạo ra bảng, bạn có thể dùng các lệnh SQL khác nhau đã biết để kiểm tra.

Ở đây có một file CSDL mẫu dạng SQLite, bạn có thể tải về nghiên cứu, thực hành: CSDL SQLite mẫu.
Hoặc sử dụng trực tiếp công cụ Online: Chạy SQL

Trong câu lệnh trên bạn có thấy đã sử dụng intvarchar là kiểu dữ liệu cho cột

Kiểu dữ liệu trong SQL

Trong SQL có nhiều kiểu dữ liệu, mỗi hệ CSDL khác nhau (SQLServer, MySQL, Access, SQLite …) lại thêm vào một số dữ liệu riêng nên khi sử dụng
hệ CSDL cần tham khảo hướng dẫn của hệ CSDL đó để biết cụ thể kiểu dữ liệu mà nó hỗ trợ, dưới đây là một số hay dùng

Kiểu dữ liệu trong MySQL

Kiểu
Mô tả

CHAR(size)
Lưu trữ chuỗi chiều dài cố định (size), tối đa 255 ký tự.

VARCHAR(size)
Chuỗi ký tự. Khai báo chiều dài tối đã size tới 255 ký tự. Nếu nhập giá trị > 255 nó tự chuyển sang kiểu TEXT

TINYTEXT
Chuỗi ký tự với chiều dài tối đa 255 chữ

TEXT
Chuỗi ký tự, dài tối đa 65,535 chữ

BLOB
Lưu trữ BLOBs (Binary Large OBjects). Lưu giữ tới 65,535 bytes dữ liệu.

MEDIUMTEXT
Chuỗi ký tự, dài tối đa 16,777,215

MEDIUMBLOB
Lưu trữ BLOBs (Binary Large OBjects). Lưu được 16,777,215

LONGTEXT
Chuỗi ký tự, dài tới 4,294,967,295 chữ

LONGBLOB
BLOBs (Binary Large OBjects). Lưu tới 4,294,967,295 byte (4GB)

ENUM(x,y,z,etc.)
Cho phép bạn lưu trữ dữ liệu kiểu ENUM, giá trị mộ tả bở ENUM có thể tới 65535 giá trị khác nhau. Nếu giá trị chèn vào không thuộc danh sách giá trị, một giá trị trống được thay thế.

Ví dụ bạn định nghĩa ENUM(‘red’,’green’,’blue’) khi tạo cột, thì cột đó có thể gán các gí trị ‘red’, ‘green’, ‘blue’

SET
Tương tự ENUM nhưng mô tả tối đa 64 giá trị

DATE()
Ngày dạng YYYY-MM-DD

DATETIME()
Ngày giờ dạng YYYY-MM-DD HH:MI:SS

TIMESTAMP()
Thời gian UNIX

TIME()
Giờ HH:MI:SS

YEAR()
Năm 2 số

Kiểu dữ liệu SQLite

Tham khảo danh sách đầy đủ các kiểu dữ liệu SQLite hỗ trợ tại: SQLite

Kiểu dữ liệu MS SQL Server

Tham khảo danh sách đầy đủ các kiểu dữ liệu MS SQL Server hỗ trợ tại: MS SQL Server

Kiểu dữ liệu MS Access

Tham khảo danh sách đầy đủ các kiểu dữ liệu MS Access hỗ trợ tại: MS Access

Khóa chính Primary Key

Khóa chính là giá trị duy nhất cho một bản ghi (dòng) trong bảng. Một bảng có thể định nghĩa một cột là khóa chính Primary, Khóa chính giúp cho việc tìm kiếm, lọc dữ liệu.

Để thiết lập khóa chính khi tạo bảng sử dụng thêm: PRIMARY KEY(tên-cột)

Ví dụ tạo bảng trên, sửa lại và thiết lập PersonID là khóa chính

CREATE TABLE Persons (
    PersonID int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY(PersonID)
);

Chạy thử

Chú ý nếu bảng Persons đã có trong database! Bạn có thể xóa nó bằng DROP để tạo lại (hoặc thay đổi cấu trúc
bảng đang tồn tại để tránh mất dữ liệu với TABLE ALTER)

DROP TABLE Persons

Chạy thử

Sau khi chạy lệnh trên, bảng được tạo và lức này bạn có thể sử dụng INSERT INTO để chèn dữ liệu

ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB

Đăng ký nhận bài viết mới