MySQL 數據類型是在保存數據時用來定義列的數據類型。在 MySQL 中,每個列、局部變量和參數都有一個數據類型。MySQL 支持多種數據類型,包括數字、文本和日期等。在本文中,我們將詳細介紹 MySQL 數據類型的具體用法。
數字類型:MySQL 支持多個數字類型,包括整數類型和浮點類型。常用的整數類型有 INT、BIGINT 和 SMALLINT,其中 INT 最常用。例如:
CREATE TABLE `employee` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `age` TINYINT UNSIGNED NOT NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1;在這個例子中,我們使用 INT 類型定義了 id 主鍵列。UNSIGNED 關鍵字表示該列的值為正數。TINYINT 類型用于定義 age 列,UNSIGNED 關鍵字表示該列值為非負數。 在 MySQL 中還有幾個浮點類型,包括 FLOAT、DOUBLE 和 DECIMAL。DECIMAL 用于精確計算,FLOAT 和 DOUBLE 浮點類型則用于近似計算。例如:
CREATE TABLE `sales` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `price` DECIMAL(10, 2) DEFAULT '0.00', `quantity` FLOAT UNSIGNED NOT NULL DEFAULT 1, PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1;在這個例子中,我們使用 DECIMAL 類型定義了 price 列,這個列存儲的是價格。DECIMAL (10, 2) 中的 10 表示總位數,2 表示小數點位數。FLOAT 類型用于定義 quantity 列,表示數量。 文本類型:MySQL 支持多個文本類型,包括 CHAR、VARCHAR、TEXT 等。CHAR 和 VARCHAR 類型用于存儲定長和變長字符串,通常用于存儲長度固定或長度較短的字符串。而 TEXT 類型則用于存儲長度超過 VARCHAR 的大文本數據。例如:
CREATE TABLE `article` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `title` VARCHAR(255) NOT NULL, `content` TEXT NOT NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1;在這個例子中,我們使用 VARCHAR 類型定義了 title 列,該列長度為 255。而 content 列使用 TEXT 類型,用于存儲較長的文章內容。 日期和時間類型:MySQL 支持多個日期和時間類型,包括 DATE、TIME、DATETIME 等。它們用于存儲日期和時間數據。例如:
CREATE TABLE `log` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `user_id` INT(10) UNSIGNED NOT NULL, `login_time` DATETIME NOT NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1;在這個例子中,我們使用 DATETIME 類型定義了 login_time 列,該列存儲登錄時間。 總結:MySQL 支持多個數據類型,包括數字、文本和日期等。同時,MySQL 還支持自定義數據類型。在定義列時,我們需要考慮每個列的實際需求,選擇合適的數據類型,以提高性能和減少存儲空間的浪費。
上一篇css制作畫廊教程