1.事务的四个属性,简称ACID属性
原子性:事务是一个完整的操作,事务的各部操作是不可分的(原子性的),要么都执行,要么都不执行
一致性:当事务完成时,数据必须处于一致状态
隔离性:并发事务之间彼此隔离、独立,它不应该以任何方式依赖于或影响其他事务
持久性:事务完成之后,它对数据库的修改被永久保持
2.如何创建事务
开始事务
BING;
或
start transaction;
提交事务
commit;
回滚(撤销)事务
rollback;
从张三的账户转出500元,存入李四的账户中
BEGIN;
Update bank set currentmoney=currentmoney-500 where customername='张三';
Update bank set currentmoney=currentmoney+500 where customername='李四';
commit;
3.自动关闭和开启事务
关闭/开启自动提交状态
set autocommit=0/1;
值为0:关闭自动提交;
值为1:开启自动提交;
4. 视图的用途
筛选表中的行
防止未经许可的用户访问敏感数据
降低数据库的复杂程度
将多个物理数据库抽象为一个逻辑数据库
5.如何创建视图
创建视图
create view view_name AS
6.视图注意事项
视图中可以使用多个表
一个视图可以嵌套另一个视图
对视图数据进行添加、更新和删除操作直接影响所引用表中的数据
当视图数据来自多个表时,不允许添加和删除数据
查看所有视图
use information_schema;
select * from view\G;
使用视图修改数据会有许多限制,一般在实际开发中视图仅用作查询
、.索引
索引是一种有效组合数据的方式,为快速查找指定记录
作用:大大提高数据库的检索速度 改善数据库性能
如何创建索引/删除索引
创建索引
create index index_name on table_name(column_name[length]);
删除索引
drop index index_name on table_name;
删除表时,该表的索引同时会被删除
在student表的studentname列创建普通索引
use myschool;
create index index_student_student_name on student(studentname);
查看索引
show index from table_name;
Table:创建索引的表
Non_unique:索引是否非唯一
Key_name:索引的名称
Column_name:定义索引的列字段
Seq_in_index:该列在索引中的位置
Null:该列是否能为空值
Index_type:索引类型
8.数据库的备份
mysqldump命令——一个常用备份工具
mysqldump -uroot -p >filename.sql
恢复数据库
方法一:使用MySQL命令恢复数据库
mysql -u usename(用户名) -p[dbname](数据库名)
使用备份文件将myschool数据库中student表信息恢复到schoolDB数据库中
mysql -u root -p schoolIDB
方法二:使用source命令恢复数据库
source filename;
注意:登陆MySQL服务器后使用
执行该命令前,先创建并选择恢复后的目标数据库
例:
create database myschoolIDB2; #创建数据库
USE myschoolIDB2 #选择数据库
source d:\.... #恢复数据库
9.表数据导出到文本文件
select * from tablename[where contion] into outfile filename [option]
例:select * from result where subjectno=(select subjectno from subject where subjectname='Logic java')
into outfile d:/.....;
LOAD data infile filename into table tablename[option] #文本文件导入数据表
LODA DATA infile d:/..... INTO TABLE result; #将数据从文本文件导入到myschoolIDB的result表