1.事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交会撤销操作请求。
2.数据库事务具有如下特性:
A.原子性 |
B.一致性 |
C.隔离性 |
D.
持久性
|
以上四个特性也被称为ACID特性。
3.使用下列语句来管理事务。
A. BEGIN或 TEANSACTION(开始事务)。
//开始事务
begin;
update `bank` set `currentMoney` =`currentMoney` -1000
where `customerName` ='张三';
B.COMMIT(提交事务)。
//提交事务,写入硬盘,永久的保存
commit;
C.ROLLBACK(回滚事务)。
//回滚事务,数据恢复到未更新前的状态
RollBACK;
D.或者使用SET autocommit=0 设置自动提交关闭,进行事务提交或回滚后,再使用SET autocommit=1 开始自动提交。
//开始事务
begin;
update `bank` set `currentMoney` =`currentMoney` -1000
where `customerName` ='张三';
//回滚事务,数据恢复到未更新前的状态
RollBACK;
//开始事务
begin;
update `bank` set `currentMoney` =`currentMoney` -1000
where `customerName` ='张三';
//回滚事务,数据恢复到未更新前的状态
RollBACK;
SET AUTOCOMMIT=0;
update `bank` set `currentMoney` =`currentMoney` -500
where `customerName` ='张三';
update `bank` set `currentMoney` =`currentMoney` +500
where `customerName` ='李四';
//提交事务,写入硬盘,永久的保存
commit;
//回滚事务,数据恢复到未更新前的状态
RollBACK;
update `bank` set `currentMoney` =`currentMoney` -500
where `customerName` ='张三';
update `bank` set `currentMoney` =`currentMoney` +500
where `customerName` ='李四';
//提交事务,写入硬盘,永久的保存
commit;
//回滚事务,数据恢复到未更新前的状态
RollBACK;
set autocommit=1;
4.视图是一种查看数据库一个或多个表中的数据的方法。
/*查询视图*/
SELECT * FROM `view_student_result`;
5.视图是一种虚拟表,通常是作为执行查询的结果而创建的。
/*创建视图*/
USE mybank;
DROP VIEW IF EXISTS `view_student_result`;
CREATE VIEW `view_student_result`
AS
SELECT `customerName` AS 姓名,`currentMoney` AS 钱
FROM `bank`;
USE information_schema;
AS
SELECT `customerName` AS 姓名,`currentMoney` AS 钱
FROM `bank`;
USE information_schema;
/*查询视图*/
SELECT * FROM `view_student_result`;
SELECT * FROM `view_student_result`;
6.视图充当着查询中指定表的筛选器。
/*查询视图*/
SELECT * FROM `view_student_result`;
7.使用CREATE VIEW 语句创建视图。
/*创建视图*/
USE mybank;
DROP VIEW IF EXISTS `view_student_result`;
DROP VIEW IF EXISTS `view_student_result`;
CREATE VIEW `view_student_result`
AS
SELECT `customerName` AS 姓名,`currentMoney` AS 钱
FROM `bank`;
USE information_schema;
AS
SELECT `customerName` AS 姓名,`currentMoney` AS 钱
FROM `bank`;
USE information_schema;
8.使用SELECT 语句查看视图的查询结果。
/*查询视图*/
SELECT * FROM `view_student_result`;
9.建立索引有助于快速检索数据,索引分为普通索引,唯一索引,主键索引,复合索引,全文索引,空间索引。
A.常用的数据库备份和恢复方式使用mysqldump命令备份数据库。
B.使用mysql命令恢复数据库。
C.通过复制文件实现数据备份和恢复。
C.通过复制文件实现数据备份和恢复。
10.表数据的导出和导入。
A.使用select.....into outfile语句实现表数据的导出。
/* 备份数据库*/
CREATE datbase school2;
USE school2;
/*恢复数据库 路径 不要用英文路径名
source D:\S2\Z.sql;*/
/*导出*/
USE school2;
SELECT * FROM bank;
INTO OUTFILE 'D:\S2\\Out.txt';
CREATE datbase school2;
USE school2;
/*恢复数据库 路径 不要用英文路径名
source D:\S2\Z.sql;*/
/*导出*/
USE school2;
SELECT * FROM bank;
INTO OUTFILE 'D:\S2\\Out.txt';
/* 恢复数据库 */
CREATE DATABASE school3;
USE school3;
source 'D:\S2\\Out.txt';
CREATE DATABASE school3;
USE school3;
source 'D:\S2\\Out.txt';
B.使用load data infile......into语句实现表数据的导入。
/*导入*/
/*创建表结构*/
USE mybank;
create table 表名(字段 类型 )ENGINE = INNODB DEFAULT CHARSET=utf8;
/*导入数据*/
LOAD DATA INFILE ('D:\S2\\Out.txt')指定文本文件的路径和特性 INTO TABLE 表名 (mybank)
/*查看表数据*/
select * from mybank(表名);
/*导入*/
/*创建表结构*/
USE mybank;
create table 表名(字段 类型 )ENGINE = INNODB DEFAULT CHARSET=utf8;
/*导入数据*/
LOAD DATA INFILE ('D:\S2\\Out.txt')指定文本文件的路径和特性 INTO TABLE 表名 (mybank)
/*查看表数据*/
select * from mybank(表名);
