让我来为您详细讲解如何在Python中使用数据库。
一、准备工作
在使用Python操作数据库前,需要安装相应的数据库驱动包。在这里以MySQL数据库为例,可以使用Python的第三方库pymysql
来操作MySQL数据库。
安装pymysql可以使用pip工具,在命令行中输入如下命令即可:
pip install pymysql
二、连接到数据库
连接到MySQL数据库需要使用pymysql.connect()
函数。函数需要传入主机名、用户名、密码、数据库名称等参数,具体如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 关闭数据库连接
db.close()
如上所示,我们可以使用pymysql.connect()
打开一个MySQL数据库连接,其中:
host
参数为数据库主机名,如果是本机数据库,即为localhost
;user
参数为用户名,如果MySQL数据库的用户名为root
则使用root
;password
参数为数据库密码;database
参数为数据库名称。
三、创建数据表
创建数据表需要使用CREATE TABLE
语句,示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL,如果数据表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 使用预处理语句创建数据表
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
cursor.execute(sql)
# 关闭数据库连接
db.close()
如上所示,创建数据表需要用到execute()
方法和SQL语句。在这里我们使用了预处理语句CREATE TABLE
语句来创建数据表。
四、插入数据
插入数据需要使用INSERT INTO
语句,示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 插入语句
sql = "INSERT INTO EMPLOYEE (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) \
VALUES ('John', 'Doe', 20, 'M', 2000.00)"
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
print("插入成功!")
except:
# 如果发生错误则回滚
db.rollback()
# 关闭数据库连接
db.close()
在上面的代码中,我们使用INSERT INTO
语句和VALUES
子句来插入数据。
五、查询数据
查询数据需要使用SELECT
语句,示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE WHERE INCOME > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
first_name = row[0]
last_name = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("first_name=%s,last_name=%s,age=%d,sex=%s,income=%d" % (first_name, last_name, age, sex, income))
except:
print("Error: unable to fetch data")
# 关闭数据库连接
db.close()
如上所示,我们使用了SELECT * FROM EMPLOYEE
语句查询EMPLOYEE
表中所有的数据,并使用for循环和fetchall()
方法遍历所有记录并输出。
六、更新数据
更新数据需要使用UPDATE
语句,示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
print("更新成功!")
except:
# 如果发生错误则回滚
db.rollback()
# 关闭数据库连接
db.close()
在上面的代码中,我们使用了UPDATE
语句和WHERE
子句来更新符合条件的数据。
七、删除数据
删除数据需要使用DELETE
语句,示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
print("删除成功!")
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
如上所示,我们使用了DELETE FROM
语句和WHERE
子句来删除符合条件的数据。
以上就是Python操作MySQL数据库的详细过程,希望可以对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Python中使用数据库? - Python技术站