SQLalchemy库链接Mysql

必备依赖

Python使用SQLalchemy链接MySQL数据库,需提前安装 pymysql 库,Python3使用pip命令进行安装
pip intall pymysql, sqlalchemy

使用说明

  1. 链接数据库前需提前进入MySQL,创建对应的数据库,这里以mydatabase为例,进入MySQL创建数据库
    mysql -u 用户名 -p
    输入密码后,开始创建mydatabase库
    create database mydatabase;
    创建完毕后,新建一个 connectsql.py 的文件用于链接数据库
#导入对应的数据库类型,用于创建模型
from sqlalchemy import String, Column, Integer
#导入基础类
from sqlalchemy.ext.declarative import declarative_base
#导入链接相关函数(其实是我不知道是做什么用的)
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

#实例化数据库基础类
base =  declarative_base()

#实例化一个学生类,里面有序号和名字
class Student(base):
	__tablename__ = 'student'
	id = Column(Integer, primary_key=True)
	name = Column(String(30))

创建好类以后,绑定数据库链接,进行初始化。sqlalchemy本质是把MySQL的表用类的形式表现出来,类的属性即为表的字段,每一个表的数据即是类的一个实例对象。需要读写数据库时,只需要对类对象进行操作即可。在实例化之前必须先创建MySQL表!

#创建数据库链接
engine = create_engine(db_url)
Student.metadata.create_all(engine)

链接数据库后,通过model类直接创建对应表

#初始化一个session对象
session = sessionmaker(bind=engine)

session对象是数据库使用中非常重要的一个对象,通过sessionmaker可以创建一个数据库链接,将我们实例化的models对象添加进session,可以实现快速批量添加,这里写一个简单的例子进行示范

#导入model
from model import Student
#初始化两个实例对向
Tom=Student(name='tom')
Jerry=Student(name='jerry')
#将实例对象添加进session
session.add(Tom)
session.add(Jerry)
#session提交至数据库
session.commit()
#结束链接
session.close()

至此已经将两个数据添加进行数据库了。为了提高性能,可以多次add后集中进行commit,在所有数据commit结束后,使用close方法结束链接,一旦结束需要重新构建session

你可能感兴趣的:(数据库)