Python下MySQLdb用法实例分析
介绍
MySQLdb 是python下操作 MySQL 数据库的一种常用的模块。它是 Python 中连接 MySQL 最流行的模块之一。本文将介绍 MySQLdb 的用法,并给出使用示例。
安装
使用 pip 命令安装:
pip install MySQL-python
连接数据库
连接 MySQL 数据库的方法如下:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect(host="localhost", user="root", passwd="root", db="test", charset="utf8")
# 获取游标
cursor = db.cursor()
其中,有几个参数需要说明一下:
- host:连接的mysql主机名
- user:mysql用户名
- passwd:mysql密码
- db:要连接的数据库名
- charset:设置字符集编码
连接成功后,如果想关闭游标和数据库连接,请分别使用 cursor.close()
和 db.close()
方法。
执行 SQL 语句
可以使用 execute()
方法执行 SQL 语句,例如:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect(host="localhost", user="root", passwd="root", db="test", charset="utf8")
# 获取游标
cursor = db.cursor()
# SQL 语句
sql = "SELECT * FROM employee WHERE income > '%d'" % (1000)
# 执行 SQL 语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income))
# 关闭游标和数据库连接
cursor.close()
db.close()
在这个例子中,我们首先执行了一条 select 语句,并通过 fetchall()
方法获得了所有的结果,然后通过 for 循环逐一遍历每一行的数据,最后打印出结果。值得注意的是,这里使用了字符串格式化的方式将参数传入 SQL 语句中。
还可以使用 executemany()
方法执行多条 SQL 语句:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect(host="localhost", user="root", passwd="root", db="test", charset="utf8")
# 获取游标
cursor = db.cursor()
# SQL 语句
sql = "INSERT INTO employee (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES (%s, %s, %s, %s, %s)"
val = [
('John', 'Doe', 28, 'M', 2000),
('Jane', 'Doe', 25, 'F', 2500),
('Tom', 'R', 32, 'M', 3000),
]
# 多次执行 SQL 语句
cursor.executemany(sql, val)
# 提交修改
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
在这个例子中,我们执行了多条 INSERT 语句,并将每一条语句的参数使用列表的方式传入 executemany()
方法中,从而一次性执行多条 SQL 语句。最后需要调用 commit()
方法提交修改。
总结
到这里,我们已经介绍了 MySQLdb 的基本用法,包括连接数据库和执行 SQL 语句。以上是两个最基本的示例,实际应用中还有很多其他的方法和用法。如果需要更深入的了解,请查看 MySQLdb 的官方文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python下MySQLdb用法实例分析 - Python技术站