数据库的备份和还原以及多表查询的概述

数据库的备份和还原

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、子查询

 

posted @   xjw12345  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示