一, 常用数据类型
1. 常用数字类型
- tinyint:一个很小的整数,1个字节,有符号时的范围是 -128 ~127;
- int :正常大小整数,4个字节,有符号时的范围是 -2147483648~2147483647;
- bigint:大整数,8个字节,有符号是的范围是 -9233372036854775808 ~ 9223372036854775807;
- float :单精度,4个字节,有符号的取值范围是 (-3.402 823 466 E+38,1.175 494 351 E-38) ,0, (1.175 494 351 E-38,3.402 823 466 351 E+38)
- double:双精度,8个字节,有符号的取值范围是 (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308), 0 ,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
- decimal(M,D):默认 decimal(10, 0), 如果 M >D ,占用空间 M字节, 否则占用空间 D+2个字节;
注意:int(M)中字段的取值范围大小和占用空间与M无关;
2. 常用字符串类型
- varchar :最大 65535 个字节,对于 utf-8 编码,一个汉字占三个字节, 对于gbk 编码, 一个汉字占 2 个字节; varchar(20) 表示的是最大存储20 个字符(一个汉字一个字符);
- blob,text :最大存储 65 535 个字节;
- longblog :最大存储 4 294 967 295 字节;
注意: varchar(M)中字段的取值范围大小不能超过 M;
3. 时间类型
- DATE :3字节,支持的范围,‘1000-01-01’到 ‘9999-12-31’;
- TIME : 3字节,支持的范围, ‘-838:59:59’ 到 ‘838:59:59’
- dateTime:8字节,支持范围, ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59 ’
- timeStamp:8字节,支持范围, ‘1970-01-01 00:00:00’到 ‘2037 ’
二,约束
- 主键约束(primary key):一般指自增,唯一,非空的序号
- 外键约束(foreign key):关联另外一张表的字段;
- 唯一约束(unique ):值唯一(null 可以有多个)
- 非空约束(not null):不能为空
- 检查约束 (check):限制字段内容
- 默认约束(default):初始化值;
参考连链接:http://blog.csdn.net/changwei07080/article/details/7529451;
http://blog.csdn.net/yen_csdn/article/details/51814912
三,having, exists,union,in的用法
- having:必须 配合group by 使用,用来筛选分组之后的结果,where 语句是在分组之前筛选数据;
注意: having 后面的名称必须是聚合函数返回的结果; - exists:每一次外插叙都需要判断一次子查询,如果子查询有返回结果就为真,输出外查询结果,否则为假;
注意:(not exists 与 exists 相反) - union:连表查询(内联,左外连接,右外连接)
- in:匹配结果集,如果查询字段值在给出的集合之中,则输出;
注意:(not in 与 in 相反)
四,distinct,as,limit ,order by , group by ,聚合函数
- distinct :(去重)返回不重复的数据,后面可以跟一个或多个字段, 如果是多个字段,除去每个字段都相同的行;
eg:select DISTINCT name, password from t_user
- as:别名;
- limit:限制返回结果的条数;
select * from t_user LIMIT 0,5
表示从 0 (不包含0) 条数据开始取之后的5条数据;
4. order by:排序;(升序:src; 降序:desc)
5. group by:分组;
6. 常用聚合函数
count(column) :计数;
sum():求和;
7. concat(column1, str,column2) :组合字符串和字段
* 注意,between和 in的操作可以在前面加上 not 获取想法的结果;**
* 通配符可以有 : %, _, 正则表达式**
8,模糊查询 like , %, _, escape(定义转义符)
五,修改表字段方法
表达式 | 说明 |
---|---|
alter table tableName add column columnName varchar(xx) null default null comment ‘—’ | 添加表字段 |
alter table tableName drop column columnname | 删除表字段 |
alter table tableName change oldColumnName newColumnName varchar(xx) null default null comment ‘—’ | 修改表字段 |