Top Posts
Gửi mail trong Magento 2 – Đính kèm...
Tạo grid trong Magento 2 sử dụng block
Tạo form admin sử dụng block
Cách sử dụng insertListing trong Magento 2
Compile LESS file với Grunt trong Magento 2
Magento 2 get product image url
Format price với currency trong Magento 2
Magento 2 Add URL Rewrite programmatically
Magento 2 Upload image admin form
Magento 2 Create Category Attribute
vi-magento.com
  • Magento 2
    • Magento 2 cơ bản
    • Bài tập Magento 2
    • Magento 2 Api
  • PHP
  • JavaScript
  • Cơ sở dữ liệu
    • Học MongoDB
    • SQL Server
    • Mysql
    • Học Oracle
    • SQLite
  • Liên hệ
  • Trắc nghiệm Magento 2
Trang chủ Cơ sở dữ liệuMysql MySQL Data Types
Mysql

MySQL Data Types

bởi admin 17/07/2021
bởi admin 17/07/2021 0 Bình luận 26 xem

Như ta biết trong SQL có một ngôn ngữ tên là T-SQL, mà đã là ngôn ngữ lập trình thì đương nhiên sẽ có các kiểu dữ liệu. Cũng như các ngôn ngữ lập trình khác, khi lưu dữ liệu của người dùng chúng ta cũng phải định nghĩa kiểu dữ liệu cho nó. Ví dụ khi lưu năm sinh thì ta sẽ lưu một số nên kiểu của nó là INT, còn khi lưu tên thì ta sẽ lưu kiểu chuỗi varchar. Tùy vào mỗi loại mà chúng ta sẽ chọn các kiểu dữ liệu cho phù hợp.

Trong mỗi Table sẽ chứa nhiều cột (column) và mỗi cột chúng ta phải xác định kiểu dữ liệu cho nó. Như ở ví dụ trên thì cột nam_sinh sẽ là kiểu INT và cột ten thì kiểu varchar. Mỗi loại dữ liệu sẽ có một số đặc điểm sau:

  • Kiểu dữ liệu (varchar, int, text)
  • Chiều dài tối đa
  • Có thể lập được loại chỉ mục (indexes) nào?

Bây giờ ta sẽ tìm hiểu chi tiết hơn nhé.

Danh mục

  1. 1. Kiểu dữ liệu số (Numeric Data Types)
  2. 2. Kiểu chuỗi (String)
  3. 3. Kiểu ngày tháng (Date and Date time)
  4. 4. Các loại dữ liệu không gian (Spatial)
  5. 5. Lời kết

1. Kiểu dữ liệu số (Numeric Data Types)

Trong MySQL có các kiểu dữ liệu dạng số như số nguyên (nguyên âm, nguyên dương). Ngoài ra MySQL còn hỗ trợ lưu trữ kiểu dữ liệu dạng BIT, và bạn không thể lưu trữ một chuỗi cho kiểu dữ liệu số. Sau đây là danh sách tất cả các kiểu dữ liệu dạng số trong MySQL. 

Kiểu dữ liệu Mô tả
TINYINT Kích thước rất nhỏ
SMALLINT Kích thước nhỏ
MEDIUMINT Kích thước vừa
INT Kích thước chuẩn
BIGINT Kích thước lớn
DECIMAL Số cố định
FLOAT Số có dấu chấm động
DOUBLE Số có dấu chấm động lớn hơn
BIT Kiểu BIT

2. Kiểu chuỗi (String)

Khi khai báo kiểu dữ liệu chuỗi thì đồng nghĩa với việc bạn có thể lưu trữ một chuỗi, một chuỗi ở đây chính là một dãy các kí tự các chữ cái hoặc các con số và các kí tự đặc biệt. Sau đây là một số kiểu dữ liệu chuỗi.

Kiểu dữ liệu Mô tả
CHAR Có chiều dài cố định và không ở dạng nhị phân
VARCHAR Có chiều dài và ta phải xác định chiều dài cho nó, không ở dạng nhị phần
BINARY Chuỗi nhị phân có độ dài cố định
VARBINARY Chuỗi nhị phân có độ dài thay đổi
TINYBLOB BLOB rất nhỏ
BLOB BLOB nhỏ
MEDIUMBLOB BLOB vừa
LONGBLOB BLOB lớn
TINYTEXT Chuỗi không nhị phân rất nhỏ
TEXT Chuỗi không nhị phân nhỏ
MEDIUMTEXT Chuỗi không nhị phân trung bình
LONGTEXT Chuỗi không nhị phân lớn
ENUM enumeration
SET Bộ

3. Kiểu ngày tháng (Date and Date time)

MySQL cũng cung cấp các kiểu dữ liệu liên quan đến thời gian nhằm giúp ta lưu trữ ngày tháng và thời gian dễ dàng hơn. Khi lưu ở dạng này bạn có thể truy vấn dữ liệu theo từng phần riêng lẻ như theo ngày, theo tháng và theo năm, hay thậm chi là truy vấn kết hơp cả ngày tháng năm.

Nếu bạn muốn lưu trữ ngày, tháng và năm thì chọn kiểu Date, lưu trữ có thêm giờ phút giây thì Datetime và lưu trữ chỉ giờ phút giây thì chọn time. Ngoài ra có thêm kiểu timestamp dùng lưu trữ thời gian khi record được thêm vào. Sau đây là danh sách các kiểu dữ liệu trong MYSQL:

Kiểu dữ liệu Mô tả
DATE Kiểu ngày tháng, định dạng YYYY-MM-DD
TIME Kiểu thời gian, định dạng HH:MM:SS
DATETIME Kiểu ngày tháng có thời gian, định dạng YYYY-MM-DD HH:MM:SS
TIMESTAMP Kiểu ngày tháng có thời gian, định dạng YYYY-MM-DD HH:MM:SS
YEAR Kiểu năm, định dạng YYYY

4. Các loại dữ liệu không gian (Spatial)

Khi làm việc với các ứng dụng web thì các loại dữ liệu trên kia là quá đủ rồi, bạn không cần phải tìm hiểu các kiểu dữ liệu dưới đây làm gì. Tuy nhiên tôi vẫn liệt kê ra để các bạn tham khảo cho biết.

MySQL có hỗ trợ nhiều loại kiểu dữ liệu không gian liên quan đến đối tượng điểm, tọa độ và địa lý sau:

Kiểu dữ liệu Mô tả
GEOMETRY Giá trị không gian của bất kì loại nào
POINT  Một cặp điểm tọa độ X:Y
LINESTRING Một đường cong
POLYGON Một đa giác
GEOMETRYCOLLECTION Một dãy các GEOMETRY
MULTILINESTRING Một dãy các đường cong
MULTIPOINT Một day các điểm
MULTIPOLYGON Một dãy các đa giác

5. Lời kết

Trên là danh sách các kiểu dữ liệu trong MySQL thông dụng mà chúng ta hay sử dụng khi xây dựng các ứng dụng Website. Không chỉ có ở MySQL mà ở SQL Server cũng có các kiểu dữ liệu tương tự.

Chia sẻ
0
FacebookSkype
Bài trước
MySQL Table Types & Storage Engines
Bài tiếp theo
Lệnh tạo bảng (Create Table) trong MySQL

Related Posts

Create và Drop Database trong SQL

17/07/2021

Hàm CURRENT_TIMESTAMP trong MySQL

17/07/2021

Giới hạn kết quả trả về với LIMIT...

17/07/2021

Cách đổi tên View trong MySQL (Rename View)

17/07/2021

Hàm CHARACTER_LENGTH trong MySQL

17/07/2021

Hàm UPPER trong MySQL

17/07/2021

Hàm COUNT trong MySQL

17/07/2021

Toán tử AND và OR trong SQL

17/07/2021
0 0 vote
Đánh giá
Login
guest
guest
0 Comments
Inline Feedbacks
View all comments

Bài viết cùng chủ đề

  • Tìm hiểu cơ sở dữ liệu là gì? và hệ quản trị CSDL MYSQL

  • Các khái niệm cơ bản về cơ sở dữ liệu

  • Mô hình dữ liệu mạng

  • Bài 01: JSON là gì? Cấu trúc chuỗi JSON

  • Bài 02: Xử lý JSON trong PHP – Các ví dụ về JSON PHP và MYSQL

  • Mô hình thực thể mối kết hợp (ER)

  • Bài 03: Bài tập JSON – Xử lý tình huống với JSON

  • Bài 04: JSON và Object trong Javascript

  • Bài 01: XML là gì? Cú pháp căn bản của XML

  • Bài 05: JSON và ứng dụng trong Ajax

  • Bài 02: Cấu trúc cây trong XML

  • Bài 03: Tìm hiểu Element trong XML

  • Bài 04: Tìm hiểu XML Attributes

  • Bài 05: XML và các hệ quản trị CSDL (MySQL)

  • Bài 06: Tìm hiểu XML Namespace

  • Bài 07: Tìm hiểu CDATA trong XML

  • Mô hình dữ liệu quan hệ (Relational Data Model)

  • Các kiểu dữ liệu trong SQL (Data Type)

  • Lệnh Create Table trong SQL

  • Lệnh Drop Table trong SQL

  • Lệnh INSERT trong SQL

  • Lệnh SELECT trong SQL

  • Mệnh đề WHERE trong SQL

  • Lệnh Update trong SQL

  • Lệnh Delete trong SQL

  • Sắp xếp dữ liệu với ORDER BY trong SQL

  • Toán tử LIKE và NOT LIKE trong SQL

  • Toán tử IN và NOT IN trong SQL

  • Toán tử AND và OR trong SQL

  • Lọc dữ liệu trùng với DISTINCT trong SQL

  • Gộp dữ liệu với UNION và UNION ALL trong SQL

  • Tích đề các trong SQL

  • Tìm hiểu ALIAS (AS) trong SQL

  • Toán tử BETWEEN và NOT BETWEEN trong SQL

  • Inner JOIN trong SQL

  • Left Join trong SQL

  • Right Join trong SQL

  • Create và Drop Database trong SQL

  • Self Join trong SQL

  • Subquery trong SQL – truy vấn con

  • Primary Key trong SQL

  • Khóa ngoại Foreign Key trong SQL

  • Phiên làm việc là gì trong SQL

  • Ràng buộc Check trong SQL

  • Hàm DIV trong MySQL

  • Hàm DEGREES trong MySQL

  • Hàm COUNT trong MySQL

  • Hàm COT trong MySQL

  • Hàm COS trong MySQL

  • Hàm CEILING trong MySQL

  • Hàm CEIL trong MySQL

  • Hàm AVG trong MySQL

  • Hàm ATAN2 trong MySQL

  • Hàm ATAN trong MySQL

  • Hàm ASIN trong MySQL

  • Hàm ACOS trong MySQL

  • Hàm ABS trong MySQL

  • Hàm UPPER trong MySQL

  • Hàm UCASE trong MySQL

  • Hàm TRIM trong MySQL

  • Hàm SUBSTRING_INDEX trong MySQL

  • Hàm SUBSTRING trong MySQL

  • Hàm SUBSTR trong MySQL

  • Hàm STRCMP trong MySQL

  • Hàm SPACE trong MySQL

  • Hàm RTRIM trong MySQL

  • Hàm RPAD trong MySQL

  • Hàm RIGHT trong MySQL

  • Hàm REVERSE trong MySQL

  • Hàm REPLACE trong MySQL

  • Hàm REPEAT trong MySQL

  • Hàm POSITION trong MySQL

  • Hàm MID trong MySQL

  • Hàm LTRIM trong MySQL

  • Hàm LPAD trong MySQL

  • Hàm LOWER trong MySQL

  • Hàm LOCATE trong MySQL

  • Hàm LENGTH trong MySQL

  • Hàm LEFT trong MySQL

  • Hàm LCASE trong MySQL

  • Hàm INSTR trong MySQL

  • Hàm INSERT trong MySQL

  • Hàm FORMAT trong MySQL

  • Hàm FIND_IN_SET trong MySQL

  • Hàm FIELD trong MySQL

  • Hàm CONCAT_WS trong MySQL

  • Hàm CONCAT trong MySQL

  • Hàm CHARACTER_LENGTH trong MySQL

  • Hàm CHAR_LENGTH trong MySQL

  • Hàm ASCII trong MySQL

  • Hàm PASSWORD trong MySQL

  • Hàm OLD_PASSWORD trong MySQL

  • Hàm MD5 trong MySQL

  • Hàm ENCRYPT trong MySQL

  • Hàm MINUTE trong MySQL

  • Hàm MICROSECOND trong MySQL

  • Hàm MAKETIME trong MySQL

  • Hàm MAKEDATE trong MySQL

  • Hàm LOCALTIMESTAMP trong MySQL

  • Hàm LOCALTIME trong MySQL

  • Hàm LAST_DAY trong MySQL

  • Hàm HOUR trong MySQL

  • Hàm FROM_DAYS trong MySQL

  • Hàm EXTRACT trong MySQL

  • Hàm DAYOFYEAR trong MySQL

  • Hàm DAYOFWEEK trong MySQL

  • Hàm DAYOFMONTH trong MySQL

  • Hàm DAYNAME trong MySQL

  • Hàm DAY trong MySQL

  • Hàm DATEDIFF trong MySQL

  • Hàm DATE_SUB trong MySQL

  • Hàm DATE_FORMAT trong MySQL

  • Hàm DATE_ADD trong MySQL

  • Hàm DATE trong MySQL

  • Hàm CURTIME trong MySQL

  • Hàm CURRENT_TIMESTAMP trong MySQL

  • Hàm CURRENT_TIME trong MySQL

  • Hàm CURRENT_DATE trong MySQL

  • Hàm CURDATE trong MySQL

  • Hàm ADDTIME trong MySQL

  • Hàm ADDDATE trong MySQL

  • Hàm TRUNCATE trong MySQL

  • Hàm TAN trong MySQL

  • Hàm SUM trong MySQL

  • Hàm SQRT trong MySQL

  • Hàm SIN trong MySQL

  • Hàm SIGN trong MySQL

  • Hàm ROUND trong MySQL

  • Hàm RAND trong MySQL

  • Hàm RADIANS trong MySQL

  • Hàm POWER trong MySQL

  • Hàm POW trong MySQL

  • Hàm PI trong MySQL

  • Hàm MOD trong MySQL

  • Hàm MIN trong MySQL

  • Hàm MAX trong MySQL

  • Hàm LOG2 trong MySQL

  • Hàm LOG10 trong MySQL

  • Hàm LOG trong MySQL

  • Hàm LN trong MySQL

  • Hàm LEAST trong MySQL

  • Hàm GREATEST trong MySQL

  • Hàm FLOOR trong MySQL

  • Hàm EXP trong MySQL

  • After Update Trigger trong MySQL

  • Cách lấy ngày hiện tại trong MySQL

  • Cách lấy record thứ n trong MySQL

  • Before Delete Trigger trong MySQL

  • After Delete Trigger trong MySQL

  • Cách fix lỗi missing index for constraint trong MySQL

  • Lấy bài viết ngẫu nhiên trong MySQL (Random Records)

  • Cách đổi tên table trong MySQL như thế nào?

  • Hàm VERSION trong MySQL

  • Hàm USER trong MySQL

  • Hàm SYSTEM_USER trong MySQL

  • Hàm SESSION_USER trong MySQL

  • Hàm NULLIF trong MySQL

  • Hàm LAST_INSERT_ID trong MySQL

  • Hàm ISNULL trong MySQL

  • Hàm IFNULL trong MySQL

  • Hàm IF trong MySQL

  • Hàm DATABASE trong MySQL

  • Hàm CURRENT_USER trong MySQL

  • Hàm CONVERT trong MySQL

  • Hàm CONV trong MySQL

  • Hàm CONNECTION_ID trong MySQL

  • Hàm COALESCE trong MySQL

  • Hàm CAST trong MySQL

  • Hàm CASE trong MySQL

  • Hàm BINARY trong MySQL

  • Hàm BIN trong MySQL

  • Hàm YEARWEEK trong MySQL

  • Hàm YEAR trong MySQL

  • Hàm WEEKOFYEAR trong MySQL

  • Hàm WEEKDAY trong MySQL

  • Hàm WEEK trong MySQL

  • Hàm TO_DAYS trong MySQL

  • Hàm TIMESTAMP trong MySQL

  • Hàm TIMEDIFF trong MySQL

  • Hàm TIME_TO_SEC trong MySQL

  • Hàm TIME_FORMAT trong MySQL

  • Hàm TIME trong MySQL

  • Hàm SYSDATE trong MySQL

  • Hàm SUBTIME trong MySQL

  • Hàm SUBDATE trong MySQL

  • Hàm STR_TO_DATE trong MySQL

  • Hàm SECOND trong MySQL

  • Hàm SEC_TO_TIME trong MySQL

  • Hàm QUARTER trong MySQL

  • Hàm PERIOD_DIFF trong MySQL

  • Hàm PERIOD_ADD trong MySQL

  • Hàm NOW trong MySQL

  • Hàm MONTHNAME trong MySQL

  • Hàm MONTH trong MySQL

  • Câu lệnh if else trong MYSQL

  • Vòng lặp while trong MySQL

  • Câu lệnh CASE trong MySQL

  • Tìm hiểu View trong MySql là gì?

  • Hàm nối chuỗi Concat trong MySql

  • Cài đặt MySQL và tham quan PHPMyAdmin

  • MySQL Table Types & Storage Engines

  • Lệnh tạo database (Create Database) trong MySQL

  • Lệnh tạo bảng (Create Table) trong MySQL

  • Tạo khóa chính (Primary key) trong MySQL

  • Tạo Unique trong MySQL

  • Tìm hiểu AUTO_INCREMENT trong MySQL

  • Khóa ngoại (Foreign Key) trong MySQL

  • Lệnh INSERT trong MySQL: Thêm dữ liệu vào bảng

  • Lệnh Alter Table trong MySQL: Thay đổi cấu trúc table

  • Lệnh SELECT lấy dữ liệu trong MySQL

  • WHERE IN – WHERE LIKE trong MySQL

  • Sắp xếp kết quả với lệnh Order By trong MySQL

  • Giới hạn kết quả trả về với LIMIT trong MySQL

  • Phép tích đề cát trong MySQL

  • Sử dụng AS (Alias) trong MySQL

  • Gộp kết quả với toán tử UNION trong MySQL

  • Select trong khoảng với BETWEEN trong MySQL

  • INNER JOIN trong MySQL

  • Thiết kế CSDL đa ngôn ngữ với MySQL

  • Right Join trong MySQL

  • Group By trong MySQL

  • Truy vấn con (Sub Query) trong MySQL

  • Có nên sử dụng View trong MySQL không?

  • Lệnh Create View trong MySQL

  • Cách đổi tên View trong MySQL (Rename View)

  • Lệnh Drop View trong MySQL

  • Full Text Search là gì? Tại sao nên sử dụng trong MySQL?

  • Tạo Full Text Search trong MySQL

  • Hàm MATCH và AGAINST trong MySQL

  • Boolean Full-Text Searches trong MySQL

  • Query Expansion Full Text Search trong MySQL

  • Cách đánh Index trong MySQL: Index là gì và cách tạo thế nào?

  • Cách xóa Index trong MySQL – xóa khóa chính primary key

  • Prefix Index trong MySQL

  • Tạo Index cho nhiều cột trong MySQL

  • Descending Index trong MySQL

  • Invisible Index trong MySQL

  • Lệnh Create Trigger trong MySQL

  • Lệnh Drop Trigger trong MySQL

  • Before Insert Trigger trong MySQL

  • After Insert Trigger trong MySQL

  • Before Update Trigger trong MySQL

  • Left Join trong MySQL

  • Không lưu avatar người dùng mà vẫn hiển thị đúng hình

  • Thiết kế hệ thống hẹn giờ cho trang tin tức

  • Giới thiệu Mysql Stored Procedure là gì?

  • Tạo MySQL Stored Procedure đầu tiên

  • Biến (variable) trong MYSQL Stored Procedure

  • Truyền tham số vào Mysql Stored Procedure

@2020 - All Right Reserved. vi-magento.com

vi-magento.com
  • Magento 2
    • Magento 2 cơ bản
    • Bài tập Magento 2
    • Magento 2 Api
  • PHP
  • JavaScript
  • Cơ sở dữ liệu
    • Học MongoDB
    • SQL Server
    • Mysql
    • Học Oracle
    • SQLite
  • Liên hệ
  • Trắc nghiệm Magento 2
wpDiscuz