MySQL數據庫數據類型之集合類型SET測試總結

發表于:2013-12-14來源:IT博客大學習作者:Eugene點擊數: 標簽:MySQL
MySQL數據庫數據類型之集合類型SET測試總結。MySQL數據庫提供針對字符串存儲的一種特殊數據類型:集合類型SET,這種數據類型可以給予我們更多提高性能、降低存儲容量和降低程序代碼理解的技巧,前面介紹了首先介紹了四種數據類型的特性總結,其后又分別介紹了布爾類型BO

  【導讀】

  MySQL數據庫提供針對字符串存儲的一種特殊數據類型:集合類型SET,這種數據類型可以給予我們更多提高性能、降低存儲容量和降低程序代碼理解的技巧,前面介紹了首先介紹了四種數據類型的特性總結,其后又分別介紹了布爾類型BOOL或稱布爾類型BOOLEAN、枚舉類型ENUM,本文我們詳細介紹集合類型set測試過程與總結,加深對mysql數據庫集合類型set的理解記憶。

  n 集合類型 SET

  a).數據庫表mysqlops_set結構

  執行創建數據庫表mysqlops_set的語句:

  root@localhost : test 05:06:13> CREATE TABLE Mysqlops_SET(ID INT NOT NULL AUTO_INCREMENT,

  -> Work_Option SET('','DBA','SA','Coding Engineer','JavaScript','NA','QA','other') NOT NULL,

  -> Work_City SET('shanghai','beijing','hangzhou','shenzhen','guangzhou','other') NOT NULL DEFAULT 'shanghai',

  -> PRIMARY KEY(ID)

  -> )ENGINE=InnoDB CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

  Query OK, 0 rows affected (0.00 sec)

  查閱數據庫中創建的mysqlops_set表的結構定義信息:

  root@localhost : test 04:33:38> SHOW CREATE TABLE Mysqlops_set\\G

  *************************** 1. row ***************************

  Table: Mysqlops_set

  Create Table: CREATE TABLE `Mysqlops_set` (

  `ID` int(11) NOT NULL AUTO_INCREMENT,

  `Work_Option` set('','DBA','SA','Coding Engineer','JavaScript','NA','QA','other') NOT NULL,

  `Work_City` set('shanghai','beijing','hangzhou','shenzhen','guangzhou','other') NOT NULL DEFAULT 'shanghai',

  PRIMARY KEY (`ID`)

  ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8

  1 row in set (0.00 sec)

  小結:

  對于集合類型字段定義,MySQL沒有做任何強制性轉換或修改。

  b). 寫入不同類型的測試數據

  root@localhost : test 05:06:19> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(1,'QA','shanghai');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 05:06:26> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(2,'NA','');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 05:06:33> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(3,'Other',NULL);

  ERROR 1048 (23000): Column 'Work_City' cannot be null

  root@localhost : test 05:06:47> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(3,'','hangzhou');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 05:06:55> INSERT INTO Mysqlops_SET(ID,Work_City) VALUES(4,'ningbo');

  Query OK, 1 row affected, 2 warnings (0.00 sec)

  root@localhost : test 05:07:09> SHOW WARNINGS;

  +---------+------+--------------------------------------------------+

  | Level | Code | Message |

  +---------+------+--------------------------------------------------+

  | Warning | 1364 | Field 'Work_Option' doesn't have a default value |

  | Warning | 1265 | Data truncated for column 'Work_City' at row 1 |

  +---------+------+--------------------------------------------------+

  2 rows in set (0.00 sec)

  root@localhost : test 05:07:19> INSERT INTO Mysqlops_SET(ID,Work_Option) VALUES(5,'DBA');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 03:06:01> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(6,'DBA','shanghai');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 03:06:10> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(7,'DBA,SA','shanghai,beijing');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 03:06:18> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(8,'DBA,SA,NA','shanghai,beijing,hangzhou');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 03:06:12> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(9,'DBA,SA,NA','shanghai,beijing,hangzhou,shenzhen,guangzhou,other');

  Query OK, 1 row affected (0.00 sec)

  root@localhost : test 03:18:25> INSERT INTO Mysqlops_SET(ID,Work_Option,Work_City) VALUES(20,'DBA,SA,NA','shanghai,beijing,hangzhou!shenzhen!guangzhou!other');

  Query OK, 1 row affected, 1 warning (0.00 sec)

  root@localhost : test 03:18:27> show warnings;

  +---------+------+------------------------------------------------+

原文轉自:http://blogread.cn/it/article/5114

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97