Python---SQLAlchemy常用操作

SQLAlchemy用一个字符串表示连接信息

'数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'

MySQL-Python
    mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>
    
pymysql
    mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]
    
MySQL-Connector
    mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname>
    
cx_Oracle
    oracle+cx_oracle://user:pass@host:port/dbname[?key=value&key=value...]

原生sql语句处理:

# !/usr/bin/env python
# -*- coding: utf-8 -*-
# author : Big Watermelon

from sqlalchemy import create_engine

engine = create_engine("mysql+pymysql://root:[email protected]:3306/t1", max_overflow=5)

# 执行SQL插入语句方式1
# cur = engine.execute(
#     "INSERT INTO hosts (host, color_id) VALUES ('1.1.1.22', 3)"
# )

# 执行SQL插入语句方式2
# cur = engine.execute(
#     "INSERT INTO hosts (host, color_id) VALUES(%s, %s)",[('1.1.1.22', 3),('1.1.1.221', 3),]
# )

# 执行SQL插入语句方式3
# cur = engine.execute(
#     "INSERT INTO hosts (host, color_id) VALUES (%(host)s, %(color_id)s)",
#     host='1.1.1.99', color_id=3
# )

# 查询新插入行自增ID
# cur.lastrowid

# 执行SQL
# cur = engine.execute('select * from hosts')
# 获取第一行数据
# cur.fetchone()
# 获取第n行数据
# cur.fetchmany(3)
# 获取所有数据
# cur.fetchall()

猜你喜欢

转载自blog.csdn.net/qq562029186/article/details/82620669