Các kiểu dữ liệu SQL cho MySQL, SQL Server và MS Access – các loại sql là gì

Bạn đang xem : các loại sql

SQL

Kiểu dữ liệu cho MySQL, SQL Server và MS Access

Kiểu dữ liệu của cột xác định giá trị mà cột có thể giữ:
số nguyên, ký tự, tiền, ngày và giờ, nhị phân,
vân vân.

Kiểu dữ liệu SQL

Mỗi cột trong bảng cơ sở dữ liệu bắt buộc phải có tên và kiểu dữ liệu.

Một nhà phát triển SQL phải quyết định loại dữ liệu nào sẽ được lưu trữ bên trong mỗi
cột khi tạo bảng. Kiểu dữ liệu là
hướng dẫn cho SQL để hiểu loại dữ liệu được mong đợi bên trong mỗi
và nó cũng xác định cách SQL sẽ tương tác với dữ liệu được lưu trữ.

Lưu ý: Các loại dữ liệu có thể có các tên khác nhau trong cơ sở dữ liệu khác nhau.
Và ngay cả khi tên giống nhau, kích thước và các chi tiết khác có thể khác nhau!
Luôn kiểm tra
tài liệu!

Các kiểu dữ liệu MySQL (Phiên bản 8.0)

Trong MySQL có ba kiểu dữ liệu chính: chuỗi, số và ngày giờ.

Các kiểu dữ liệu chuỗi

Loại dữ liệu
Sự mô tả

CHAR (kích thước)
Một chuỗi độ dài CỐ ĐỊNH (có thể chứa các chữ cái, số và các ký tự đặc biệt). Các
tham số kích thước chỉ định độ dài cột bằng ký tự – có thể là
từ 0 đến 255. Mặc định là 1

VARCHAR (kích thước)
Một chuỗi độ dài VARIABLE (có thể chứa các chữ cái, số và đặc biệt
nhân vật). Tham số kích thước chỉ định cột tối đa
độ dài tính bằng ký tự – có thể từ 0 đến 65535

BINARY (kích thước)
Bằng CHAR (), nhưng lưu trữ các chuỗi byte nhị phân. Kích cỡ
tham số chỉ định độ dài cột tính bằng byte. Mặc định là 1

VARBINARY (kích thước)
Bằng với VARCHAR (), nhưng lưu trữ các chuỗi byte nhị phân. Kích cỡ
tham số chỉ định độ dài cột tối đa tính bằng byte.

TINYBLOB
Đối với BLOB (Đối tượng lớn nhị phân). Độ dài tối đa: 255 byte

TINYTEXT
Giữ một chuỗi có độ dài tối đa là 255 ký tự

Cỡ chữ)
Giữ một chuỗi có độ dài tối đa là 65,535 byte

BLOB (kích thước)
Đối với BLOB (Đối tượng lớn nhị phân). Lưu trữ lên đến 65.535 byte dữ liệu

MEDIUMTEXT
Giữ một chuỗi có độ dài tối đa là 16,777,215 ký tự

MEDIUMBLOB
Đối với BLOB (Đối tượng lớn nhị phân). Lưu trữ lên đến 16.777.215 byte dữ liệu

VĂN BẢN DÀI
Giữ một chuỗi có độ dài tối đa là 4,294,967,295 ký tự

LONGBLOB
Đối với BLOB (Đối tượng lớn nhị phân). Chứa tới 4.294.967.295 byte dữ liệu

ENUM (val1, val2, val3, …)
Một đối tượng chuỗi chỉ có thể có một giá trị, được chọn từ danh sách các giá trị có thể có. Bạn có thể liệt kê tới 65535 giá trị trong danh sách ENUM. Nếu một giá trị được chèn mà không có trong danh sách, một giá trị trống sẽ được chèn.
Các giá trị được sắp xếp theo thứ tự bạn nhập vào

SET (val1, val2, val3, …)
Đối tượng chuỗi có thể có 0 hoặc nhiều giá trị, được chọn từ danh sách
những giá trị khả thi. Bạn có thể liệt kê tối đa 64 giá trị trong danh sách SET

Kiểu dữ liệu số

Loại dữ liệu
Sự mô tả

BIT (kích thước)
Một kiểu giá trị bit. Số lượng bit trên mỗi giá trị được chỉ định về kích thước.
Tham số kích thước có thể giữ giá trị từ 1 đến 64. Giá trị mặc định
giá trị cho kích thước là 1.

TINYINT (kích thước)
Một số nguyên rất nhỏ. Dải ô đã ký là từ -128 đến 127. Dải ô chưa ký
là từ 0 đến 255. Tham số kích thước chỉ định giá trị tối đa
chiều rộng màn hình (là 255)

BOOL
Giá trị 0 được coi là sai, các giá trị khác không được coi là đúng.

BOOLEAN
Bằng với BOOL

SMALLINT (kích thước)
Một số nguyên nhỏ. Dải ô đã ký là từ -32768 đến 32767. Dải ô chưa ký
là từ 0 đến 65535. Tham số kích thước chỉ định giá trị tối đa
chiều rộng màn hình (là 255)

MEDIUMINT (kích thước)
Một số nguyên trung bình. Phạm vi đã ký là từ -8388608 đến 8388607. Chưa ký
phạm vi từ 0 đến 16777215. Tham số kích thước chỉ định
chiều rộng hiển thị tối đa (là 255)

Xem Thêm  Thẻ Div - GeeksforGeeks - html div là gì

INT (kích thước)
Một số nguyên trung bình. Phạm vi đã ký là từ -2147483648 đến 2147483647.
Phạm vi không dấu là 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 (kích thước)
Bằng INT (kích thước)

BIGINT (kích thước)
Một số nguyên lớn. Phạm vi đã ký là từ -9223372036854775808 đến
9223372036854775807. Phạm vi chưa được đánh dấu là từ 0 đến 18446744073709551615.
tham số kích thước chỉ định chiều rộng hiển thị tối đa (là 255)

FLOAT (kích thước, d)
Một số dấu phẩy động. Tổng số chữ số được chỉ định trong
kích thước. Số chữ số sau dấu thập phân được chỉ định
trong tham số d. Cú pháp này không được chấp nhận trong MySQL 8.0.17,
và nó sẽ bị loại bỏ trong các phiên bản MySQL trong tương lai

FLOAT (p)
Một số dấu phẩy động. MySQL sử dụng giá trị p để xác định
sử dụng FLOAT hay DOUBLE cho kiểu dữ liệu kết quả. Nếu p
là từ 0 đến 24, kiểu dữ liệu trở thành FLOAT (). Nếu p từ 25 đến
53, kiểu dữ liệu trở thành DOUBLE ()

DOUBLE (kích thước, d)
Một số dấu phẩy động có kích thước bình thường. Tổng số chữ số được chỉ định trong
kích thước. Số chữ số sau dấu thập phân được chỉ định
trong tham số d

CHÍNH XÁC NHÂN ĐÔI (kích thước, d)

DECIMAL (kích thước, d)
Một số điểm cố định chính xác. Tổng số chữ số được chỉ định trong
kích thước. Số chữ số sau dấu thập phân được chỉ định
trong tham số d. Số lượng tối đa cho kích thước là 65.
Số tối đa cho d là 30. Giá trị mặc định cho kích thước
là 10. Giá trị mặc định của d là 0.

DEC (kích thước, d)
Bằng với DECIMAL (kích thước, d)

Lưu ý: Tất cả các kiểu dữ liệu số có thể có một tùy chọn bổ sung: UNSIGNED
hoặc ZEROFILL. Nếu bạn thêm tùy chọn UNSIGNED, MySQL không cho phép các giá trị âm cho
cột. Nếu bạn thêm tùy chọn ZEROFILL, MySQL cũng tự động thêm
Thuộc tính UNSIGNED cho cột.

Loại dữ liệu ngày và giờ

Loại dữ liệu
Sự mô tả

NGÀY
Một buổi hẹn hò. Định dạng: YYYY-MM-DD. Phạm vi được hỗ trợ là từ ‘1000-01-01’ đến ‘9999-12-31’

DATETIME (fsp)
Ngày và giờ kết hợp. Định dạng: YYYY-MM-DD hh: mm: ss. Phạm vi được hỗ trợ là từ ‘1000-01-01 00:00:00’ đến ‘9999-12-31 23:59:59’.
Thêm DEFAULT và ON UPDATE trong định nghĩa cột để tự động
khởi tạo và cập nhật ngày giờ hiện tại

TIMESTAMP (fsp)
Dấu thời gian. Giá trị TIMESTAMP được lưu trữ dưới dạng số giây kể từ kỷ nguyên Unix (‘1970-01-01 00:00:00’ UTC). Định dạng: YYYY-MM-DD
hh: mm: ss. Phạm vi được hỗ trợ là từ ‘1970-01-01 00:00:01’ UTC đến ‘2038-01-09 03:14:07’ UTC.
Tự động khởi tạo và cập nhật ngày và giờ hiện tại có thể
được chỉ định bằng DEFAULT CURRENT_TIMESTAMP và ON UPDATE CURRENT_TIMESTAMP
trong định nghĩa cột

TIME (fsp)
Một thời gian. Định dạng: hh: mm: ss. Phạm vi được hỗ trợ là từ ‘-838: 59: 59’ đến ‘838: 59: 59’

NĂM
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ố: 1901 đến 2155 và 0000.
MySQL 8.0 không hỗ trợ năm ở định dạng hai chữ số.

Kiểu dữ liệu máy chủ SQL

Kiểu dữ liệu chuỗi

Loại dữ liệu
Sự mô tả
Kích thước tối đa
Kho

char (n)
Chuỗi ký tự có độ rộng cố định
8.000 ký tự
Chiều rộng xác định

varchar (n)
Chuỗi ký tự có độ rộng thay đổi
8.000 ký tự
2 byte + số ký tự

varchar (tối đa)
Chuỗi ký tự có độ rộng thay đổi
1,073,741,824 ký tự
2 byte + số ký tự

chữ
Chuỗi ký tự có độ rộng thay đổi
2GB dữ liệu văn bản
4 byte + số ký tự

nchar
Chuỗi Unicode có độ rộng cố định
4.000 ký tự
Chiều rộng xác định x 2

nvarchar
Chuỗi Unicode có độ rộng thay đổi
4.000 ký tự

nvarchar (tối đa)
Chuỗi Unicode có độ rộng thay đổi
536,870,912 ký tự

ntext
Chuỗi Unicode có độ rộng thay đổi
2GB dữ liệu văn bản

nhị phân (n)
Chuỗi nhị phân chiều rộng cố định
8.000 byte

varbinary
Chuỗi nhị phân có độ rộng biến đổi
8.000 byte

Xem Thêm  Làm thế nào để lấy đầu vào từ người dùng trong Java? - cách nhắc người dùng nhập liệu trong java

varbinary (tối đa)
Chuỗi nhị phân có độ rộng biến đổi
2GB

hình ảnh
Chuỗi nhị phân có độ rộng biến đổi
2GB

Các kiểu dữ liệu số

Loại dữ liệu
Sự mô tả
Kho

chút
Số nguyên có thể là 0, 1 hoặc NULL

tí hon
Cho phép các số nguyên từ 0 đến 255
1 byte

lửa nhỏ
Cho phép các số nguyên từ -32,768 đến 32,767
2 byte

int
Cho phép các số nguyên từ -2,147,483,648 đến 2,147,483,647
4 byte

bigint
Cho phép các số nguyên trong khoảng -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807
8 byte

thập phân (p, s)
Cố định độ chính xác và số tỷ lệ.

Cho phép các số từ -10 ^ 38 +1 đến 10 ^ 38 –1.

Tham số p cho biết tổng số chữ số tối đa có thể được lưu trữ (cả ở bên trái và bên phải của dấu thập phân). p phải là giá trị từ 1 đến 38. Mặc định là 18.

Tham số s cho biết số lượng chữ số tối đa được lưu trữ ở bên phải của dấu thập phân. s phải là một giá trị từ 0 đến p. Giá trị mặc định là 0

5-17 byte

số (p, s)
Cố định độ chính xác và số tỷ lệ.

Cho phép các số từ -10 ^ 38 +1 đến 10 ^ 38 –1.

Tham số p cho biết tổng số chữ số tối đa có thể được lưu trữ (cả ở bên trái và bên phải của dấu thập phân). p phải là giá trị từ 1 đến 38. Mặc định là 18.

Tham số s cho biết số lượng chữ số tối đa được lưu trữ ở bên phải của dấu thập phân. s phải là một giá trị từ 0 đến p. Giá trị mặc định là 0

5-17 byte

tiền nhỏ
Dữ liệu tiền tệ từ -214.748.3648 đến 214.748.3647
4 byte

tiền bạc
Dữ liệu tiền tệ từ -922.337.203.685.477.5808 đến 922.337.203.685.477.5807
8 byte

float (n)
Dữ liệu số chính xác thả nổi từ -1,79E + 308 đến 1,79E + 308.

Tham số n cho biết liệu trường nên giữ 4 hay 8 byte. float (24) giữ trường 4 byte và float (53) giữ trường 8 byte. Giá trị mặc định của n là 53.

4 hoặc 8 byte

có thật
Dữ liệu số chính xác thả nổi từ -3,40E + 38 đến 3,40E + 38
4 byte

Loại dữ liệu ngày và giờ

Loại dữ liệu
Sự mô tả
Kho

ngày giờ
Từ ngày 1 tháng 1 năm 1753 đến ngày 31 tháng 12 năm 9999 với độ chính xác 3,33 mili giây
8 byte

datetime2
Từ ngày 1 tháng 1 năm 0001 đến ngày 31 tháng 12 năm 9999 với độ chính xác 100 nano giây
6-8 byte

smalldatetime
Từ ngày 1 tháng 1 năm 1900 đến ngày 6 tháng 6 năm 2079 với độ chính xác 1 phút
4 byte

ngày
Chỉ lưu trữ một ngày. Từ ngày 1 tháng 1 năm 0001 đến ngày 31 tháng 12 năm 9999
3 byte

thời gian
Chỉ lưu trữ thời gian với độ chính xác 100 nano giây
3-5 byte

datetimeoffset
Giống như datetime2 với việc bổ sung độ lệch múi giờ
8-10 byte

dấu thời gian
Lưu trữ một số duy nhất được cập nhật mỗi khi một hàng được tạo hoặc sửa đổi. Giá trị dấu thời gian dựa trên đồng hồ bên trong và không tương ứng với thời gian thực. Mỗi bảng chỉ có thể có một biến dấu thời gian

Các loại dữ liệu khác

Loại dữ liệu
Sự mô tả

sql_variant
Lưu trữ lên đến 8.000 byte dữ liệu thuộc nhiều loại dữ liệu khác nhau, ngoại trừ văn bản, văn bản và dấu thời gian

định danh duy nhất
Lưu trữ số nhận dạng duy nhất trên toàn cầu (GUID)

xml
Lưu trữ dữ liệu có định dạng XML. Tối đa 2GB

con trỏ
Lưu trữ một tham chiếu đến một con trỏ được sử dụng cho các hoạt động cơ sở dữ liệu

bàn
Lưu trữ một tập hợp kết quả để xử lý sau này

Các kiểu dữ liệu truy cập MS

Loại dữ liệu
Sự mô tả
Kho

Chữ
Sử dụng cho văn bản hoặc kết hợp giữa văn bản và số. Tối đa 255 ký tự

Bản ghi nhớ
Bản ghi nhớ được sử dụng cho lượng văn bản lớn hơn. Lưu trữ lên đến 65.536 ký tự. Lưu ý: Bạn không thể sắp xếp trường ghi nhớ. Tuy nhiên, chúng có thể tìm kiếm được

Byte
Cho phép các số nguyên từ 0 đến 255
1 byte

Số nguyên
Cho phép các số nguyên từ -32,768 đến 32,767
2 byte

Dài
Cho phép các số nguyên từ -2,147,483,648 đến 2,147,483,647
4 byte

Xem Thêm  Kích thước phông chữ CSS - cách đặt kích thước phông chữ trong css

Duy nhất
Dấu phẩy động chính xác đơn. Sẽ xử lý hầu hết các số thập phân
4 byte

Kép
Dấu phẩy động chính xác gấp đôi. Sẽ xử lý hầu hết các số thập phân
8 byte

Tiền tệ
Sử dụng cho tiền tệ. Chứa tới 15 chữ số của toàn đô la, cộng với 4 chữ số thập phân. Mẹo: Bạn có thể chọn đơn vị tiền tệ của quốc gia nào để sử dụng
8 byte

Số tự động
Các trường AutoNumber tự động cung cấp cho mỗi bản ghi số của riêng nó, thường bắt đầu từ 1
4 byte

Ngày giờ
Sử dụng cho ngày và giờ
8 byte

Có không
Trường logic có thể được hiển thị dưới dạng Có / Không, Đúng / Sai hoặc Bật / Tắt. Trong mã, sử dụng các hằng True và False (tương đương với -1 và 0). Lưu ý: Không cho phép các giá trị rỗng trong các trường Có / Không
1 chút

Đối tượng Ole
Có thể lưu trữ hình ảnh, âm thanh, video hoặc các BLOB khác (Đối tượng lớn nhị phân)
lên đến 1GB

Siêu liên kết
Chứa các liên kết đến các tệp khác, bao gồm cả các trang web

Trình hướng dẫn tra cứu
Cho phép bạn nhập danh sách các tùy chọn, sau đó có thể chọn từ danh sách thả xuống
4 byte


Xem thêm những thông tin liên quan đến chủ đề các loại sql là gì

Bài 3: [Học SQL từ đầu] – Sữ dụng Inner Join, Left Join, Right Join, Full Outer Join, Union

  • Tác giả: GROUP PTC
  • Ngày đăng: 2020-05-28
  • Đánh giá: 4 ⭐ ( 5978 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng Dẫn SQL.
    Sữ dụng một số câu lệnh cơ bản SQL để lấy dữ liệu:
    – Select … Where…Group By.. Order By
    – Inner Join
    – Left Join,
    – Right Join
    – Full Outer Join
    – Union
    – Union ALL
    – Nếu thấy hay các bạn đăng ký ủng hộ mình nhé, để mình có thêm động lực làm thêm nhiều bài khác.
    – SQL bài hướng dẩn: https://drive.google.com/file/d/1VKozjHFxfJEE1zwCIXLneEUJXyfsFP9f/view?usp=sharing

Tự học SQL: Sao lắm loại SQL vậy? (Phần 1)

  • Tác giả: tuananalytic.com
  • Đánh giá: 5 ⭐ ( 7817 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tôi sinh viên năm 2 vật lộn với SQL Mysql, SQL SERVER, MS SQL, POSTPRESQL, ORACLE,…. Có một điều mà mình cảm thấy bối rối khi bắt đầu tim hiểu SQL ( khá lâu r

SQL là gì? Các loại SQL Server hiện nay

  • Tác giả: www.techrum.vn
  • Đánh giá: 3 ⭐ ( 4010 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL server là gì?
    SQL Server (Structure Query Language Server) có thể hiểu là công cụ quản lý cấu trúc dữ liệu sử dụng câu lệnh SQL để tiến hành việc trao…

Tất tần tật về SQL – SQL là gì? Sử dụng như thế nào?

  • Tác giả: intech.vietnamworks.com
  • Đánh giá: 5 ⭐ ( 2359 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL là loại ngôn ngữ máy tính, giúp cho thao tác lưu trữ và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ. SQL là viết tắt của Structured Query Language là ngôn ngữ truy vấn có cấu trúc. Ứng dụng thực tế của SQL là gì? Cùng tìm hiểu nhé!

So sánh SQL và NoSQL – Hai loại hình cơ sở dữ liệu phổ biến nhất

  • Tác giả: blog.kdata.vn
  • Đánh giá: 4 ⭐ ( 1835 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cùng tìm hiểu, so sánh SQL và NoSQL – hai loại hình cơ sở dữ liệu phổ biến nhất hiện nay; khác biệt như thế nào nhé!

Sql là gì? Những kiến thức cơ bản về Sql lập trình viên nên nắm vững

  • Tác giả: dev.ohstem.vn
  • Đánh giá: 3 ⭐ ( 1846 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL là gì? Nó là một trong những ngôn ngữ quan trọng nhất mà lập trình viên cần biết khi làm việc với dữ liệu. Thế nhưng đối với nhiều người, SQL vẫn là một

Truy vấn cơ sở dữ liệu là gì? Tất tần tật về ngôn ngữ SQL đều nằm trong bài viết này

  • Tác giả: itviec.com
  • Đánh giá: 3 ⭐ ( 9016 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Muốn biết truy vấn cơ sở dữ liệu là gì, SQL là gì, SQL Server là gì, chỉ cần đọc mỗi một bài viết này là đã đủ thông tin.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình