#####-------------mysql数据备份以及表间数据的复制-------------------#####

##----------------我的mysql学习(二)--------------------------###

##mysql数据的导入和导出--这里承接上一部分

#导出全部数据库该操作在mysql命令行外进行:

导出数据格式如下:

mysqldump -hlocalhost -uroot -p databasename tablename > filename.sql

#由于数据库在本机上所有可以省略-hlocalhost

#预输入sql命令:

mysqldump -uroot -p --default-character-set=gbk mydb > E:\mydb.sql

#弹出输入密码提示,输入密码即可导出数据库。.sql文件中不包含创建数据库的语句

#有的仅仅是对表的操作。

C:\Users\trsli>mysqldump -uroot -p --default-character-set=gbk mydb > E:\myd

b.sql

Enter password: ****

#导出成功数据库,我们将数据库重新导入MySQL中,实现方法如下所示:

首先需要重新建立一个数据库,或者用已经存在的数据库,这里新建一数据库:

#create database mydb1 default character set gbk;

然后进行如下操作导入数据库:

C:\Users\trsli>mysql -uroot -p mydb1 < E:\mydb.sql

Enter password: ****

或者在mydb1下直接用如下命令:

source E:\mydb.sql

#两种方式效果一样,现在检查mydb1中是否存在该表已经表中是否有数据。

mysql> use mydb1;

Database changed

mysql> show tables;

+-----------------+

| Tables_in_mydb1 |

+-----------------+

| mytable         |

+-----------------+

1 row in set (0.00 sec)

mysql> select * from mytables;

+----+--------+-------+

| id | name   | count |

+----+--------+-------+

|  1 | 张三       |  1000 |

|  2 | 李四       |   500 |

|  3 | 王老虎      |   100 |

|  4 | 赵大      |  1000 |

|  5 | 王二小      |   500 |

|  6 | 三亚子       |   100 |

+----+--------+-------+

6 rows in set (0.00 sec)

#该数据与数据库mydb数据库中显示一致。

#在数据库众多的表中,如果我们只需要导出某一张表格,那么我们可以进行如下操作:

mysqldump -uroot -p mydb1 mytable > E:\mydb1.sql

C:\Users\trsli>mysqldump -uroot -p mydb1 mytable > E:\mydb1.sql

Enter password: ****

#在导出数据过程中有一些参数如:-d --add-drop-table,这里看一下有什么效果:

#这里只添加-d:

C:\Users\trsli>mysqldump -uroot -p -d mydb1 mytable > E:\mydb2.sql

Enter password: ****

#在导出的文件中会少了插入数据的sql语句,只有创建表的sql语句存在。

################------>.sql文件中德语句

LOCK TABLES `mytable` WRITE;

/*!40000 ALTER TABLE `mytable` DISABLE KEYS */;

INSERT INTO `mytable` VALUES (1,'张三',1000),(2,'李四',500),(3,'王老虎',100)

,(4,'赵大',1000),(5,'王二小',500),(6,'三亚子',100);

/*!40000 ALTER TABLE `mytable` ENABLE KEYS */;

UNLOCK TABLES;

################----->该区域sql语句将不会显示

#下面添加--add-drop -table语句:

C:\Users\trsli>mysqldump -uroot -p --add-drop-table mydb1 mytable > E:\mydb3

.sql

Enter password: ****

#该结果与未添加差不多,也许个人观察不够仔细。

#最后同时添加:-d --add-drop-table查看效果

C:\Users\liyuanjie>mysqldump -uroot -p -d --add-drop-table mydb mytable > E:\myd

b3.sql

Enter password: ****

#该效果与只添加-d一致

####-----------------以上方式可用于数据库备份----------------####

####-----------------以下是批量添加表数据的操作--------------####

#这些在网上都有现成的范例,但是我觉得只有自己亲手做过才能算是真的明白所以有了以下的操作

#这里要做的就是关于表中数据的复制,上面我们介绍过通过.txt文本添加数据,这里介绍表格间复制数据:

#现在创建一个新的表:mytab

mysql> create table mytab(

-> id int primary key auto_increment,

-> name varchar(20) not null,

-> age int not null,

-> salary int not null

-> )type=InnoDB;

Query OK, 0 rows affected, 1 warning (0.07 sec)

#给该表添加4个字段

#这里用前面介绍的文件导入数据方式向空表mytab中添加数据

#load data local infile 'E:\mydb.txt' into table mytab(name,salary,age);

mysql> load data local infile 'E:\mydb.txt' into table mytab(name,salary,age);

Query OK, 3 rows affected (0.06 sec)

Records: 3  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from mytab;

+----+--------+-----+--------+

| id | name   | age | salary |

+----+--------+-----+--------+

|  1 | ?阿琼      |  23 |   1000 |

|  2 | 秋水虾     |  24 |    500 |

|  3 | 害人精      |  22 |    100 |

+----+--------+-----+--------+

3 rows in set (0.01 sec)

#如何将mytab中的数据复制到mytable中,就是我们下面需要做的。mytable中数据如最上边所示:

#insert into mytable (name,count) select name,salary from mytab ;

mysql> select * from mytable;

+----+--------+-------+

| id | name   | count |

+----+--------+-------+

|  1 | 张三       |  1000 |

|  2 | 李四       |   500 |

|  3 | 王老虎      |   100 |

|  4 | 赵大      |  1000 |

|  5 | 王二小      |   500 |

|  6 | 三亚子       |   100 |

|  7 | ?阿琼      |  1000 |

|  8 | 秋水虾     |   500 |

|  9 | 害人精      |   100 |

+----+--------+-------+

9 rows in set (0.00 sec)

#可以看到数据以及增加了三行,即将全表导入

#进行不重复插入数据操作:

这里先删除最后一条数据:

#delete from mytable where id=9;

mysql> delete from mytable where id=9;

Query OK, 1 row affected (0.10 sec)

#按照预期应该只会插入一条语句,看一下是不是如此呢,下面我们先写一个sql的草稿:

#insert into mytable(name,count) select name,salary from mytab where not exists (select * from mytable where name=mytab.name);

#上面的语句就是将重名的剔除,添加非重名数据

mysql> insert into mytable(name,count) select name,salary from mytab where not e

xists (select * from mytable where name=mytab.name);

Query OK, 1 row affected (0.06 sec) #影响一行数据

Records: 1  Duplicates: 0  Warnings: 0

#小注:在这里我用了较长时间才写好该sql语句,没办法,略显不专业哈。

#####----------------关于向表格中添加数据的操作暂时结束-----####

#以后还会将一些关于mysql配置文件my.conf相关的东西,由于对于数据库整体把我不是太好,切勿见怪。

mysql备份数据库某表格_mysql数据库的备份以及表格数据之间的复制相关推荐

  1. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  2. mysql数据库表复制备份_mysql数据库的备份以及表格数据之间的复制

    #####-------------mysql数据备份以及表间数据的复制-------------------##### ##----------------我的mysql学习(二)--------- ...

  3. mysql数据库咋还原_mysql数据库备份和还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  4. mysql备份恢复文档_mysql数据库备份、恢复文档

    说明: 为了加强线上数据库安全,避免研发人员误操作造成数据的丢失,制作本文档.一线运维人员可以参考! 一.数据备份: 专用数据库备份服务器,定时对数据库进行热备.冷备,即主从设置.mysqldump冷 ...

  5. mysql备份要注意哪些_MySQL数据库备份过程的注意事项

    今天看了看数据备份相关的东西,总结了几个MySQL数据备份的注意事项,简单分享一下吧. 对于MySQL备份,每个DBA的理解可能都不一样,备份可以分为下面几个维度: 文件种类划分: 1.物理备份,以x ...

  6. mysql数据库试题下载_MYSQL数据库2013-2014学年考试试卷

    石河子大学MYSQL数据库2013-2014学年考试试卷 8.创建表时,不允许某列为空可以使用: ( A ) A.NOT NULL B.NO NULL C.NOT BLANK D.NO BLANK 9 ...

  7. MySQL数据库的总结_MySQL数据库应用总结(三)—MySQL数据库的基本操作

    SQL语法预览: 查看所有数据库:[show databases; ] 创建数据库:[create database 数据库名;] 查看所创建的数据库:[show create database 数据 ...

  8. mysql导出入数据库报错_mysql数据库导出导入数据库的搜索结果-阿里云开发者社区...

    mysql 数据库导入\导出(总结备忘) 数据库的基本导入\导出的命令 是 mysqldump 和 source 在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是 ...

  9. mysql配置读写分离无效_MySQL数据库的同步配置+MySql 读写分离

    MySQL数据库的同步. MySQL是开源的关系型数据库系统.主从同步复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的 ...

最新文章

  1. java中json重复数据结构_JS实现去除数组中重复json的方法示例
  2. laravel中Crypt加密方法
  3. Linux拥有良好的界面
  4. Mila唐建专访:Bengio领路,缘起生物梦,AI如何变革生物制药?
  5. 第六章 Web开发实战1——HTTP服务
  6. 中标麒麟linux系统忘记root密码,中标麒麟(龙芯CPU)--忘记root密码怎么修改?
  7. 《SAS编程与数据挖掘商业案例》学习笔记之六
  8. 数据结构顺序表基本流程
  9. JAVA入门级教学之(异常的处理try...catch)
  10. php异步处理任务工具,php异步任务处理: gearman
  11. 实地集团和广州移动发布首个独立组网5G全场景智能社区
  12. Java 序列化Serializable详解
  13. html4音频插件,js音频插件audio.js
  14. 网络安全等级保护-信息安全管理制度汇编参考
  15. C语言二叉树非递归遍历详解,C语言实现二叉树的递归遍历和非递归遍历
  16. 计算机等级考试四级网络工程师真题,计算机四级网络工程师试题及答案
  17. 锋麦4S笔记本英伟达独显驱动安装
  18. 【Hinton大神新作】Dynamic Routing Between Capsules阅读笔记
  19. 数据分析报告中如何选择合适的统计图表
  20. 文件下载及解决中文名乱码问题

热门文章

  1. Faas无服务器架构杂谈
  2. c语言打印菱形星号七行_打印菱形图案
  3. 室内设计优美语句_关于软装设计的优美句子
  4. springboot监听器
  5. Failed to register bundle identifier. The app identifier “xxx” cannot be registered to your developm
  6. 磁盘调度算法笔记和练习题
  7. 【工具】iOS代码混淆工具-iOS源码混淆
  8. Win11 22H2使用TranslucentTB让任务栏透明
  9. AUTOSAR SHE 密钥更新协议
  10. 浙江大学计算机学霸作息,浙大学霸学子作息表:精确到分钟!最怕优秀的人比我们还努力!...