关于sqlalchemy的使用
关于sqlalchemy的使用
- 说明
- 一、安装与创建库、连结库
- 二、创建表、增加数据
- 三、查询记录
说明
- 本教程所需软件及库python3.10、sqlalchemy
- 安装与创建库、连结库
- 创建表、增加数据
- 查询记录
一、安装与创建库、连结库
- 安装库
pip install sqlalchemy
#查看版本
sqlalchemy.__vetrsion__
- 创建库或连结库
#连结或创建sqlite3
from sqlalchemy import create_engine
engine = create_engine(`sqlite:///db_path.db`,echo=True)
conn = engine.connect()
#连结或创建mysql
from sqlalchemy import create_engine
engine = create_engine(`mysql://user:pwd@localhoast/库名`,echo=True)
conn = engine.connect()
注:create_engine如果已经存在就连结,如果不存在就创建。
- 在sqlachemy执行sql语句
import sqlachemy
query = sqlachemy.text("select * from 表名")#sql语句
engine = sqlachemy.create_engine(`sqlite:///db_path.db`,echo=True)
conn = engine.connect()
result_set = conn.execute(query)
print(result_set.all())
conn.close()
engine.dispose()
注:以下代码engine代表创建或检查数据库,conn代表连结数据库。
二、创建表、增加数据
- 创建表
创建表要用到sqlalchemy的三个库MetaData、Table、Column及类型代码
from sqlachemy import MetaData,Table,Column
meta = MetaData()
#Meta定义好的字段属性存在这,所以第二个字段就要传它
var = Table(
'表名',meta,
Clolumn('字段名',sqlachemy.类型,primary_key=True),
.......
)
meta.create_all(engine)#创建表
如果表已经存在了,就不会创建,如果不存在就创建。
2. sqlachemy字段类型
名称 | 字段英文 | 用法 | 说明 |
---|---|---|---|
整形 | Integer | Integer | 存整数 |
小数 | 存小数 | ||
字符 | String | String(字符个数) | 存字符 |
日期 | Date | Date | 存年月日 |
– | – | – | – |
注:主键primary_key=True,unique=True唯一,unllable=True不能为空。
- 增加数据(insert)
3.1 插入一条数据
var = 表名.insert().values(字段名=值,......)
with engine.connect() as conn:conn.execute(var)conn.commit()
1、连结conn以后执行数据库操作要用conn.execut(sqlachemy语句)
2、数据库数据有变要提交事务,conn.commit()
3、var = 表名.insert().values(字段名=值,…)是新增数据的sqlachemy语句
4、 自增长是插一次,它就增加一次,它不管你是否成功
3.2 插入多条数据
var = 表名.insert()
with engine.connect() as conn:conn.execute(var,[{'字段名':value,.......},{'字段名':value,.......},........])conn.commit()
这个要用列表,并且列表里放字典,key是字段名,value是对应的值
三、查询记录
- sql查询语句
select * from 表名
- 函数表达式
表名.select()
- 结果获取
结果.fetchall()#获取所有数据
结果.fetchone()#获取第一条数据