视图、数据备份与还原
1、视图:是一种有结构,但是没结果的虚拟表
创建视图:基本语法:create view 视图名字 as select 语句;
创建单表视图:基表只有一个
创建多表视图:基表来源至少两个
查看视图:show tables [like] / desc 视图名 / show create table 视图名;
修改视图:alter view 视图名字 as 新的select语句;
删除视图:drop view 视图名字;
新增数据:多表视图不能新增数据
可以向单表视图插入数据,但是视图中包含的字段必须有基表中所有不能为空、或没有默认值的字段
视图是可以向基表插入数据的
删除数据:多表视图不能删除数据
单表视图可以删除数据
更新数据:更新限制:with check option;
视图算法:系统对视图以及外部查询视图的select语句的一种解析方式
视图算法分三种
undefined:未定义(默认的)
temptable:临时表算法
merge:合并算法
算法指定:在创建视图的时候create algorithm=指定算法 view 视图名字 as select语句;
p:繁笙小心得
多表视图不能删改
视图主要用于查找数据,增加安全性
2、数据备份与还原:
方式:
数据表备份
单表数据备份
SQL备份
增量备份
数据表备份
存储引擎:innodb、myisam
innodb:只有表结构,数据全部存储到 ibdata1 文件中
myisam:表、数据和索引全部单独分开存储
单表数据备份
备份:select */字段列表 into outfile 文件所在路径 from 数据源;
高级备份:select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理 from 数据源;
fields:字段处理,enclosed by(默认'')、terminated by(默认'\t')、escaped by(默认'\\')
lines:行处理,starting by(默认'')、terminated by(默认'\r\n')
单表数据备份
数据还原:
load data infile 文件所在路径
into table 表名[(字段列表)]
fields 字段处理
lines 行处理;
SQL备份
备份:mysqldump.exe:mysqldump/mysqldump.exe -hPup 数据库名字 [数据表名字1 [数据表名字2...]] > 外部文件路径
整库备份:mysqldump/mysqldump.exe -hPup 数据库名字 > 外部文件路径
SQL还原数据
方案一:使用mysql.exe客户端还原:mysql.exe/mysql -hPup 数据库名字 < 备份文件目录
方案二:使用SQL指令还原:source 备份文件所在路径
增量备份:备份的是系统日志文件