mysql怎么多表备份_学习MySQL多表操作和备份处理
【IT168 服务器学院】前面我们熟悉了数据库和数据库表的基本操作,现在我们再来看看如何操作多个表。
多表操作
在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名、文章标题、发表日期。
1、查看第一个表mytable的内容:
mysql> select * from mytable;
+----------+------+------------+-----------+
| name | sex | birth | birthaddr |
+----------+------+------------+-----------+
| abccs |f | 1977-07-07 | china |
| mary |f | 1978-12-12 | usa |
| tom |m | 1970-09-02 | usa |
+----------+------+------------+-----------+
2、创建第二个表title(包括作者、文章标题、发表日期):
mysql> create table title(writer varchar(20) not null,
-> title varchar(40) not null,
-> senddate date);
向该表中填加记录,最后表的内容如下:
bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
mysql> select * from title;
+--------+-------+------------+
| writer | title | senddate |
+--------+-------+------------+
| abccs | a1 | 2000-01-23 |
| mary | b1 | 1998-03-21 |
| abccs | a2 | 2000-12-04 |
| tom | c1 | 1992-05-16 |
| tom | c2 | 1999-12-12 |
+--------+-------+------------+
5 rows in set (0.00sec)
3、多表查询
现在我们有了两个表: mytable 和 title。利用这两个表我们可以进行组合查询:
例如我们要查询作者abccs的姓名、性别、文章:
mysql> SELECT name,sex,title FROM mytable,title
-> WHERE name=writer AND name=′abccs′;
+-------+------+-------+
| name | sex | title |
+-------+------+-------+
| abccs | f | a1 |
| abccs | f | a2 |
+-------+------+-------+
上面例子中,由于作者姓名、性别、文章记录在两个不同表内,因此必须使用组合来进行查询。必须要指定一个表中的记录如何与其它表中的记录进行匹配。
注意:如果第二个表title中的writer列也取名为name(与mytable表中的name列相同)而不是writer时,就必须用mytable.name和title.name表示,以示区别。
再举一个例子,用于查询文章a2的作者、出生地和出生日期:
mysql> select title,writer,birthaddr,birth from mytable,title
-> where mytable.name=title.writer and title=′a2′;
+-------+--------+-----------+------------+
| title | writer | birthaddr | birth |
+-------+--------+-----------+------------+
| a2 | abccs | china | 1977-07-07 |
+-------+--------+-----------+------------+
有时我们要对数据库表和数据库进行修改和删除,可以用如下方法实现:
1、增加一列:
如在前面例子中的mytable表中增加一列表示是否单身single:
mysql> alter table mytable add column single char(1);
2、修改记录
将abccs的single记录修改为“y”:
mysql> update mytable set single=′y′ where name=′abccs′; 现在来看看发生了什么:
mysql> select * from mytable;
+----------+------+------------+-----------+--------+
| name | sex | birth | birthaddr | single |
+----------+------+------------+-----------+--------+
| abccs |f | 1977-07-07 | china | y |
| mary |f | 1978-12-12 | usa | NULL |
| tom |m | 1970-09-02 | usa | NULL |
+----------+------+------------+-----------+--------+
3、增加记录
前面已经讲过如何增加一条记录,为便于查看,重复与此:
mysql> insert into mytable
-> values (′abc′,′f′,′1966-08-17′,′china′,′n′);
Query OK, 1 row affected (0.05 sec)
查看一下:
mysql> select * from mytable;
+----------+------+------------+-----------+--------+
| name | sex | birth | birthaddr | single |
+----------+------+------------+-----------+--------+
| abccs |f | 1977-07-07 | china | y |
| mary |f | 1978-12-12 | usa | NULL |
| tom |m | 1970-09-02 | usa | NULL |
| abc |f | 1966-08-17 | china | n |
+----------+------+------------+-----------+--------+
4、删除记录
用如下命令删除表中的一条记录:mysql> delete from mytable where name=′abc′;
DELETE从表中删除满足由where给出的条件的一条记录。
再显示一下结果:
mysql> select * from mytable;
+----------+------+------------+-----------+--------+
| name | sex | birth | birthaddr | single |
+----------+------+------------+-----------+--------+
| abccs |f | 1977-07-07 | china | y |
| mary |f | 1978-12-12 | usa | NULL |
| tom |m | 1970-09-02 | usa | NULL |
+----------+------+------------+-----------+--------+
5、删除表:
mysql> drop table ****(表1的名字),***表2的名字;
可以删除一个或多个表,小心使用。
6、数据库的删除:
mysql> drop database 数据库名;
小心使用。
7、数据库的备份:
退回到DOS:
mysql> quit
d:mysqlbin
使用如下命令对数据库abccs进行备份:
mysqldump --opt abccs>abccs.dbb
abccs.dbb就是你的数据库abccs的备份文件。
8、用批处理方式使用MySQL:
首先建立一个批处理文件mytest.sql,内容如下:
use abccs;
select * from mytable;
select name,sex from mytable where name=′abccs′;
在DOS下运行如下命令:d:mysqlbin mysql < mytest.sql
在屏幕上会显示执行结果。
如果想看结果,而输出结果很多,则可以用这样的命令: mysql < mytest.sql | more
我们还可以将结果输出到一个文件中: mysql < mytest.sql > mytest.out
mysql怎么多表备份_学习MySQL多表操作和备份处理相关推荐
- 学mysql是学指令吗_学习Mysql (二) 常用指令
环境搭建OK.可视化查看看得我一脸懵逼,还是命令行学习下. 常用指令: 1. 登录: mysql -h 主机名 -u 用户名 -p 注:本机localhost的话,-h部分可以省略.-p后面不写密码的 ...
- navicat怎么学mysql_Navicat for mysql简单易学,就不需要学习mysql了_学小易找答案
[填空题]/ˈ bʌkɪt/ [单选题]WHO编定国际通用药品名称是指 [单选题]处方每次剂量不应超过药典所规定的( ) [单选题]qod的意思是( ) [多选题]四色处方分别代表的是( ) [单选题 ...
- mysql binlog 备份_偷偷的删表删库,跑路之前,尝试用binlog恢复MySQL数据
一. Binlog二进制日志: MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(所有的写入,除了(读)数据查询语句select),以事件形式记录,还 ...
- mysql分库分表风险_数据库分库分表存在的问题及解决方案
读写分离分散了数据库读写操作的压力,但是没有分散存储压力,当数据库的数据量达到千万甚至上亿条的时候,单台数据库服务器的存储能力就会达到瓶颈,主要体现在以下几个方面: 数据量太大,读写性能会下降,即使有 ...
- date oracle 表中_从 MySQL 迁移数据到 Oracle 中的全过程
一.前言 这里记录一次将MySQL数据库中的表数据迁移到Oracle数据库中的全过程 ,使用工具 Navicat,版本 12.0.11 操作环境及所用工具: mysql5.7 oracle18c wi ...
- navc mysql函数备份_入门MySQL——备份与恢复
前言: 前面几篇文章为大家介绍了 MySQL 各种语句语法的用法及用户权限相关知识.本篇文章将主要讲解 MySQL 数据库数据备份与恢复相关知识,主要聚焦于逻辑备份,介绍mysqldump工具的使用以 ...
- mysql binlog 备份_做好mysql运维,必须熟练掌握备份和恢复,实战一次不行多来几次...
原文:https://www.toutiao.com/i6855460778359816715/ 平台:头条 作者:程序员不就是0和1 一. 备份恢复策略 进行备份或恢复操作时需要考虑一些因素: 1. ...
- mysql数据库后台命令备份_使用MySQL命令行备份及恢复数据库
使用MySQL命令行备份及恢复数据库 下文对使用MySQL命令行备份及恢复数据库的方法及步骤进行了详细的介绍,如果您对MySQL命令行方面感兴趣的话,不妨一看. AD: 使用MySQL命令行,可以实现 ...
- java实现mysql增量备份_企业级MySQL备份原理
企业级MYSQL备份恢复原理 1. 全量备份 全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份. 例如: 备份所有库: # mysqldump -uroot -poldboy ...
最新文章
- 一文读懂云计算、边缘计算、移动边缘计算和自动驾驶的前世今生!
- R语言使用rpart包构建决策树模型、使用prune函数进行树的剪枝、交叉验证预防过拟合、plotcp可视化复杂度、rpart.plot包可视化决策树、使用table函数计算混淆矩阵评估分类模型性能
- python代码大全p-基于python实现计算两组数据P值
- 关于JAVA项目中CLASSPATH路径详解
- SpringSecurity-1-AuthenticationSuccessHandler接口(登录成功之后的处理逻辑)
- 公司能否开除长期请病假,无法正常工作的员工?
- leetcode 动态规划 —— 53(最大子序列的和)
- 如何在本机安装mysql_机器人之如何在本机安装MySQL,并配置电脑为数据库服务器...
- 怎么修改图片尺寸?如何设置图片宽高?
- 福昕PDF阅读器 连续阅读
- 基于MATLAB Arnold 的图像置乱加密及解密
- 如何有效提升留存率促进用户活跃?
- dalao自动报表邮件2.0
- IDEA 自动导入的配置(Auto import)
- 人工智能需要学习哪些编程语言?学人工智能要学python吗?
- Mac 自动代理切换
- CSS3——制作带动画效果的小图片
- php easysms,Laravel 短信发送组件 - easy-sms
- 安卓微信跳转页面、重定向页面空白,ios系统正常、pc正常、安卓浏览器正常。
- 如何在 iOS 5 中使用 Block