溫馨提示×

MySQL create命令如何定義數(shù)據(jù)類型

小樊
81
2024-10-02 10:28:16
欄目: 云計算

在MySQL中,使用CREATE TABLE語句創(chuàng)建一個新表時,可以為每個列定義數(shù)據(jù)類型。以下是一些常見的數(shù)據(jù)類型及其用法:

  1. 整數(shù)類型:

    • TINYINT:1字節(jié)有符號整數(shù),范圍從-128到127(有符號)或0到255(無符號)。
    • SMALLINT:2字節(jié)有符號整數(shù),范圍從-32,768到32,767(有符號)或0到65,535(無符號)。
    • MEDIUMINT:3字節(jié)有符號整數(shù),范圍從-8,388,608到8,388,607(有符號)或0到16,777,215(無符號)。
    • INT:4字節(jié)有符號整數(shù),范圍從-2,147,483,648到2,147,483,647(有符號)或0到4,294,967,295(無符號)。
    • BIGINT:8字節(jié)有符號整數(shù),范圍從-9,223,372,036,854,775,808到9,223,372,036,854,775,807(有符號)或0到18,446,744,073,709,551,615(無符號)。
  2. 浮點類型:

    • FLOAT:單精度浮點數(shù),4字節(jié),范圍約為-3.4E+38到3.4E+38,精度為7位有效數(shù)字。
    • DOUBLE:雙精度浮點數(shù),8字節(jié),范圍約為-1.8E+308到1.8E+308,精度為16位有效數(shù)字。
    • DECIMAL:定點數(shù),可以指定精度和小數(shù)位數(shù)。例如,DECIMAL(10,2)表示最多有10位數(shù)字,其中2位小數(shù)。
  3. 字符串類型:

    • CHAR:固定長度的字符串,長度由括號內(nèi)的數(shù)字指定。例如,CHAR(10)表示最多存儲10個字符的字符串。
    • VARCHAR:可變長度的字符串,最大長度由括號內(nèi)的數(shù)字指定。例如,VARCHAR(255)表示最多存儲255個字符的字符串。
    • TEXT:長文本,最大長度為65,535個字符。
    • MEDIUMTEXT:中等長度的文本,最大長度為16,777,215個字符。
    • LONGTEXT:非常長的文本,最大長度為4,294,967,295個字符。
  4. 日期和時間類型:

    • 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。
  5. 二進制數(shù)據(jù)類型:

    • BINARY:固定長度的二進制字符串。
    • VARBINARY:可變長度的二進制字符串。
    • BLOB:二進制大對象,可以存儲大量的二進制數(shù)據(jù)。
  6. 其他類型:

    • ENUM:枚舉值,必須在創(chuàng)建表時定義一個枚舉列表,列中的值必須匹配列表中的一個。
    • SET:集合值,必須在創(chuàng)建表時定義一個集合列表,列中的值可以是列表中的一個或多個。

以下是一個創(chuàng)建表的示例,其中包含了上述的一些數(shù)據(jù)類型:

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
);

在這個示例中,我們創(chuàng)建了一個名為employees的表,其中包含了員工的ID、名字、姓氏、年齡、薪水、加入日期、職位和備注等信息。

0