MySQL的数据备份以及pymysql的使用
一、MySQL的数据备份
- 语法:
- # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql
- #示例:
- #单库备份
- mysqldump -uroot -p123 db1 > db1.sql
- mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql
- #多库备份
- mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
- #备份所有库
- mysqldump -uroot -p123 --all-databases > all.sql
MYsql的数据备份
备份与恢复操作:
如:
mysqldump - uroot day43 > E:\\day43.sql
drop database day43; 删除原先的文件夹
show databases; 查看全部的文件夹
create database day43; 创建一个文件夹
use day43; 切换到day43这个文件夹下
source E:\\day43.sql; 恢复数据
mysqldump - uroot day51 > D:\\day51.sql
1、登录MySQL恢复:
drop database day51;
create database day51;
source D:\\day51.sql;
2、不登录MySQL直接在外面恢复;
mysql -uroot day51 < D:\\day51.sql
(2)、恢复到指定的库中:
create database bak; 新建一个文件夹
use dak; 切换到dak这个文件夹下
mysql -uroot bak < D:\\day51.sql; 恢复数据
只备份一个表
mysqldump - uroot day51 deparment > D:\\day51-deparment.sql
MySQL 进数据库
create database bakl; 新建一个库
quit 退出
在mysql外面恢复
mysql -uroot bakl < D:\\day51-deparment.sql
nysql 进数据库
use bakl 切换到dakl这个文件夹下
直接在数据库外面查看
mysql -uroot -e "use bakl"
mysql -uroot -e "use bakl;show tables;"
备份多个库
mysqldump -uroot -e "show databases;" 查看全部的库
备份
mysqldump -uroot --databases db1 db2 db3 > E:\\db1-db2-db3.sql
MySQL 进数据库
删除原来的文件夹
quit 退出
在外面查看
mysql -uroot < E:\\db1-db2-db3.sql 恢复数据库
mysqldump -uroot -e "show databases;"
备份所有库
mysqldump -uroot --all-databases > E:\\all.sql
二、表的导出和导入
表的导出和导入
(show variables like '%secur%';查看选项)
导出
use day51; 切换到day51下面
show tables; 查看表
select * from userinfo; 查看表下的文件夹
select * from userinfo into outfile 'E:\\userinfo.txt' fields terminated by ','lines terminated by '\n'; 导出
导入
create table user(
id int primary key auto_increment,
name char(32),
age int,
deparment_id int); 建表
load data infile 'E:\\userinfo.txt'
into table user fields terminated by ','lines terminated by '\n'; 导入
三、 pymysql模块
- #安装
- pip3 install pymysql
(1) 链接、执行sql、关闭(游标)
- 1 基本使用
- # import pymysql
- # #mysql -h localhost -uroot -p123
- # conn=pymysql.connect(host='localhost',user='root',password='',database='day47')
- # cursor=conn.cursor() #拿到游标,即mysql >
- #
- # sql='select * from user where id>1;'
- # rows=cursor.execute(sql) #拿到受影响的行数
- # print('%s rows in set (0.00 sec)' %rows)
- #
- # cursor.close()
- # conn.close()
- 1.小练习
import pymysql- user=input('用户名>>: ').strip()
- pwd=input('密码>>: ').strip()
- #链接,拿到游标
- conn=pymysql.connect(host='localhost',user='root',password='',database='day47')
- cursor=conn.cursor() #拿到游标,即mysql >
- #执行sql
- sql='select * from user where user="%s" and password="%s";' %(user,pwd)
- print(sql)
- rows=cursor.execute(sql) #拿到受影响的行数
- # print('%s rows in set (0.00 sec)' %rows)
- cursor.close()
- conn.close()
- if rows:
- print('登录成功')
- else:
- print('登录失败')
- #3:sql注入
- import pymysql
- user=input('用户名>>: ').strip()
- pwd=input('密码>>: ').strip()
- conn=pymysql.connect(host='localhost',user='root',password='',database='day47')
- cursor=conn.cursor()
- sql='select * from user where user="%s" and password="%s";' %(user,pwd)
- print(sql)
- rows=cursor.execute(sql)
- cursor.close()
- conn.close()
- if rows:
- print('登录成功')
- else:
- print('登录失败')
- 3:解决sql注入
- import pymysql
- user=input('用户名>>: ').strip()
- pwd=input('密码>>: ').strip()
- conn=pymysql.connect(host='localhost',user='root',password='',database='day47')
- cursor=conn.cursor()
- sql='select * from user where user=%s and password=%s;'
- rows=cursor.execute(sql,[user,pwd])
- print(rows)
- cursor.close()
- conn.close()
- if rows:
- print('登录成功')
- else:
- print('登录失败')
- 4 增删改
- import pymysql
- conn=pymysql.connect(host='localhost',user='root',password='',database='day47',charset='utf8')
- cursor=conn.cursor()
- sql='insert into user(user,password) values(%s,%s);'
- rows=cursor.execute(sql,('alex',''))
- rows=cursor.executemany(sql,[('yuanhao',''),('laowu',''),('kgf','')])
- print('%s row in set (0.00 sec)' %rows)
- conn.commit()
- cursor.close()
- conn.close()
- 5 查:fetchone,fetchmany,fetchall
- import pymysql
- conn=pymysql.connect(host='localhost',user='root',password='',database='day47',charset='utf8')
- cursor=conn.cursor()
- sql='select * from user;'
- rows=cursor.execute(sql)
- 查单条
- res1=cursor.fetchone()
- res2=cursor.fetchone()
- res3=cursor.fetchone()
- print(res1[0])
- print(res2)
- print(res3)
- 查多条
- print(cursor.fetchmany(3))
- print(cursor.fetchone())
- 查所有
- print(cursor.fetchall())
- print(cursor.fetchone())
- 光标的移动
- print(cursor.fetchall())
- cursor.scroll(1,mode='absolute')
- print(cursor.fetchone())
- cursor.scroll(3,mode='absolute')
- print(cursor.fetchone())
- print(cursor.fetchone())
- print(cursor.fetchone())
- cursor.scroll(-2,mode='relative')
- print(cursor.fetchone())
- print('%s row in set (0.00 sec)' %rows)
- cursor.close()
- conn.close()
四、获取插入的最后一条数据的自增ID

- import pymysql
- conn=pymysql.connect(host='localhost',user='root',password='123',database='egon')
- cursor=conn.cursor()
- sql='insert into userinfo(name,password) values("xxx","123");'
- rows=cursor.execute(sql)
- conn.commit()
- print(cursor.lastrowid) #在commit之前和之后都可以查看
- cursor.close()
- conn.close()
MySQL的数据备份以及pymysql的使用的更多相关文章
- MySQL之数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...
- Python数据库MySQL之数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...
- SQL学习笔记六之MySQL数据备份和pymysql模块
mysql六:数据备份.pymysql模块 阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测 ...
- MySQL 数据备份,Pymysql模块(Day47)
阅读目录 一.IDE工具介绍 二.MySQL数据备份 三.Pymysql模块 一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...
- mysql七:数据备份、pymysql模块
阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...
- mysql六:数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表 ...
- mysql 数据备份。pymysql模块
阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...
- 数据备份、pymysql模块
阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...
- Mysql(六):数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...
随机推荐
- python close()是假象,真正关闭Socket的方法
背景: 工作中自己用python写了一个tcp工具,然后用while循环一直接收消息,并且打印出来.然后正常close发现设备并没有离线,然后用了临时的规避方案,发现其实是一直阻塞在recv()接收方 ...
- BOOT BIOS UEFI
1. 什么是BOOT? BOOT其实是你按开机键之后,在电脑微软操作系统运行之前就自动运行的一段小程序.表象上就是windows引导画面之前那些黑屏蓝屏的英文那个阶段就是BOOT了.通过这段小程序,它 ...
- return 的返回值与结束功能
前言:大家好~我是阿飞~在js中return是很重要的基础.一定要彻底掌握理解它哦.否则js学习到中后期很容易懵逼的+_+ 什么是return? 1.在js中return是一个表达式语句,如果后面什么 ...
- java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试
本内容摘自 java web轻量级开发面试教程 https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80% ...
- linux系统安装配置exim4(源码安装)
一.Exim4概述 Exim是一个MTA(Mail Transfer Agent,邮件传输代理)服务器软件,该软件基于GPL协议开发,是一款开源软件.该软件主要运行于类UNIX系统.通常该软件会与Do ...
- 用xml画水平虚线和竖直虚线.md
1.画水平虚线 直接建一个shape,设置stroke属性就行了,再将这个属性直接作为background的drawable属性引入就行了 注意在4.0以上的真机加一句 <?xml versio ...
- 常用Linux操作指令
-------------------------------Linux目录------------------------------- /:根目录,一般根目录下只存放目录,在Linux下有且只有一 ...
- C# 异步编程2 EAP 异步程序开发
在前面一篇博文记录了C# APM异步编程的知识,今天再来分享一下EAP(基于事件的异步编程模式)异步编程的知识.后面会继续奉上TPL任务并行库的知识,喜欢的朋友请持续关注哦. EAP异步编程算是C#对 ...
- 解决MVC模式文件下载附件中文名称乱码
解决如下: 进行url编码:Server.UrlPathEncode(file.AttachmentName) return File(file.TempWorkPath, CommonTools.G ...
- mha 复制检查报错“There is no alive server. We can't do failover”
安装mha所参考的文章: http://linzhijian.blog.51cto.com/1047212/1906434 http://www.cnblogs.com/xiaoboluo768/p/ ...