一、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的使用的更多相关文章

  1. MySQL之数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

  2. Python数据库MySQL之数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

  3. SQL学习笔记六之MySQL数据备份和pymysql模块

    mysql六:数据备份.pymysql模块   阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测 ...

  4. MySQL 数据备份,Pymysql模块(Day47)

    阅读目录 一.IDE工具介绍 二.MySQL数据备份 三.Pymysql模块 一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...

  5. mysql七:数据备份、pymysql模块

    阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...

  6. mysql六:数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表 ...

  7. mysql 数据备份。pymysql模块

    阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...

  8. 数据备份、pymysql模块

    阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...

  9. Mysql(六):数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

随机推荐

  1. Go语言的切片

    Go 语言切片(Slice) Go 语言切片是对数组的抽象. Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组" ...

  2. 2、粘包现象(struct模块)

    昨天我们所做的套接字是有漏洞的,它会出现粘包现象,没有发现这个问题的我们今天会进行演示.今天也会稍微讲解一下基于udp的套接字. 一.基于udp的套接字 udp是无链接的,先启动哪一端都不会报错 ud ...

  3. windows重装后,不重装oracle,直接恢复数据库

    windows重装后,不重装oracle,让原来的库可用的问题环境: windows 7/Oracle 11.2.0.1.0  64位 原来的Oracle安装在D盘.重装只格式化了C盘 1.修改注册表 ...

  4. Node.js之断言处理

    Node.js之断言处理 在Node.js中,可以利用assert模块进行断言处理,如果判断错误,则抛出AssertError异常 1 equal方法与notEqual方法 equal方法用于判断两个 ...

  5. mint-ui —— navbar和tab-container的区别

    navbar的具体实现 <template> <div class="page-navbar"> <div class="page-titl ...

  6. 监听 window.open 打开的窗口关闭并回调

    第三方的登录的解决方案通常有两种方式,一是打开一个新的标签页,然后登录回调回来: 二是通过父窗口打开一个子窗体去第三方登录,登陆成功时关掉子窗体回到父窗口. 问题来了 我的父窗体怎么样才知道子窗体被关 ...

  7. JS函数-我调用自己试试看

    前言 最近在读<JavaScript语言精粹>,对递归函数有了进一步的认识,希望总结下来: 递归是一种强大的编程技术,他把一个问题分解为一组相似的子问题,每一问题都用一个寻常解去解决.递归 ...

  8. string,char*,int 之间的转化

    c++中经常遇到string,char*,int之间的相互转化,今天就来整理一下. 以下是转载并修改的内容: 以下是常用的几种类型互相之间的转换 string 转 int先转换为char*,再使用at ...

  9. Spring Boot之Hello World

    Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...

  10. spring boot / cloud (八) 使用RestTemplate来构建远程调用服务

    spring boot / cloud (八) 使用RestTemplate来构建远程调用服务 前言 上周因家里突发急事,请假一周,故博客没有正常更新 RestTemplate介绍: RestTemp ...