Ngôn ngữ SQL - Kiểu dữ liệu trong SQL
Kiểu dữ liệu trong SQL
Các kiểu dữ liệu được sử dụng để thể hiện bản chất của dữ liệu có thể được lưu trữ trong bảng cơ sở dữ liệu. Ví dụ, trong một cột cụ thể của bảng, nếu chúng ta muốn lưu trữ một loại chuỗi dữ liệu thì chúng ta sẽ phải khai báo một kiểu dữ liệu chuỗi của cột này.
Các loại dữ liệu chủ yếu được phân loại thành ba loại cho mỗi cơ sở dữ liệu.
- Kiểu dữ liệu chuỗi
- Kiểu dữ liệu số
- Kiểu dữ liệu Ngày và giờ
Các kiểu dữ liệu trong cơ sở dữ liệu MySQL, SQL Server và Oracle
Kiểu dữ liệu MySQL
Danh sách các loại dữ liệu được sử dụng trong cơ sở dữ liệu MySQL. Điều này dựa trên MySQL 8.0.
MySQL String Data Types
BIT(Size) | Kiểu dữ liệu là bit. Số lượng bit trên mỗi giá trị được chỉ định theo kích thước. Kích thước của nó có thể là 1 đến 64. Giá trị mặc định là 1. |
INT(size) | Kiểu dữ liệu là số nguyên. Phạm vi thay đổi từ -2147483648 đến 2147483647 và phạm vi không dấu thay đổi từ 0 đến 4294967295. Tham số kích thước chỉ định chiều rộng hiển thị tối đa là 255. |
INTEGER(size) | Giống như INT(size). |
FLOAT(size, d) | Kiểu dữ liệu số dấu phẩy động(số thực). Tham số kích thước của nó chỉ định tổng số chữ số. Số chữ số sau dấu thập phân được chỉ định bởi tham số d. |
FLOAT(p) | NKiểu dữ liệu số dấu phẩy động. MySQL đã sử dụng tham số p để xác định nên sử dụng FLOAT hay DOUBLE. Nếu p nằm trong khoảng từ 0 đến 24, kiểu dữ liệu sẽ trở thành FLOAT (). Nếu p từ 25 đến 53, kiểu dữ liệu trở thành DOUBLE (). |
DOUBLE(size, d) | Kiểu dữ liệu số thực |
DECIMAL(size, d) | Kiểu dữ liệu cố định. Tham số kích thước của nó chỉ định tổng số chữ số. Số chữ số sau tham số thập phân được chỉ định bởi tham số d. Giá trị tối đa cho kích thước là 65 và giá trị mặc định là 10. Giá trị tối đa cho d là 30 và giá trị mặc định là 0. |
DEC(size, d) | Tương tự DECIMAL(size, d). |
BOOL | Kiểu dữ liệu boolean. 0 là false, 1 là true |
Kiểu dữ liệu Ngày và Giờ trong MySQL
DATE | Theo dạng YYYY-MM-DD. Từ ngày '1000-01-01' đến ngày '9999-12-31'. |
DATETIME(fsp) | Kiểu dữ liệu ngày và giờ. Theo dạng YYYY-MM-DD hh:mm:ss. Từ ngày '1000-01-01 00:00:00' đến ngày 9999-12-31 23:59:59'. |
TIMESTAMP(fsp) | Lưu trữ một số duy nhất trong cơ sở dữ liệu được cập nhật mỗi khi một hàng được cập nhật |
TIME(fsp) | Lưu trữ thời gian trong ngày như 12:30 PM. |
R | Khai báo một năm ở định dạng bốn chữ số. Các giá trị được phép ở định dạng bốn chữ số từ 1901 đến 2155 và 0000. |
Kiểu dữ liệu SQL Server
Kiểu dữ liệu chuỗi SQL Server
char(n) | Kiểu dữ liệu chuỗi ký tự có kích thước cố định. Kích thước của nó có thể lên tới 8000 ký tự. |
varchar(n) | Kiểu dữ liệu chuỗi ký tự có kích thước thay đổi. Kích thước của nó có thể lên tới 8000 ký tự. |
varchar(max) | Kiểu dữ liệu chuỗi ký tự có kích thước thay đổi. Kích thước của nó có thể lên tới 1.073.741.824 ký tự. |
text | Kiểu dữ liệu chuỗi ký tự có kích thước thay đổi. Kích thước của nó có thể lên tới 2GB dữ liệu văn bản. |
nchar | Kiểu dữ liệu chuỗi Unicode có kích thước cố định. Kích thước của nó có thể lên tới 4000 ký tự. |
nvarchar | Kiểu dữ liệu chuỗi Unicode có kích thước thay đổi. Kích thước của nó có thể lên tới 4000 ký tự. |
ntext | Kiểu dữ liệu chuỗi Unicode có kích thước thay đổi. Kích thước của nó có thể lên tới 2GB dữ liệu văn bản. |
binary(n) | Kiểu dữ liệu chuỗi nhị phân có kích thước cố định. Kích thước của nó có thể lên tới 8000 byte. |
varbinary | Kiểu dữ liệu chuỗi nhị phân có kích thước thay đổi. Kích thước của nó có thể lên tới 8000 byte. |
image | Cũng là một kiểu dữ liệu chuỗi nhị phân có kích thước thay đổi. Kích thước của nó có thể lên tới 2GB. |
Các loại dữ liệu số SQL Server
bit | Có giá trị 0, 1 or null. |
tinyint | Có giá trị từ 0 đến 255. |
Smallint | Có giá trị trong khoảng -32,768 đến 32,767. |
Int | Có giá trị từ -2,147,483,648 đến 2,147,483,647. |
bigint | Có giá trị từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807. |
float(n) | Kiểu dữ liệu số thực từ -1,79E + 308 đến 1,79E + 308. Tham số n cho biết trường nên giữ 4 hoặc 8 byte. Giá trị mặc định của n là 53. |
real | Kiểu dữ liệu số thực có giá trị từ -3.40E+38 đến 3.40E+38. |
money | Kiểu dữ liệu tiền tệ từ -922,337,233,685,477.5808 đến 922,337,203,685,477.5807. |
Kiểu dữ liệu ngày và giờ trong SQL Server
datetime | Từ ngày 1 tháng 1 năm 1753 đến Ngày 31 tháng 12 năm 9999 |
datetime2 | Từ ngày 1 tháng 1 năm 0001 đến Ngày 31 tháng 12 năm 9999 chính xác đến nano giây. |
date | Từ ngày 1 tháng 1 năm 0001 đến Ngày 31 tháng 12 năm 9999 |
time | Lưu thời gian chính xác 100 nanoseconds |
timestamp | Lưu trữ một số duy nhất trong cơ sở dữ liệu được cập nhật mỗi khi một hàng được cập nhật |
Các kiểu dữ liệu khác của SQL Server
Sql_variant | Lưu trữ các giá trị của các Kiểu dữ liệu khác nhau được hỗ trợ bởi SQL Server, ngoại trừ văn bản, ntext và dấu thời gian. Lưu trữ đên 8000 bytes dữ liệu |
XML | Lưu trữ dữ liệu XML. Bạn có thể lưu trữ các thể hiện xml trong một cột hoặc một biến (chỉ có SQL Server 2005). Tối đa 2GB. |
cursor | Tham chiếu Từ một đối tượng con trỏ. |
table | Lưu trữ một tập kết quả để xử lý sau. |
uniqueidentifier | Lưu trữ GUID (Globally unique identifier). |