一 数据库备份恢复(导出/导入)
备份命令
命令 | 解释 |
---|---|
mysqldump -u <username> -p <database-name> > <backup-file>.sql |
备份指定数据库为 SQL 文件。<br>使用 -u 指定用户名,-p 提示输入密码。 |
mysqldump -u <username> -p --all-databases > <backup-file>.sql |
备份所有数据库。 |
mysqldump -u <username> -p --databases <database1> <database2> > <backup-file>.sql |
备份多个指定的数据库。 |
mysqldump -u <username> -p --single-transaction --quick <database-name> > <backup-file>.sql |
使用单一事务和快速模式进行备份,适用于大型数据库。<br>保证备份时不锁定表。 |
恢复命令
命令 | 解释 |
---|---|
mysql -u <username> -p <database-name] < <backup-file>.sql |
恢复 SQL 备份文件到指定的数据库。<br>使用 -u 指定用户名,-p 提示输入密码。 |
mysql -u <username> -p < <backup-file>.sql |
恢复到默认数据库,适用于备份整个数据库。 |
mysql -u <username> -p --database=<database-name> < <backup-file>.sql |
恢复备份文件到指定的数据库。 |
导出数据到 CSV 文件
将表格数据导出到 CSV 文件:
SELECT * FROM <table-name> INTO OUTFILE '/path/to/output.csv' FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
导入 CSV 数据
将 CSV 文件数据导入到表:
LOAD DATA INFILE '/path/to/input.csv' INTO TABLE <table-name> FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
表关联
用于查询多个表中的数据,关联的表中必须有相同的字段。
inner join :仅仅返回2个表中都有的数据。
left join :返回左表中的所有数据+ 右表中匹配的数据 ,右表中没有匹配的数据,用null填充。
right join:返回右表中的所有数据+ 左表中匹配的数据 ,左表中没有匹配的数据,用null填充。
select * from player
inner join equip
on
pleary.id = equip.pleary_id;
索引index
用来提高查询速率的数据结构,帮助用户快速地定位到想要查询的数据。
可以在建表时创建索引,也可以修改表结构的时候创建索引。
select * from pleary;
# 创建索引的语法:
# unique 唯一索引
# fulltext 全文索引
# spatial 空间索引
# (index_col_name, ...) 对那些字段创建索引
create [unique|fulltext|spatial] index index_name
on tbl_name (index_col_name, ...)
#eg:
creat index email_index on fast (email) 为fast表的email列创建索引
show index from fast 查看索引
drop index email_index on fast/表名 删除索引
#修改表结构时创建索引:
alter table fast index email_index (email/name字段)
fast的由于添加了索引,查询特别快。
创建视图
使用creat view命令创建视图。
create view top10
AS
select * from player order by level desc limit 10;
select * from top10;
持续更新.....