MYSQL 学习笔记

一 数据库备份恢复(导出/导入)

备份命令

命令 解释
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;

持续更新.....

相关推荐
xmtxz17 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
YM52e19 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
设计师小聂!19 小时前
宝塔 Linux 面板保姆级教程
linux·mysql·开源·运维开发
aXin_ya19 小时前
Ai Vibecoding学习(各个AI的讲解)
学习
乘~风20 小时前
408考研-计组-1.2计算机系统层次结构笔记+1.3计算机性能指标
笔记·考研·408
fanged20 小时前
Linux内核学习16--I2C子系统(TODO)
学习
.千余20 小时前
【C++】C++继承入门(下):友元、静态成员与菱形继承的底层逻辑
开发语言·c++·笔记·学习·其他
Tong Z20 小时前
Mysql DDL中的ALGORITHM
数据库·mysql
YJlio20 小时前
《Sysinternals实战指南》16.5 Ctrl2Cap 工具详解:把 Caps Lock 变成 Ctrl 的键盘改造与回退方法
linux·运维·服务器·网络·python·学习·计算机外设
菜鸟‍21 小时前
【论文学习】Segment Anything 分割一切
深度学习·学习·计算机视觉