事务是指一组操作,要么都执行成功,要么都执行失败
# 语法 start transaction; sql语句 commit/roll back; # 1. 事务下的代码在commit之后才会生效 # 2. 事务下的代码rollback之后会失效
指不能再分的事务,要么全部成功,要么全部失败
事务发生前和发生后,数据的总额依然匹配
某个事务的操作对其他事物不可见
当事务完成后,其影响应该保留下来,不能撤销,不能通过“补偿性事务”来抵消之前的影响
create table user( id int auto_increment primary key, name varchar(10)) )engine = innodb charset utf8;
相当于保时捷引擎,mysql5.5以上默认使用innodb引擎
相当于奔奔引擎,淘汰的引擎
视图是一个虚拟表,用来存储查询语句的结果,相当于把子查询中的嵌套语句用一个变量存储
create view 视图名 as sql语句;
create view v1 as select * from user where name = 'wick'; # 使用 select * from v1;
当改变视图中数据时,原始表中的数据也会跟着修改
drop view 视图名;
使用触发器可以定制用户对表进行增、删、改操作时前后的行为,使其自动触发
# 每次向表1新增数据前/后,也向表2张红插入值 delimiter // # 更改分解符为// create trigger 触发器名 before/after insert on 表名1 for each row begin insert into 表名2 (字段) values (值); end // delimiter ; # 更改分解符为;
# 查看触发器 show triggers\g # 删除触发器 drop trigger 触发器名
存储过程包含了一系列可执行的sql语句,直接调用名字使用sql语句,就像一个函数
# 示例 delimiter // create procedure p1() begin select * from user where id = 2; end // delimiter ; # 调用 call p1();
drop proedure p1;
mysql内置函数
更多函数见
# 语法 mysqldump -h 主机名 -u用户名 -p密码 数据库名 [表名 表名]; # 1. 单库备份 mysqldump -uroot -p123 db1 > db1.sql # 备份库 mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql # 2. 多库备份 mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql # 3. 备份所有库 mysqldump -uroot -p123 --all-databases > all.sql # 4. 重新导入 source d:/test3.sql
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
小白安装登录mysql-8.0.19-winx64的教程图解(新手必看)
Navicat连接MySQL时报10060、1045错误及my.ini位置问题
网友评论