CREATE DATABASE mybank;
USE mybank;
CREATE TABLE `bank`(
`customerName` CHAR(10),
`currentMoney` DECIMAL(10,2)
)
#模拟实现转账 从张三的账户转账500元到李四的账户
USE mybank;
CREATE TABLE `bank`(
`customerName` CHAR(10),
`currentMoney` DECIMAL(10,2)
)
#模拟实现转账 从张三的账户转账500元到李四的账户
INSERT INTO `bank`(`customerName`,`currentMoney`) VALUES('张三','1000'),('李四','1')
BEGIN;
#关闭自动提交
SET autocommit=0;
UPDATE `bank` SET `currentMoney`=`currentMoney`-500
WHERE `customerName`='张三';
UPDATE `bank` SET `currentMoney`=`currentMoney`+500
WHERE `customerName`='李四'
COMMIT;
BEGIN;
UPDATE `bank` SET `currentMoney`=`currentMoney`-1000
WHERE `customerName`='张三';
ROLLBACK;
SET autocommit=1;
#事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作
#多个操作作为一个整体向系统提交,要么都执行、要么都不执行
#事务是一个不可分割的工作逻辑单元
#事务必须具备以下四个属性,简称ACID 属性
#原子性(Atomicity) 事务是一个完整的操作,事务的各步操作是不可分的(原子的),要么都执行,要么都不执行
#一致性(Consistency) 当事务完成时,数据必须处于一致状态
#隔离性(Isolation) 并发事务之间彼此隔离、独立,它不应以任何方式依赖于或影响其他事务
#持久性(Durability) 事务完成后,它对数据库的修改被永久保持
BEGIN;
#关闭自动提交
SET autocommit=0;
UPDATE `bank` SET `currentMoney`=`currentMoney`-500
WHERE `customerName`='张三';
UPDATE `bank` SET `currentMoney`=`currentMoney`+500
WHERE `customerName`='李四'
COMMIT;
BEGIN;
UPDATE `bank` SET `currentMoney`=`currentMoney`-1000
WHERE `customerName`='张三';
ROLLBACK;
SET autocommit=1;
#事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作
#多个操作作为一个整体向系统提交,要么都执行、要么都不执行
#事务是一个不可分割的工作逻辑单元
#事务必须具备以下四个属性,简称ACID 属性
#原子性(Atomicity) 事务是一个完整的操作,事务的各步操作是不可分的(原子的),要么都执行,要么都不执行
#一致性(Consistency) 当事务完成时,数据必须处于一致状态
#隔离性(Isolation) 并发事务之间彼此隔离、独立,它不应以任何方式依赖于或影响其他事务
#持久性(Durability) 事务完成后,它对数据库的修改被永久保持
BEGIN;
CREATE TABLE
SELECT * FROM `result`AS r,`grade`AS g,`student1`AS s
WHERE s.`studentNo`=r.`studentNo` AND s.`gradeID`=g.`gradeID` AND `studentName`='zy'
COMMIT;
CREATE TABLE
SELECT * FROM `result`AS r,`grade`AS g,`student1`AS s
WHERE s.`studentNo`=r.`studentNo` AND s.`gradeID`=g.`gradeID` AND `studentName`='zy'
COMMIT;
USE python7;
SELECT * FROM student1
WHERE gradeID=1 AND sex='男'
SELECT * FROM student1
WHERE gradeID=1 AND sex='男'
#视图
CREATE VIEW view_avg
AS
SELECT studentName,sub.subjectName,AVG(studentResult)
FROM student1 AS s
INNER JOIN result AS r ON s.studentNo=r.studentNo
INNER JOIN `new_subject` AS sub ON sub.subjectNo=r.subjectNo
GROUP BY studentName,subjectName
CREATE VIEW view_avg
AS
SELECT studentName,sub.subjectName,AVG(studentResult)
FROM student1 AS s
INNER JOIN result AS r ON s.studentNo=r.studentNo
INNER JOIN `new_subject` AS sub ON sub.subjectNo=r.subjectNo
GROUP BY studentName,subjectName
SELECT * FROM view_avg
#创建索引
CREATE UNIQUE INDEX ix_name_unique
ON student1(studentName)
#创建学生表和成绩表索引
SELECT INDEX ix_student_result
ON result(studentNo),student1(gradeID)
SELECT INDEX ix_student_result
ON result(studentNo),student1(gradeID)
SELECT UNIQUE INDEX ix_student
ON student1(identityCard)
#备份和恢复
USE python7
SELECT * FROM student1
#导出
INTO OUTFILE '\student.txt'
#导入
LOAD DATA INFILE '\student.txt' INTO TABLE student1
ON student1(identityCard)
#备份和恢复
USE python7
SELECT * FROM student1
#导出
INTO OUTFILE '\student.txt'
#导入
LOAD DATA INFILE '\student.txt' INTO TABLE student1