Kiểu dữ liệu boolean trong mysql

Khi chúng ta làm việc mới mysql, việc tạo database, table không thể tránh khỏi. Với một bảng, có thể có nhiều cột.Việc phân tích đúng các kiểu dữ liệu cho các cột rất quan trọng, bởi vì nó ảnh hướng đến cả một hệ thống.Trước khi đi vào bài cách tạo database và table trong mysql.Mình sẽ nêu ra tại đây các kiểu dữ liệu thường gặp nhất trong MYSQL.

Sau đây là danh sách các kiểu dữ liệu có sẵn trong MySQL :

  1. String
  2. Numeric
  3. Date/time
  4. large object datatypes.

Dạng dữ liệu String [Chuỗi hay còn gọi là text]

Sau đây là các kiểu dữ liệu String trong MySQL:

Kiểu dữ liệuGiới hạnMô tả
CHAR[size] Kích thước tối đa 255 ký tự. Có chiều dài cố định,có tối đa đoạn string là 255 ký tự, nếu vượt quá giới hạn cho phép, MySQL sẽ tự động cắt chuỗi.
VARCHAR[size] Kích thước tối đa 255 ký tự. Có chiều dài cố định,có tối đa đoạn string là 255 ký tự, nếu vượt quá giới hạn cho phép, MySQL sẽ tự động cắt chuỗi.
TINYTEXT[size] Kích thước tối đa 255 ký tự. Có chiều dài cố định,có tối đa đoạn string là 255 ký tự, nếu vượt quá giới hạn cho phép, MySQL sẽ tự động cắt chuỗi.
TEXT[size] Kích thước tối đa 65,535 ký tự. Có tối đa đoạn string là65,535 ký tự.
MEDIUMTEXT[size] Kích thước tối đa16,777,215 ký tự. Where size is the number of characters to store.
LONGTEXT[size] Kích thước tối đa 4GB or 4,294,967,295 ký tự. Kích thước tối đa là 4GB or 4,294,967,295 ký tự.
BINARY[size] Kích thước tối đa 255 ký tự. Có tối đa đoạn string là 255 ký tự,
VARBINARY[size] Kích thước tối đa 255 ký tự..

Có rấy nhiều kiểu dữ liệu dạng string, tuy nhiên theo kinh nghiệm của mình thường chúng ta sử dụng 2 dạng phổ biên nhất :

1.Vachar

2.Text

Vậy lúc nào chúng ta sử dụng vachar lúc nào sư dụng kiểu dữ liệu là text?

Một số trường hợp như các trường là fullname, username, password vì số ký tự đòi hỏi không quá dài nên việc lựa chọn kiểu dữ liệu vachar là hoàn toàn hợp lý.

Tuy nhiên với trường hợp như khi các bạn nhập thông tin chi tiết, liên hệ thì cần phải nhập nhiều thông tin, đòi hỏi ký tự lớn. Nên cần sử dụng kiểu dữ liệu là text.

Sau đây là các kiểu dữ liệu sốhay còn gọi là number trong MySQL:

Cú pháp kiểu dữ liệuKích thước tối đaGiải trình
BIT Giá trị số rất nhỏ tương đương với TINYINT [1].
Các giá trị được ký bao gồm từ -128 đến 127. Các giá trị không được định vị nằm trong khoảng từ 0 đến 255.
TINYINT [ m ] Giá trị số nguyên rất nhỏ.
Các giá trị được ký bao gồm từ -128 đến 127. Các giá trị không được định vị nằm trong khoảng từ 0 đến 255.
SMALLINT [ m ] Giá trị số nguyên nhỏ.
Các giá trị được ký bao gồm từ -32768 đến 32767. Các giá trị không được đăng bao gồm từ 0 đến 65535.
MEDIUMINT [ m ] Giá trị số nguyên trung bình.
Các giá trị đã ký bao gồm từ -8388608 đến 8388607. Các giá trị không được đăng bao gồm từ 0 đến 16777215.
INT [ m ] Giá trị số nguyên chuẩn.
Các giá trị đã ký bao gồm từ -2147483648 đến 2147483647. Các giá trị không được đăng bao gồm từ 0 đến 4294967295.
INTEGER [ m ] Giá trị số nguyên chuẩn.
Các giá trị đã ký bao gồm từ -2147483648 đến 2147483647. Các giá trị không được đăng bao gồm từ 0 đến 4294967295.
Đây là một từ đồng nghĩa với kiểu dữ liệu INT.
BIGINT [ m ] Giá trị số nguyên lớn.
Các giá trị được ký bao gồm từ -9223372036854775808 đến 9223372036854775807. Các giá trị Unsigned nằm trong khoảng từ 0 đến 18446744073709551615.
DECIMAL [ m , d ] Số điểm cố định chưa giải phóng.
M mặc định là 10, nếu không được chỉ rõ.
D mặc định là 0, nếu không được chỉ rõ.
Trong đó m là tổng số và d là số chữ số sau thập phân.
DEC[m,d] Số điểm cố định chưa giải phóng.
M mặc định là 10, nếu không được chỉ rõ.
D mặc định là 0, nếu không được chỉ rõ.
Trong đó m là tổng số và d là số chữ số sau thập phân.

Đây là từ đồng nghĩa cho kiểu dữ liệu DECIMAL.

NUMERIC [ m , d ] Số điểm cố định chưa giải phóng.
M mặc định là 10, nếu không được chỉ rõ.
D mặc định là 0, nếu không được chỉ rõ.
Trong đó m là tổng số và d là số chữ số sau thập phân.

Đây là từ đồng nghĩa cho kiểu dữ liệu DECIMAL.

FIXED[m,d] Số điểm cố định chưa giải phóng.
M mặc định là 10, nếu không được chỉ rõ.
D mặc định là 0, nếu không được chỉ rõ.
Trong đó m là tổng số và d là số chữ số sau thập phân.
[Được giới thiệu trong MySQL 4.1]Đây là một từ đồng nghĩa cho kiểu dữ liệu DECIMAL.
FLOAT [ m , d ] Số điểm nổi chính xác duy nhất. Trong đó m là tổng số và d là số chữ số sau thập phân.
DOUBLE [ m , d ] Số điểm trôi nổi chính xác gấp đôi. Trong đó m là tổng số và d là số chữ số sau thập phân.
DOUBLE PRECISION[m,d] Số điểm trôi nổi chính xác gấp đôi. Trong đó m là tổng số và d là số chữ số sau thập phân.

Đây là một từ đồng nghĩa cho kiểu dữ liệu DOUBLE.

REAL [ m , d ] Số điểm trôi nổi chính xác gấp đôi. Trong đó m là tổng số và d là số chữ số sau thập phân.

Đây là một từ đồng nghĩa cho kiểu dữ liệu DOUBLE.

NULL [p] Số điểm nổi. Trong đó p là độ chính xác.
BOOL Đồng nghĩa với TINYINT [1] Được đối xử như kiểu dữ liệu boolean, trong đó giá trị 0 được coi là FALSE và bất kỳ giá trị nào khác được coi là TRUE.
BOOLEAN Đồng nghĩa với TINYINT [1] Được đối xử như kiểu dữ liệu boolean, trong đó giá trị 0 được coi là FALSE và bất kỳ giá trị nào khác được coi là TRUE.

Với rất nhiều dạng dữ liệu của number thì theo mình thường khi lập trình web, chúng ta thường sử dụng kiểu dữ liệu là int.Nên nếu cứ có cột là số, thì lựa chọn kiểu int là phù hợp nhé.Những kiểu dữ liệu còn lại cũng ít dùng.Tuy nhiên khá ít kh sử dụng.

Ngày / Thời gian Các loại dữ liệu

Sau đây là các kiểu dữ liệu Date / Time trong MySQL:

Cú pháp kiểu dữ liệuKích thước tối đaGiải trình
DATE Giá trị dao động từ ‘1000-01-01’ đến ‘9999-12-31’. Được hiển thị dưới dạng ‘YYYY-MM-DD’.
DATETIME Giá trị dao động từ ‘1000-01-01 00:00:00’ đến ‘9999-12-31 23:59:59’. Được hiển thị dưới dạng ‘YYYY-MM-DD HH: MM: SS’.
TIMESTAMP[m] Giá trị dao động từ ‘1970-01-01 00:00:01’ đến ‘2038-01-19 03:14:07’ UTC. Được hiển thị dưới dạng ‘YYYY-MM-DD HH: MM: SS’.
TIME Giá trị dao động từ ‘-838: 59: 59’ đến ‘838: 59: 59’. Được hiển thị dưới dạng ‘HH: MM: SS’.
YEAR[[2|4]] Năm là 2 chữ số hoặc 4 chữ số. Mặc định là 4 chữ số.

Ngoài ra còn kiểu Object, tuy nhiên vì nó ít áp dụng cũng như những bạn mới học thì không quan tấm đến kiểu dữ liệu này.
Chúc các bạn học thật tốt!

Chủ Đề