MySQL是一款常用的關(guān)系型數(shù)據(jù)庫,通過SQL語句創(chuàng)建表、新增數(shù)據(jù),是日常開發(fā)中常見的操作。而在創(chuàng)建表時,需要指定每個列的數(shù)據(jù)類型,常用的數(shù)據(jù)類型包括數(shù)字、字符串、日期等。除此之外,MySQL還支持其他一些數(shù)據(jù)類型,本文將介紹如何使用MySQL創(chuàng)建表時新增數(shù)據(jù)類型。
首先,MySQL支持的一些新增數(shù)據(jù)類型包括:
- JSON:存儲JSON格式的數(shù)據(jù) - GEOMETRY:存儲空間數(shù)據(jù)(點(diǎn)、線、面等) - ENUM:枚舉類型,只能取枚舉值中的一個值 - SET:集合數(shù)據(jù)類型,可以取多個值 - BOOLEAN:“真”或“假”的數(shù)據(jù)類型,取值為1或0
下面通過SQL語句展示如何創(chuàng)建表并指定新增的數(shù)據(jù)類型:
CREATE TABLE `demo_table` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID', `student_name` varchar(50) NOT NULL COMMENT '學(xué)生姓名', `score` decimal(5,2) NOT NULL COMMENT '分?jǐn)?shù)', `birthdate` date NOT NULL COMMENT '生日', `options` set('option1','option2','option3') NOT NULL COMMENT '選項', `is_pass` boolean NOT NULL COMMENT '是否通過', `location` geometry NOT NULL COMMENT '位置坐標(biāo)', `detail` json NOT NULL COMMENT '詳情', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Demo表';
以上SQL語句中:
- `id`:使用int數(shù)據(jù)類型,表示主鍵ID; - `student_name`:使用varchar數(shù)據(jù)類型,表示學(xué)生姓名; - `score`:使用decimal數(shù)據(jù)類型,表示分?jǐn)?shù),保留2位小數(shù); - `birthdate`:使用date數(shù)據(jù)類型,表示生日; - `options`:使用set數(shù)據(jù)類型,表示選項,可選值為option1、option2、option3; - `is_pass`:使用boolean數(shù)據(jù)類型,表示是否通過,取值為1或0; - `location`:使用geometry數(shù)據(jù)類型,表示位置坐標(biāo); - `detail`:使用json數(shù)據(jù)類型,存儲附加詳情信息。
通過以上步驟,我們就可以使用MySQL創(chuàng)建表并新增數(shù)據(jù)類型,提高數(shù)據(jù)存儲的靈活性和精準(zhǔn)性。