数据库内容,我没有记载太多,我只是将自己记得不是很清楚,或者是重点。所以内容不全,请见谅。

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

 

posted on 2020-12-16 23:52  未来是靠自己的  阅读(59)  评论(0)    收藏  举报