11.3 模块化开发
每次要执行sql语句,必须先连接,然后再关闭连接。如果每次操作都复制连接的那段代码,等到代码要维护的时候(例如修改了数据库名、改了密码,修改地址),那就麻烦了。所以通常都把数据库相关函数放在一个文件。
下面是sql.py(此文件名是自定义的)文件的部分代码:
import pymysqldef get_conn(): conn = pymysql.connect(host="localhost", port=3306, user='root', password="123456", database="db") return conndef find_user(username): conn = get_conn() cursor = conn.cursor() sql1 = "select * from user where username=%s" cursor.execute(sql1, username) result = cursor.fetchone() conn.close() #关闭连接 return result
数据库连接现在由get_conn函数来负责,find_user函数的功能是根据用户名查询用户,它内部就使用了get_conn函数取得连接,然后在最后(第17行代码),关闭了连接。
如果另外一个文件需要使用到find_user函数,那么是这样使用的:
import sqlresult = sql.find_user(username)
import sql就是导入sql.py文件,然后就可以使用sql.py文件里的所有函数。
find_user函数可以查询下面的表格:

根据username查询用户。
下面是使用sqlalchemy
from sqlalchemy import create_engineengine = create_engine("mysql+pymysql://root:123456@localhost:3306/db?charset=utf8")con = engine.connect()username='abcd'query = f"SELECT * select * from user where username='{username}'"result = con.execute(query)print(result)