触发器:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_02

约束:用于限制表中的数据,为了保证表中的数据的准确和可靠性

六大约束:

NOT NULL:非空

default:默认,用于保证该字段有默认值

primary key:主键,字段唯一且非空

unique:唯一,可以为空

check:检查约束(mysql中不支持)

foreing key:外键,用于限制两个表的关系,保证该字段来自主表关联列的值,,主表的关联列必须为key

 

约束添加分类:

列级约束:六大约束都支持,但外键没有效果

表级约束:除了非空、默认,其他的都支持

列级约束:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_03

表级约束:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_04

修改表时添加约束:

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_05

添加列级约束:alter table 表名 modify column 字段名 字段类型 新约束

添加表级约束:alter table 表名 add【constraint 约束名】约束类型(字段名)【外键的引用】

添加非空约束:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_06

添加默认约束:

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_07

添加主键:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_08

外键联级删除:

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_09

添加唯一:

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_10

修改表时删除约束:

1、删除非空约束:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_11

2、删除默认约束:

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_12

3、删除主键:

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_13

4、删除唯一:

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_14

5、删除外键:

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_15

标识列(自增)特点:

1、标识列不一定和主键搭配,但要求一定是一个key

2、一个表至多有一个标识列

3、标识列只能是数值型

4、标识列可以通过set auto_increment_increment=3,设置步长

可以通过手动插入值,设置起始值。

set @@auto_increment_increment=2; --设置步长为2
   set @@auto_increment_offset=2;    --设置初始值

开启事务:

1、开启事务

set autocommit=0;

start transacion   (可以省略)

2、编写一组逻辑sql语句(insert、update、delete)

设置回滚点:savepoint 回滚点名

3、结束事务

提交:commit

回滚:rollback

回滚到指定地方:rollback to 回滚点名;

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_16

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_17

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_18

 

创建视图

方式一:create or replace view 视图名

as

查询语句

方式二:alter view 视图名

as

查询语句

删除视图:drop view 视图1,视图2...

查看视图: desc 视图名

show create view 视图。

注意:视图一般用于查询,而不是用于更新,所以具备以下特点的视图都不允许更新

1、包含分组函数:group by、distinct、having、union.

2、join

3、常量视图

4、where后的子查询用到from中的表

5、用到了不可更新的视图

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_19

联级删除:

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_20

联级置空:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_21

 

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_22

修改视图:

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_23

删除视图:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_24

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_25

MySQL 的mysqlcheck工具怎么用 mysql quick_存储过程_26

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_27

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_28

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_29


存储过程:

1.参数模式:in,out,inout,其中in可以省略

2.存储过程的每一条sql语句都要用分号结束

call:存储过程名(实参列表)

in:call sq1(‘值’)

out:set @name;call sq1(@name)

inout:set @name=值;call sq1(@name);select @name;

查看:show create procedure 存储过程名

删除:drop proceduce 存储过程名

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_30

函数:

使用delimiter语句设置结束标记

函数体只有一句,则可以省略begin end

注意:函数一定有return语句

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_31

调用:select 函数名(实参列表)

查看函数:show create function 函数名

删除函数:drop function 函数名

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_32

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_33

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_34

if函数:

if(表达式1,表达式2,表达式3)

执行顺序:如果表达式1成立,则if函数返回表达式2的值,否则返回表达式3的值

可用于任何地方。

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_35

case:

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_36

特点:可以作为表达式,嵌套在其他语句中使用,可以放在任何地方,bigin end 中或begin en的外面

可以作为独立的语句去使用,只能放在begin end中

else可以省略,如果else省略了,并且所有when条件都不满足,则返回null

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_37

循环结构:while、loop、repeat

iterate类似于 continue,

leave类似于 break

while:

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_38

loop:

MySQL 的mysqlcheck工具怎么用 mysql quick_外键_39

repeat:

MySQL 的mysqlcheck工具怎么用 mysql quick_回滚_40

 

区别:

存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新

函数:有且仅有1个返回,适合做处理数据后返回一个结果