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;

持续更新.....

相关推荐
rannn_1113 分钟前
【Javaweb学习|黑马笔记|Day5】Web后端基础|java操作数据库
数据库·后端·学习·javaweb
AA陈超5 分钟前
ASC学习笔记0022:在不打算修改属性集时访问生成的属性集
c++·笔记·学习·ue5·虚幻引擎·unreal engine
HalvmånEver10 分钟前
Linux:基础开发工具(四)
linux·运维·服务器·开发语言·学习·makefile
q***787822 分钟前
Spring学习——新建module模块
java·学习·spring
01100001乄夵43 分钟前
第六课:仿真进阶与调试技巧
经验分享·笔记·学习方法
装不满的克莱因瓶1 小时前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解
java·数据库·mysql·架构·优化·索引·explain
kanimito1 小时前
大语言模型入门指南:从科普到实战的技术笔记(2)
人工智能·笔记·语言模型
Bin二叉1 小时前
南京大学cpp复习——面向对象第一部分(构造函数,拷贝构造函数,析构函数,移动构造函数,友元)
c++·笔记·学习
爱奥尼欧1 小时前
【QT笔记】常用控件——QWidget 核⼼属性
数据库·笔记·qt
摇滚侠1 小时前
Vue 项目实战《尚医通》,获取挂号医生的信息展示,笔记43
前端·javascript·vue.js·笔记·html5