数据完整性 & SQL 语句
数据库优化 学习笔记
一、数据完整性
在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证。主要包括数据字段的类型、约束。
1.1、数据类型
(1)常用数据类型:
-
整数(int):不需要限定长度
-
小数(decimal):两个参数,
decimal(5 , 2)
表示数值为 5 位数,其中有 2 位小数 -
字符串
char :固定长度,当传入数据长度不够时用空格补充,如char(5),传入 'ac',保存为 'ac ' (尾部添加 3 个空格)
varchar :可变长度,当传入数据长度不够时不补充,如varchar(5),传入 'ac',保存为 'ac'
-
日期时间
date :仅表示日期'YYYY-MM-DD'
time :仅表示时间'HH:MM:SS'
datetime :表示日期时间'YYYY-MM-DD HH:MM:SS'
-
枚举(enum):用于确定类型个数的数据,如 " 性别 "
(2)扩展
-
text 字符串 :存储大文本,当字符串长度大于 4000 时推荐使用
-
图片、视频、音频等文件 :不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径
-
更全的数据类型可以参考 :http://blog.****.net/anxpp/article/details/51284106
(3)可以看下的几张表格
-
数值类型
-
字符串
-
日期时间类型
1.2、约束
-
主键约束(primary key):能唯一标识一条记录的 " 一个字段 " 或 " 多个字段组合 " ,主键约束字段数据不能为空
-
外键约束(foreign key):该字段在数据库的另一张表中是主键。(对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常)
-
非空约束(not null):此字段不允许填写空值
-
唯一约束(unique):此字段的值不允许重复
-
默认约束(default):当不填写此字段的数据时,此字段使用默认值数据,否则使用填写的数据
-
自增约束(auto_increment):可以不赋值,默认从 1 开始算
-
无符号约束(unsigned):用于数值类型,无符号类型数值没有负数
二、SQL 语句
2.1、什么是 SQL 语句 ?
SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过SQL操作oracle,sql server,mysql等关系型数据库。
2.2、SQL语句主要分为
-
DQL: 数据查询语句,用于对数据进行查询,如
select
-
DML: 数据操作语言,对数据进行增加、修改、删除,如
insert、udpate、delete
-
DDL: 数据定义语言,进行数据库、表的管理等,如
create、drop
重点: 数据的 crud(增删改查)
,必须熟练编写 DQL、DML,能够编写 DDL 完成数据库、表的操作。