mysql 数据库中 常用数据类型,约束

一, 常用数据类型

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 ’

参考链接:
http://stevenjohn.iteye.com/blog/1451909

二,约束

  1. 主键约束(primary key):一般指自增,唯一,非空的序号
  2. 外键约束(foreign key):关联另外一张表的字段;
  3. 唯一约束(unique ):值唯一(null 可以有多个)
  4. 非空约束(not null):不能为空
  5. 检查约束 (check):限制字段内容
  6. 默认约束(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 ,聚合函数

  1. distinct :(去重)返回不重复的数据,后面可以跟一个或多个字段, 如果是多个字段,除去每个字段都相同的行;
eg:select DISTINCT  name, password from t_user
  1. as:别名;
  2. 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 ‘—’修改表字段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值