《学习》14数据库备份修复
CREATE DATABASE db
USE db;
CREATE TABLE stu
(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
sname VARCHAR(20),
sage TINYINT UNSIGNED,
KEY(sname),
PRIMARY KEY(id)
)ENGINE=MYISAM DEFAULT CHARSET=utf8;
INSERT INTO stu VALUES(NULL,'张三',20),(NULL,'李四',30);
SELECT * FROM stu;
TRUNCATE TABLE stu;
DELETE FROM stu;
-- 导出db数据库 大于号
mysqldump -uroot db>d:/db.sql
-- 导入db数据库 小于号 可以导出到任何数据库而且重新建个同名表
mysql -uroot -q db<d:/db.sql
-- 在cmd命令窗口进行 恢复数据之前一定要选择数据库
-- 只导出表的数据
mysqldump -t -q -uroot db>d:/db.sql
-- 导出表的结构
mysqldump -d -q uroot db>d:/db.sql
-- 导出表stu的数据 也可以同时导出多个表
mysqldump -t -q uroot db stu xx xx>d:/db.sql
-- 恢复数据
source d:/db.sql;
DROP DATABASE db;
-- 按格式把数据写入表格
LOAD DATA INFILE 'd:/aa.txt' INTO TABLE stu FIELDS TERMINATED BY '\,' LINES TERMINATED BY '\r\n';
ALTER DATABASE db CHARSET utf8;
-- 将查询的结果导出到dd.txt文件,一个记录占一行 换行符\r\n 字段之间用','隔开(\,)
SELECT sname,sage INTO OUTFILE 'd:/dd.txt' FIELDS TERMINATED BY '\,' LINES TERMINATED BY '\r\n' FROM stu WHERE sage<18;
-- 将查询的结果导出到dd.xls文件(乱码)
SELECT sname,sage INTO OUTFILE 'd:/dd.xls' FIELDS TERMINATED BY '\,' LINES TERMINATED BY '\r\n' FROM stu;
-------------------------------------
优化表与修复表
-- 修复表
REPAIR TABLE stu,text.tb3;
-- 优化表
OPTIMIZE TABLE stu;