数据库的备份与导入 利用python pymysql模块 sqlalchemy模块 对数据库的增删改查

数据库的备份和导入

数据库备份

在命令提示符中输入

mysqldump -h localhost -u root -p 数据库名称>备份的地址
mysqldump -h localhost -u root -p mydb1>d:/mydb1.sql
Enter password;密码

注意:

  1. 使用的是window的命令行
  2. mysqldump 是 myslq的可执行命令
  3. localhost 表示网址
  4. d:\mydb1.sql 表示 保存的位置。 /表示Linux路径, \ windows路径。
导入

先创建数据库,选择要导入的数据库

source  d:/mydb1.sql;——》source 导入数据库的地址

建立python与数据库的连接

pymysql模块
安装
  1. 两种方式安装此模块 pip install pymysql (命令行)或者 通过 pycharm进行安装。
数据库增加数据操作
import pymysql
#创建连接
conn=pymysql.connect(
    host='localhost', #数据库主机地址
    user='root',      #数据库用户名
    password='123456',#数据库密码
    database='test',  #数据库名称
    port=3306)        #连接端口
#获取游标
cur=conn.cursor()
#编写SQL语句

 sql="insert into test(id,name) values (%(id1)s,%(name1)s)"
 #执行sql
 s={'id1':input('请输入id;'),'name1':input('请输入姓名;')}#增加一条数据,字典形式
                                                         #也可是元组或列表
cur.execute(sql,s)
 sql="insert into test(id,name) values (%s,%s)"
 s=cur.executemany(sql,[(7,'a'),(8,'s')])#批量增加
 print(s)

#提交事务
conn.commit()
#关闭连接
cur.close()
conn.close()


数据库删除数据操作
import pymysql
#创建连接
conn=pymysql.connect(
    host='localhost', #数据库主机地址
    user='root',      #数据库用户名
    password='123456',#数据库密码
    database='test',  #数据库名称
    port=3306)        #连接端口
#获取游标
cur=conn.cursor()
#编写SQL语句

sql="delete from test where name='a' " #删除
s=cur.execute(sql)
print(s)



#提交事务
conn.commit()
#关闭连接
cur.close()
conn.close()
数据库修改数据操作
import pymysql
#创建连接
conn=pymysql.connect(
    host='localhost', #数据库主机地址
    user='root',      #数据库用户名
    password='123456',#数据库密码
    database='test',  #数据库名称
    port=3306)        #连接端口
#获取游标
cur=conn.cursor()
#编写SQL语句

sql="update test set id=10 where name='w'" #修改
s=cur.execute(sql)
print(s)


#提交事务
conn.commit()
#关闭连接
cur.close()
conn.close()

数据库查找数据操作
import pymysql
#创建连接
conn=pymysql.connect(
    host='localhost', #数据库主机地址
    user='root',      #数据库用户名
    password='123456',#数据库密码
    database='test',  #数据库名称
    port=3306)        #连接端口
#获取游标
cur=conn.cursor()
#编写SQL语句

sql="select * from test" #查找
s=cur.execute(sql)
print(s)

#提交事务
conn.commit()
#关闭连接
cur.close()
conn.close()

sqlalchemy 模块

ORM

ORM 全称 Object Relational Mapping, 翻译过来叫对象关系映射。简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系。这样,我们要操作数据库,数据库中的表或者表中的一条记录就可以直接通过操作类或者类实例来完成。也就是使用面向对象的思想来操作数据库。

SQLAlchemy 是Python 社区最知名的 ORM 工具之一,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型。

python 类 ——》表格 一个类对应一张表格,

对象——》记录 一个对象对应一条记录

属性——》字段 一个属性对应一个字段

不需要写SQL语句,sqlalchemy需要与pymysql联合使用。

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,String,Integer
from sqlalchemy.orm import sessionmaker

#1.创建引擎
eng=create_engine("mysql+pymysql://root:123456@localhost/test",encoding='utf-8')

#2.创建基类
Base=declarative_base()

#3.创建类
class Tes(Base):
    __tablename__='tes'
    id=Column(Integer,primary_key=True,autoincrement=True)
    name=Column(String(32),nullable=False)
    email=Column(String(32),unique=True)

#4.创建表格
Base.metadata.create_all(eng)

#添加记录
Session=sessionmaker(bind=eng)



#添加
session=Session()
tex=Tes(name='李四',email='222@qq.com')#创建对象
session.add(tex)#添加事务
session.commit()#提交事务
session.close()




# 查询
# 创建session
session = DBSession()
# 利用session创建查询,query(对象类).filter(条件).one()/all()
user = session.query(User).filter(User.id=='5').one()
print('type:{0}'.format(type(user)))
print('name:{0}'.format(user.name))
# 关闭session
session.close()


# 更新
session = DBSession()
user_result = session.query(User).filter_by(id='1').first()
user_result.name = "jack"
session.commit()
session.close()


# 删除
session = DBSession()
user_willdel = session.query(User).filter_by(id='5').first()
session.delete(user_willdel)
session.commit()
session.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值