在SQL中,MySQL是最為流行的關(guān)系型數(shù)據(jù)庫之一。在創(chuàng)建表時,必須定義每個字段的數(shù)據(jù)類型。MySQL數(shù)據(jù)類型指定了可以在該字段中存儲的值的類型,以及在該字段中存儲的值所占的空間大小。
MySQL支持多種數(shù)據(jù)類型,常用的數(shù)據(jù)類型包括:
1. 字符串類型(String Type) 2. 數(shù)值類型(Numeric Type) 3. 時間日期類型(Date and Time Type) 4. 二進制類型(Binary Type) 5. JSON類型(JSON Type)
接下來分別介紹這些數(shù)據(jù)類型及其使用:
1. 字符串類型(String Type)
在MySQL中,有四種字符串類型用于存儲文本數(shù)據(jù):
1. CHAR:定長字符串,最大長度為255個字符。 2. VARCHAR:變長字符串,最大長度為65535個字符。 3. TEXT:存儲較長的文本數(shù)據(jù),最大長度為65535個字符。 4. BLOB:存儲二進制數(shù)據(jù),最大長度為65535個字節(jié)。
2. 數(shù)值類型(Numeric Type)
在MySQL中,有多種數(shù)值類型:
1. INT:整型,默認(rèn)存儲為4個字節(jié)。 2. FLOAT:浮點數(shù),存儲精度為單精度浮點數(shù),占用4個字節(jié)。 3. DOUBLE:浮點數(shù),存儲精度為雙精度浮點數(shù),占用8個字節(jié)。 4. DECIMAL:存儲固定精度的小數(shù)。
3. 時間日期類型(Date and Time Type)
在MySQL中,有多種時間日期類型,如:
1. DATE:存儲日期,格式為'YYYY-MM-DD'。 2. TIME:存儲時間,格式為'HH:MM:SS'。 3. DATETIME:存儲日期和時間,格式為'YYYY-MM-DD HH:MM:SS'。 4. TIMESTAMP:存儲日期和時間,格式為'YYYY-MM-DD HH:MM:SS'。
4. 二進制類型(Binary Type)
在MySQL中,有兩種二進制類型:
1. BINARY:定長二進制字符串,最長255個字符。 2. VARBINARY:變長二進制字符串,最長65535個字節(jié)。
5. JSON類型(JSON Type)
在MySQL 5.7.8及以后的版本中,MySQL支持JSON類型。JSON是一種輕量級數(shù)據(jù)交換格式,可用于存儲和查詢數(shù)據(jù)。
例如:CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), address JSON, salary DECIMAL(10, 2) );
這樣一來,我們就可以使用MySQL來存儲和查詢JSON格式的數(shù)據(jù)了。