MySQL是廣泛使用的關系型數據庫管理系統。在數據庫設計中,根據數據特性對表進行分類,可以使數據庫更加高效,可維護性更強。在MySQL中,常見的數據類型分類包括整型、浮點型、字符型、日期型等。
整型(INT):整型是最常用的數據類型之一,用來存儲整數數據。在MySQL中,整型數據類型有多種,包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT等。這些類型的區別在于存儲范圍和占用空間大小。下面是一個示例代碼:
CREATE TABLE `student` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) NOT NULL, `age` INT(3) UNSIGNED NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
浮點型(FLOAT):浮點型也是常用的數據類型之一,用于存儲有小數點的數字,如金額等。在MySQL中,浮點型的數據類型有FLOAT和DOUBLE,FLOAT占用空間為4個字節,最多精確到7位小數,而DOUBLE占用空間為8個字節,最多精確到15位小數。下面是一個示例代碼:
CREATE TABLE `orders` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `amount` FLOAT(10,2) UNSIGNED NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
字符型(CHAR、VARCHAR、TEXT):字符型用于存儲文本數據,包括CHAR、VARCHAR和TEXT等數據類型。CHAR和VARCHAR都是用于存儲定長字符串和變長字符串的,其中CHAR占用空間是固定的,而VARCHAR是可變的。TEXT用于存儲較長的文本數據。下面是一個示例代碼:
CREATE TABLE `product` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `name` CHAR(20) NOT NULL, `description` TEXT, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
日期型(DATE、TIMESTAMP):日期型用于存儲日期和時間數據。在MySQL中,常用的日期數據類型有DATE和TIMESTAMP。其中,DATE用于存儲年月日,TIMESTAMP用于存儲精確到秒的時間戳。下面是一個示例代碼:
CREATE TABLE `order_details` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `order_id` INT(11) UNSIGNED NOT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), CONSTRAINT `fk_order` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上一篇mysql分類統計
下一篇python 透視表還原