数据库内容,我没有记载太多,我只是将自己记得不是很清楚,或者是重点。所以内容不全,请见谅。
mysql查漏补缺
MYSQL
1.COUNT(字段)关键字
聚合函数COUNT(字段)会忽视NULL值字段
2.GROUP BY 关键字
目的是为了做统计操作的
GROUP BY是查询的每组的一个数据
它不忽略NULL值,
3.HAVING关键字
在GROUP BY后面做过滤数据(条件筛选)
用HAVING关键字
4.LIMIT关键字
通过LIMIT关键字可以去指定查询的条数和行数
语法格式:
LIMIT 字段名 FROM 表名 LIMIT OFFSET,LENGTH
参数说明:
OFFSET:起始行数,默认从0开始计数
LENGTH:返回的行数
分页公式:
起始行数=(当前页数-1)*每页显示条数
5.约束
目的:对数据进行一定的限制,来保证数据的完整性,有效性和正确性
主键约束:PRIMARY KEY
主键自增 AUTO_INCREMENT
唯一约束:UNIQUE
表中的某一列不能重复,对NULL值不做唯一判断
非空约束:NOT NULL
外键约束:FOREIGN KEY
6.DELETE和TRUNCATE关键字
DELETE:删除表中所有数据,是将表中数据逐条删除
TRUNCATE:删除表中所有数据,是删除表,然后创建一个相同的表
两者对自增的影:
DELETE对自增没有影响,TRUNCATE对自增有影响
7.主键约束和唯一的区别
- 主键约束是唯一且不为空的
- 唯一约束,唯一但是可以为空
- 一个表中只能有一个主键约束,但可以有多个唯一约束
8.默认值
特点:用来指定某一列的值
语法格式:字段名 字段类型 DEFAULT 默认值
SQL的分类

where 与 having的区别

删除表中所有数据有两种方式

事务
事务是一个整体,由一条或者多条SQL 语句组成,这些SQL语句要么都执行成功,要么都执行失败, 只要有
一条SQL出现异常,整个操作就会回滚,整个业务执行失败
回滚
即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成
的操作全部撤销,滚回到事务开始时的状态。(在提交之前执行)
事务的四大特性 ACID

Mysql 事务隔离级别(了解)
并发访问会产生的问题

四种隔离级别
通过设置隔离级别,可以防止上面的三种并发问题.
MySQL数据库有四种隔离级别 上面的级别最低,下面的级别最高。

查看隔离级别
select @@tx_isolation;
设置事务隔离级别,需要退出 MySQL 再重新登录才能看到隔离级别的变化
set global transaction isolation level 级别名称;
read uncommitted 读未提交
read committed 读已提交
repeatable read 可重复读
serializable 串行化
总结:
serializable 串行化可以彻底解决幻读,但是 事务只能排队执行,严重影响效率,
数据库不会使用这种隔离级别
如果想实现删除主表数据的同时,也删除掉从表数据,可以使用级联删除操作
级联删除
ON DELETE CASCADE
浙公网安备 33010602011771号