写点什么

数据类型与约束

用户头像
在即
关注
发布于: 2021 年 03 月 08 日
数据类型与约束

数据类型

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)


以上数据部分参考网上资源

谢谢!

发布于: 2021 年 03 月 08 日阅读数: 10
用户头像

在即

关注

还未添加个人签名 2021.02.27 加入

还未添加个人简介

评论

发布
暂无评论
数据类型与约束