天天看点

【MySql事务】MySql事务语法、开、关闭自动提交、事务原则、创建视图

BEGIN;
	UPDATE account SET balance = balance + 2000
	WHERE accountName = '李四';
	UPDATE account SET balance = balance - 2000
	WHERE accountName = '张三';
	#提交事务
COMMIT;
#回滚事务 已提交的事务回滚不了
ROLLBACK;
#查看表引擎
SHOW CREATE TABLE account; 
#修改表引擎
ALTER TABLE account ENGINE = INNODB;
           

关闭自动提交

开启自动提交

数据回滚

提交事务

什么是事务

指将一系列数据操作捆绑成为一个整体并进行统一管理的机制

事务的特性

1.原子性

2.一致性

3.隔离性

4.持久性

事务的原则

1.事务尽可能短

2.事务中访问的数据量尽量的少

3.查询数据尽量不要使用事务

4.在事务处理过程中尽量不要出现等待用户输入的操作

索引

什么是索引

对数据库表或多列进行排列的一种结构

作用

1.提高查询效率

2.改善数据库的性能

语法

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
NO table_name (column_name [length]...);

#设置主键索引
ALTER TABLE member ADD PRIMARY KEY(id);

UNIQUE:唯一索引
FULLTEXT:全文索引
SPATIAL:空间索引
如果未指定则是普通索引
index_name:指定索引名
table_name:创建索引的表名
column_name:哪个列创建索引
           
查看索引
删除索引
DROP INDEX index_remark ON member;
           

创建视图(虚拟表)

CREATE VIEW v_patient_msg
AS(
SELECT p.patientID,
	p.patientName,
	cc.checkitemName,
	cc.checkitemCost,
	pp.CheckResult,
	pp.examDate,
	DATE_FORMAT(pp.examDate,'%Y') AS dYear
FROM 
	patient p,
	prescriptiom pp,
	checkitem cc
WHERE 
	p.patientID = pp.patientID 
AND pp.CheckItemID = cc.checkitemID
);
           

删除视图

DROP VIEW IF EXISTS v_ps
           

查看视图

USE inform
SELECT * FROM VIEWS\G;
           

备份数据库

1.mysqldump

mysqldump -u root -p hospital >d:\hospital.sql