Nội dung chính
Kiểu Dữ Liệu Trong MySQL – Khái niệm
Kiểu dữ liệu trong MySQL được hiểu đơn giản là dữ liệu được lưu sẽ có kiểu dữ liệu như thế nào và khi thiết lập kiểu dữ liệu rồi thì dữ liệu sẽ lưu theo định dạng đó.
Trong MySQL có ba kiểu dữ liệu chính: văn bản, số, và ngày tháng (text, number, date).
Phần này sẽ giúp các bạn hiểu rõ kiểu dữ liệu trong MySQL trước khi chúng ta học về tạo bảng trong MySQL để các bạn không bở ngỡ nhé!
1. Kiểu dữ liệu văn bản (Text)
Dưới đây là tổng hợp tất cả các kiểu dữ liệu trong MySQL liên quan đến văn bản (TEXT)
Kiểu dữ liệu | Diễn giải |
---|---|
CHAR(size) | Lưu một chuỗi có chiều dài cố định (có thể chứa chữ cái, số và ký tự đặc biệt). Kích thước cố định được chỉ định trong dấu ngoặc đơn. Có thể lưu trữ tối đa 255 ký tự |
VARCHAR(size) | Lưu một chuỗi có chiều dài thay đổi (có thể chứa chữ cái, số và ký tự đặc biệt). Kích thước tối đa được chỉ định trong dấu ngoặc đơn. Có thể lưu trữ tối đa 255 ký tự. Lưu ý: Nếu bạn đặt một giá trị lớn hơn 255 nó sẽ được chuyển đổi sang kiểu dữ liệu TEXT |
TINYTEXT | Lưu một chuỗi có chiều dài tối đa là 255 ký tự |
TEXT | Lưu một chuỗi có độ dài tối đa 65.535 ký tự |
BLOB | Đối với BLOB (Các đối tượng nhị phân lớn). Lưu đến 65.535 byte dữ liệu |
MEDIUMTEXT | Lưu một chuỗi với chiều dài tối đa là 16,777,215 ký tự |
MEDIUMBLOB | Đối với BLOB (Các đối tượng nhị phân lớn). Lưu đến 16.777.215 byte dữ liệu |
LONGTEXT | Lưu một chuỗi với chiều dài tối đa là 4,294,967,295 ký tự |
LONGBLOB | Đối với BLOB (Các đối tượng nhị phân lớn). Lưu tới 4,294,967,295 byte dữ liệu |
ENUM(x,y,z,etc.) | Giúp bạn nhập một danh sách các giá trị có thể. Bạn có thể liệt kê lên đến 65.535 giá trị trong một danh sách ENUM. Nếu một giá trị được chèn vào mà không có trong danh sách, một giá trị trống sẽ được chèn.
Lưu ý: Các giá trị được sắp xếp theo thứ tự bạn nhập chúng.Bạn nhập các giá trị có thể ở định dạng này: ENUM (‘X’, ‘Y’, ‘Z’). |
SET | Tương tự như ENUM ngoại trừ SET có thể chứa đến 64 danh sách các mục và có thể lưu trữ nhiều hơn một sự lựa chọn |
2. Kiểu dữ liệu số (number)
Các kiểu số nguyên có một tùy chọn phụ được gọi là UNSIGNED. Thông thường, số nguyên đi từ một giá trị âm đến dương. Thêm thuộc tính UNSIGNED sẽ di chuyển phạm vi đó lên để nó bắt đầu ở số 0 thay vì một số âm.
Dưới đây là tổng hợp tất cả các kiểu dữ liệu trong MySQL liên quan đến số (number)
Kiểu dữ liệu | Diễn giải |
---|---|
TINYINT(size) | -128 đến 127. 0 đến 255 UNSIGNED*. Số chữ số tối đa có thể được chỉ định trong dấu ngoặc đơn |
SMALLINT(size) | -32768 đến 32767. 0 đến 65535 UNSIGNED*. Số chữ số tối đa có thể được chỉ định trong dấu ngoặc đơn |
MEDIUMINT(size) | -8388608 đến 8388607. 0 to 16777215 UNSIGNED*. Số chữ số tối đa có thể được chỉ định trong dấu ngoặc đơn |
INT(size) | -2147483648 đến 2147483647. 0 đến 4294967295 UNSIGNED*. Số chữ số tối đa có thể được chỉ định trong dấu ngoặc đơn |
BIGINT(size) | -9223372036854775808 đến 9223372036854775807. 0 to 18446744073709551615 UNSIGNED*. Số chữ số tối đa có thể được chỉ định trong dấu ngoặc đơn |
FLOAT(size,d) | Số dấu chấm động. Số chữ số tối đa có thể được chỉ định trong tham số size. Số chữ số tối đa ở bên phải của dấu thập phân được chỉ định trong tham số d |
DOUBLE(size,d) | Một DOUBLE được lưu trữ như một chuỗi, cho phép lưu số dấu chấm động. Số chữ số tối đa có thể được chỉ định trong tham số size. Số chữ số tối đa ở bên phải của dấu thập phân được chỉ định trong tham số d |
DECIMAL(size,d) | Số dấu chấm động lớn. Số chữ số tối đa có thể được chỉ định trong tham số size. Số chữ số tối đa ở bên phải của dấu thập phân được chỉ định trong tham số d |
3. Kiểu dữ liệu ngày tháng (date)
Dưới đây là tổng hợp tất cả các kiểu dữ liệu trong MySQL liên quan đến ngày tháng (date)
Kiểu dữ liệu | Diễn Giải |
---|---|
DATE() | Một ngày. Định dạng: YYYY-MM-DD
Lưu ý: Phạm vi được hỗ trợ là từ ‘1000-01-01’ đến ‘9999-12-31’ |
DATETIME() | *Một ngày kèm theo thời gian. Định dạng: YYYY-MM-DD HH:MI:SS
Lưu ý: Phạm vi được hỗ trợ là từ ‘1000-01-01 00:00:00’ đến ‘9999-12-31 23:59:59’ |
TIMESTAMP() | *Dấu mốc thời gian. Các giá trị Dấu mốc thời gian được lưu trữ như số giây kể từ kỷ nguyên Unix (‘1970-01-01 00:00:00’ UTC). Định dạng: YYYY-MM-DD HH: MI: SS
Lưu ý: Phạm vi được hỗ trợ là từ ‘1970-01-01 00:00:01’ UTC đến ‘2038-01-09 03:14:07’ UTC |
TIME() | Một thời gian. Định dạng: HH: MI: SS
Lưu ý: Phạm vi được hỗ trợ là từ ‘-838:59:59’ đến ‘838:59:59’ |
YEAR() | Một năm theo định dạng 2 chữ số hoặc 4 chữ số.
Lưu ý: Giá trị được cho phép ở định dạng bốn chữ số: 1901 đến 2155. Các giá trị được cho phép ở định dạng hai chữ số: 70 đến 69, đại diện cho các năm từ năm 1970 đến năm 2069 |
Lưu ý: Ngay cả khi DATETIME và TIMESTAMP trả về cùng một định dạng, chúng vẫn hoạt động rất khác nhau. Trong một truy vấn INSERT hoặc UPDATE, TIMESTAMP tự động tạo ngày và thời gian hiện tại, còn DATETIME không tự động làm việc đó. TIMESTAMP cũng chấp nhận các định dạng khác nhau, như YYYYMMDDHHMISS, YYMMDDHHMISS, YYYYMMDD hoặc YYMMDD.
4. Lời kết
Như vậy là chúng ta đã hiểu sơ lược các kiểu dữ liệu trong MySQL là như thế nào rồi nhé. Phần này rất quan trọng chúng ta phải ghi nhớ để sử dụng trong các bài sau và sau này. Bây giờ qua bài tiếp theo nhé! 🙂 Lộ trình học PHP – Tổng hợp PHP – Căn bản – Nâng cao
Nguồn: phpcanban.com