Python数据库函数:使用Python数据库函数进行数据库连接、查询、更新等操作。
Python是一款优秀的编程语言,具有简洁、灵活、快速开发等特点,常用于Web应用、数据分析、人工智能等领域。在Web应用中,数据存储与读取是非常重要的。Python中通过内置的数据库模块实现对常见关系型和非关系型数据库的操作。本文将介绍常用Python数据库函数的操作,包括数据库连接、查询、更新等。
一、连接数据库
连接数据库是数据库操作的 步。在Python中,使用db模块连接MySQL、PostgreSQL、Oracle、SQL Server等常见的关系型数据库。其中,MySQL是最常用的数据库,下面以MySQL为例进行介绍。
1. MySQL连接
使用Python连接MySQL有多种方式,可以使用MySQLdb、pymysql、mysql.connector等库,这里使用pymysql库连接MySQL数据库。
#导入pymysql库
import pymysql
#连接数据库
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test')
其中,host、user、password、database分别表示主机名、用户名、密码和数据库名。连接成功后,会返回一个Connection对象。
2. PostgreSQL连接
连接PostgreSQL数据库的方式与MySQL类似,使用psycopg2库连接。
#导入psycopg2库
import psycopg2
#连接数据库
conn = psycopg2.connect(host='localhost', user='postgres', password='123456', database='test')
#使用with语句
with conn:
with conn.cursor() as cur:
cur.execute("SELECT * FROM students")
rows = cur.fetchall()
二、查询数据
连接数据库后,就可以对数据库进行查询操作。Python提供了多种方式来查询数据库。以下是一些常用的查询数据的函数。
1. 查询单条数据
查询单条数据使用cursor.fetchone()函数。
#创建游标对象
cursor = conn.cursor()
#执行SQL语句
cursor.execute("SELECT * FROM students WHERE name='Alice'")
#获取单条数据
row = cursor.fetchone()
print(row)
2. 查询多条数据
查询多条数据使用cursor.fetchall()函数。
#创建游标对象
cursor = conn.cursor()
#执行SQL语句
cursor.execute("SELECT * FROM students WHERE age>18")
#获取多条数据
rows = cursor.fetchall()
for row in rows:
print(row)
3. 更新数据
更新数据使用cursor.execute()函数。
#创建游标对象
cursor = conn.cursor()
#执行SQL语句
cursor.execute("UPDATE students SET score=80 WHERE name='Alice'")
#提交修改
conn.commit()
三、插入数据
插入数据使用cursor.execute()函数。
#创建游标对象
cursor = conn.cursor()
#执行SQL语句
cursor.execute("INSERT INTO students(name, age, score) VALUES('Tom', 18, 75)")
#提交修改
conn.commit()
在插入数据时,需要通过VALUES()函数指定插入的值,注意要按照表的列顺序进行插入。
四、删除数据
删除数据使用cursor.execute()函数。
#创建游标对象
cursor = conn.cursor()
#执行SQL语句
cursor.execute("DELETE FROM students WHERE name='Tom'")
#提交修改
conn.commit()
在删除数据时,需要通过WHERE子句指定要删除的行,即满足条件的行。
总结
Python提供了丰富的数据库操作函数,可以对关系型数据库进行连接、查询、更新、插入、删除操作。连接数据库使用db模块,MySQLdb和pymysql是连接MySQL数据库比较常用的库,psycopg2是连接PostgreSQL数据库比较常用的库。查询数据可以使用fetchone()和fetchall()函数,更新、插入、删除数据可以使用execute()函数。在操作数据库时,建议使用with语句进行上下文管理,以确保资源能够正确释放。
