数据类型与约束
数据类型
1.数字类型
2.时间和日期类型
3.字符串类型
表的约束
1.默认约束
2.非空约束
3.唯一约束
4.主键约束
字符集与校对集
1.字符集与校对集概述
2.字符集与校对集的设置
数字类型
整数类型
定点数类型
浮点数类型
BIT 类型
数字类型
无符号数据类型:使用 UNSIGNED 关键字修饰。
示例:
“INT”有符号 INT 类型;
“INT UNSIGNED”无符号 INT 类型。
演示:INT 和 TINYINT 类型
mysql> USE mydb;
mysql> CREATE TABLE my_int (
-> int_1 INT,
-> int_2 INT UNSIGNED,
-> int_3 TINYINT,
-> int_4 TINYINT UNSIGNED
-> );
插入记录测试
① 插入成功测试
mysql> INSERT INTO my_int VALUES(1000, 1000, 100, 100);
Query OK, 1 row affected (0.00 sec)
② 插入失败测试
mysql> INSERT INTO my_int VALUES(1000, -1000, 100, 100);
ERROR 1264 (22003): Out of range value for column 'int_2' at row 1
查看 my_int 表结构
mysql> DESC my_int;
+-------+------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------------+------+-----+---------+-------+
| int_1 | int(11) | YES | | NULL | |
| int_2 | int(10) unsigned | YES | | NULL | |
| int_3 | tinyint(4) | YES | | NULL | |
| int_4 | tinyint(3) unsigned | YES | | NULL | |
+-------+------------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
红色数字显示宽度
显示宽度:默认情况下,是取值范围所能表示的最大宽度。
对于有符号类型:符号也占用一个宽度。
示例:255 的显示宽度为 3,-128 的显示宽度为 4。
显示宽度与取值范围无关:若数值的位数小于显示宽度,会填充空格,
若大于显示宽度,则不影响显示结果。
若数值宽度小于显示宽度,会在左侧填充 0
mysql> INSERT INTO my_int2 VALUES(1234, 2);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM my_int2;
+-------+--------+
| int1 | int2 |
+-------+--------+
| 1234 | 000002 |
+-------+--------+
1 row in set (0.00 sec)
以上数据部分参考网上资源
谢谢!
版权声明: 本文为 InfoQ 作者【在即】的原创文章。
原文链接:【http://xie.infoq.cn/article/384b0078279a6b4d66f731865】。文章转载请联系作者。
评论