在MySQL中,使用CREATE TABLE
語句創建一個新表時,可以為每個列定義數據類型。以下是一些常見的數據類型及其用法:
-
整數類型:
- TINYINT:1字節有符號整數,范圍從-128到127(有符號)或0到255(無符號)。
- SMALLINT:2字節有符號整數,范圍從-32,768到32,767(有符號)或0到65,535(無符號)。
- MEDIUMINT:3字節有符號整數,范圍從-8,388,608到8,388,607(有符號)或0到16,777,215(無符號)。
- INT:4字節有符號整數,范圍從-2,147,483,648到2,147,483,647(有符號)或0到4,294,967,295(無符號)。
- BIGINT:8字節有符號整數,范圍從-9,223,372,036,854,775,808到9,223,372,036,854,775,807(有符號)或0到18,446,744,073,709,551,615(無符號)。
-
浮點類型:
- FLOAT:單精度浮點數,4字節,范圍約為-3.4E+38到3.4E+38,精度為7位有效數字。
- DOUBLE:雙精度浮點數,8字節,范圍約為-1.8E+308到1.8E+308,精度為16位有效數字。
- DECIMAL:定點數,可以指定精度和小數位數。例如,DECIMAL(10,2)表示最多有10位數字,其中2位小數。
-
字符串類型:
- CHAR:固定長度的字符串,長度由括號內的數字指定。例如,CHAR(10)表示最多存儲10個字符的字符串。
- VARCHAR:可變長度的字符串,最大長度由括號內的數字指定。例如,VARCHAR(255)表示最多存儲255個字符的字符串。
- TEXT:長文本,最大長度為65,535個字符。
- MEDIUMTEXT:中等長度的文本,最大長度為16,777,215個字符。
- LONGTEXT:非常長的文本,最大長度為4,294,967,295個字符。
-
日期和時間類型:
- DATE:日期,格式為’YYYY-MM-DD’。
- TIME:時間,格式為’HH:MM:SS’。
- DATETIME:日期和時間,格式為’YYYY-MM-DD HH:MM:SS’。
- TIMESTAMP:時間戳,從’1970-01-01 00:00:01’ UTC到’2038-01-19 03:14:07’ UTC。
-
二進制數據類型:
- BINARY:固定長度的二進制字符串。
- VARBINARY:可變長度的二進制字符串。
- BLOB:二進制大對象,可以存儲大量的二進制數據。
-
其他類型:
- ENUM:枚舉值,必須在創建表時定義一個枚舉列表,列中的值必須匹配列表中的一個。
- SET:集合值,必須在創建表時定義一個集合列表,列中的值可以是列表中的一個或多個。
以下是一個創建表的示例,其中包含了上述的一些數據類型:
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
age TINYINT,
salary DECIMAL(10, 2),
join_date DATE,
job_title ENUM('Manager', 'Developer', 'Designer'),
notes TEXT
);
在這個示例中,我們創建了一個名為employees
的表,其中包含了員工的ID、名字、姓氏、年齡、薪水、加入日期、職位和備注等信息。