SQL
2016-05-23 21:17
197 查看
SQL
关系型数据库关系模型把世界看作是由实体和练习组成的。二关系型数据库是将数据库表做为实体,以数据库的主键和外键的关联关系描述练习的一种数据库结构。
一对一,一条主表记录对应一条从表记录,同时一条从表记录也对应一条主表记录
一对多,一条主表记录对应多条从表记录,同时一条从表记录也对应一条主表记录
多对多,一条主表记录对应对条从表记录,同时一条从表记录也对应多条主表记录
DBMS数据库管理系统
关系型数据库知识一个保存数据的容器,大多数数据库靠DBMS软件来管理数据库中数据。
管理关系型数据库的软件被称为关系型管理数据库系统-RDBMS
数据库管理系统分类
本地数据库管理系统
数据库服务器管理系统
MySQL的类型
浮点型 : float double decimal(10,2)
整型: int
字符型 : varchar(20)
日期类型: date
组件
PRIMARY KEY定义当前列为主键。主键有两个特点:非空,不能重复。
ATUO_INCREMENT设置当前列为自动增长列,有DBMS为该列分配值,确保该列的值不会重复。
外件
删除数据
删除所有数据
使用DELETE删除
不加WHERE调价的DELETE语句就能删除所有数据
使用TRUNCATE语句
直接删除表中所有数据
标准结构
二者区别
DELETE会记录日志,意味着删除后的数据可以恢复,,TRINDATE删除后的数据不能恢复
聚合函数
COUNT:统计行数量
SUM:获取单个列的合计值
AVG:计算某个列的平均值
MAX:计算列的最大值
MIN:计算列的最小值
HAVING和WHERE的区别
二者都是过滤条件,WHERE运行早分组钱,隐藏不能执行任何聚合函数。HAVING是运行在分组后,只能用作聚合函数的过滤
为什么要保证数据库的完整性
为了防止垃圾数据的产生,从而影响数据库的执行效率
可靠性+准确性=完整性
分类
1实体完整性
保证一行数据是有效的
实现方法
一 主键约束
主键 不能为空,不能重复
二 唯一约束
给定列的所有值必须唯一,该列在表中的每一行的值必须唯一
和主键约束的区别在于,该列可以为空并且可以在一张表中给多个列设置唯一约束
2域完整性
保证一列数据是有效的
实现方法
非空约束 not null
默认约束 default
sex VARCHAR(10) DEFAULT’男’ 表示如果不插入值以男为准,插入值以插入值为准
检查约束MySQL不主持
3引用完整性
保证引用的编号是有效的
4用户自定义完整性
保证自定义规则
两个表之间,由于有外键约束,那么删除主表记录时,由于有外键约束存在,无法删除有从表就引用的主表记录
这是,删除主表就有两种方式:
1,级联删除:将主表记录对应的从表记录先删除,在删除主表记录
DELETE FROM t_room WHERE manId=1;
DELETE FROM t_man WHERE id=1;
2,外键设空:将主表记录对应的从表记录外键设置为NULL,在删除主表记录
UPDATE t_room SET manId=NULL WHERE manId = 2;
DELETE FROM t_man WHERE id=1;
相关文章推荐
- MYSQL优化常用方法
- 数据库中的常用函数
- SQL SERVER 自连接、外连接
- Mysql 查看连接数,状态 最大并发数
- 2 源码编译安装mysql
- SQL表格
- oracle导入csv文本文件到vertica
- 允许ubuntu下mysql远程连接
- oracle 高级分组
- Oracle 存储过程中的循环语句写法
- Oracle 游标 与 存储过程
- Oracle存储过程中游标For循环使用
- PL/SQL如何调试Oracle存储过程
- MySql的Date函数
- Redis源码分析(一):aeMain()函数概述
- 安装 sql server 2008 过程中遇到的问题及解决措施
- 数据库的操作
- 如何面对ubuntu mysql ----->>> Access denied for user 'root'@'localhost'
- SQL SERVER 建表table之前,检查是否有同名的表存在
- 关于mybatis用mysql时,插入返回自增主键的问题