PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库
Python2中则使用MySQLdb
安装pumysql:
pip3 install pymysql -i https://pypi.douban.com/simple
查看是都安装成功:
推荐软件:
【1】数据库编程的模板:
开始—>创建connection—>获取cursor—>执行查询、执行命令、获取数据、处理数据—>关闭cursor—>关闭connection—>结束
【2】练习
#1. 导入模块,py3(pymysql),py2(mysqldb)
import pymysql
#1. 创建连接
conn = pymysql.connect(host='localhost', user='root',
password="westos", db='westos',
charset='utf8')
#2. 创建游标
cur = conn.cursor()
#3. 对数据库进行操作
#3-1). 查询操作
select_sql = "select * from users"
cur.execute(select_sql)
# 查询语句结果不会默认返回,需要通过 进行获取
print(cur.fetchall())
#4. 关闭游标
cur.close()
#5. 关闭连接
conn.close()
#1. 导入模块,py3(pymysql),py2(mysqldb)
import pymysql
#1. 创建连接
conn = pymysql.connect(host='localhost', user='root',
password="westos", db='westos',
charset='utf8')
#2. 创建游标
cur = conn.cursor()
#3. 对数据库进行操作
#3-1). 查询操作
select_sql = "select * from users"
cur.execute(select_sql)
# 查询语句结果不会默认返回,需要通过 进行获取
print(cur.fetchall())
#3-2). 插入语句
insert_sql = "insert into users values('%s', '%s')"
cur.execute(insert_sql)
print("插入数据成功")
# 注意:如果是插入和删除或者更新数据时,需要提交修改的信息到数据库中
conn.commit()
#4. 关闭游标
cur.close()
#5. 关闭连接
conn.close()
【1】概念
OMR,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间做一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。
【2】基本操作
pip3 install sqlalchemy -i https://pypi.douban.com/simple
# 使用creat_engine建立同数据库的链接,返回的是一个Engine实例。
# 指向数据库的一些核心的接口
# max_overflow=5,最大链接参数为5
# echo=Ture,可以在控制台看到操作设计的SQL语言
engine = creat_engine("mysql+pymysql://root:123@172.25.0.10:3306/course?charset=utf8,
max_overflow=5,
echo=Ture")
# 定义缓存对象:
Session = sessionmaker(bind=engine)
session = Session()
# 声明基类,包含ORM映射中相关的类和表的信息:
Base = diclarative_base()
from sqlalchemy import creat_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer, String
# 1. 创建引擎
engine = creat_engine(""mysql+pymysql://root:westos@westos_netfilesystem:3306/westos?charset=utf8,
max_overflow=5,
echo=Ture")
# 2. 创建session会话(用作面向对象程序和数据库之间的缓存)
Session = sessionmaker(bind=engine)
session = Session()
# 3. 重点:通过面向对象的方式对数据库进行操作(增删改查)
Base = declarative_base()
class People(Base):
_tablename_ = 'people'
id = Column(Integer, primary_key=Ture)
name = Column(String(30))
email = Column(String(30), unique=True)
def __repr__(self):
"""字符串的友好展示"""
return "%(self.id, self.name, self.email)
# 创建数据库表
Base.metadata.create_all(engine)
"""
# 批量添加数据
foe i in range(10):
peoplr(name="name%s" %(i+1), email="mail%sqq.com" %(i+1))
session.add(p)
session.commit()
print("写入10条数据成功")
"""
# 查询数据信息
data = session.query(People).filter_by(name="name1").first()
print("找到name1的信息了。", datas)
# 删除找到的信息
session.delete(data)
session.commit()
print("删除成功")