数据库的备份和还原以及多表查询的概述
数据库的备份和还原
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、子查询

浙公网安备 33010602011771号