[toc]
mysql数据类型和SQL语句分类
1.SQL语句分类
DDL(Data Definition Language)数据定义语言
- create、alter、drop
DML(Data Manipulation Language)数据操纵语言
- insert、update、delete
DCL(Data Control Language)数据控制语言
- grant、revoke
DQL(Data Query Language)数据查询语言
- select、show
2.mysql数据类型
2.1 数值类型
2.1.1 整型
类型 | 大小 | 范围(有符号) | 范围(无符号)unsigned约束 | 用途 |
---|---|---|---|---|
TINYINT | 1 字节 | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2 字节 | (-32 768,32 767) | (0,65 535) | 大整数值 |
MEDIUMINT | 3 字节 | (-8 388 608,8 388 607) | (0,16 777 215) | 大整数值 |
INT或INTEGER | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
BIGINT | 8 字节 | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值 |
2.1.1.1 int和tinyint使用示例
常用的数据类型是tinyint和int
#创建表t1
mysql> create table t1(t tinyint,i int);
Query OK, 0 rows affected (0.02 sec)
//向表中插入数据,有符号的tinyint下限是-128,因此插入-129报错
mysql> insert into t1 values(-129,-129);
ERROR 1264 (22003): Out of range value for column 't' at row 1
mysql> insert into t1 values(-128,-129);
Query OK, 1 row affected (0.01 sec)
#创建表t2
mysql> create table t2(t tinyint(3),i int(3));
Query OK, 0 rows affected (0.08 sec)
//向表t2中插入数据
mysql> insert into t2 values(1000,1000);
ERROR 1264 (22003): Out of range value for column 't' at row 1
mysql> insert into t2 values(999,1000);
ERROR 1264 (22003): Out of range value for column 't' at row 1
mysql> insert into t2 values(128,999);
ERROR 1264 (22003): Out of range value for column 't' at row 1
mysql> insert into t2 values(127,999);
Query OK, 1 row affected (0.01 sec)