数据库的备份和还原以及多表查询的概述
数据库的备份和还原
1、命令行
语法:
备份:mysqldump -u用户名 -p密码 数据库名称 >保存的路径
还原:
1.登录数据库
2.创建数据库
3.使用数据库
4.执行文件:source 文件路径
C:\Users\snwan>mysqldump -uroot -proot db1 >d://a.sql C:\Users\snwan>mysql -uroot -proot Welcome to the MySQL monitor. Commands end with ; or \g. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db1 | | db2 | | mysql | | performance_schema | | test | +--------------------+ 6 rows in set (0.00 sec) mysql> drop database db1; Query OK, 8 rows affected (0.09 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db2 | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) mysql> create database db1; Query OK, 1 row affected (0.00 sec) mysql> use db1; Database changed mysql> source d://a.sql; Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) mysql> show tables; +---------------+ | Tables_in_db1 | +---------------+ | department | | employee | | stu | | student | | tab_category | | tab_favorite | | tab_route | | tab_user | +---------------+ 8 rows in set (0.00 sec)
2、图形化工具
选择要保存的位置
再重新新建一个数据库,在要还原的数据库哪里点击
选择刚才保存的文件位置,点击开始
等待运行完成后,刚刚保存的数据就已经还原
多表查询的概述
查询的语法:
select
列名列表
from
表名列表
where…
# 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept(NAME) VALUES ('开发部'),('市场部'),('财务部'); # 创建员工表 CREATE TABLE emp1( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), gender CHAR(1), -- 性别 salary DOUBLE, -- 工资 join_date DATE, -- 入职时间 dept_id INT, FOREIGN KEY (dept_id) REFERENCES dept(id) -- 外键,关联部门表(部门表的主键) ); INSERT INTO emp1 (NAME,gender,salary,join_date,dept_id) VALUES('孙悟空','男',7200,'2013-02-24',1); INSERT INTO emp1 (NAME,gender,salary,join_date,dept_id) VALUES('猪八戒','男',3600,'2010-12-02',2); INSERT INTO emp1 (NAME,gender,salary,join_date,dept_id) VALUES('唐僧','男',9000,'2008-08-08',2); INSERT INTO emp1 (NAME,gender,salary,join_date,dept_id) VALUES('白骨精','女',5000,'2015-10-07',3); INSERT INTO emp1 (NAME,gender,salary,join_date,dept_id) VALUES('蜘蛛精','女',4500,'2011-03-14',1);
笛卡尔积
有两个集合A,B.取这两个集合的所有组成情况
要完成多表查询,需要消除无用的数据
SELECT * FROM emp1,dept;
多表查询的分类
1、内连接查询
2、外连接查询
3、子查询
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix