Python如何操作数据库系统? (python 对数据库操作系统)
Python是一种高级编程语言,广泛应用于数据处理和分析领域。Python提供了多种数据库操作方式,可用于连接和管理各种类型的数据库系统。本文介绍了Python如何操作数据库系统的方法和技巧。
1. 安装Python数据库驱动
在使用Python连接数据库之前,需要安装适当的数据库驱动程序,以确保与数据库的适当连接。Python提供了多种数据库驱动程序,包括SQLite,MySQL,PostgreSQL等。其中,SQLite是一个文件系统数据库,不需要额外的服务器软件,而MySQL和PostgreSQL需要与服务器建立连接。在安装数据库驱动程序之前,请确保已安装相应的数据库系统,并已将其设置为运行状态。安装Python数据库驱动可以使用pip命令进行安装,例如pip install pymysql。
2. 连接数据库
在连接数据库时,可使用Python的各种数据库连接方式。以下是使用Python上连接MySQL数据库的示例代码:
“`python
Import pymysql
#打开数据库连接
db = pymysql.connect(“localhost”,”root”,”password”,”test”)
#使用cursor()方法创建一个游标对象cursor
cursor = db.cursor()
#使用execute()方法执行SQL查询语句
cursor.execute(“SELECT VERSION()”)
#使用fetchone()方法获取单条数据
data = cursor.fetchone()
print(“Database version : %s ” % data)
#关闭数据库连接
db.close()
“`
在示例代码中,使用pymysql模块来连接MySQL数据库。其中,使用connect()方法打开数据库连接。connect()方法的之一参数为主机地址,第二参数为登录用户名,第三参数为密码,第四参数为数据库名。使用cursor()方法创建一个游标对象cursor,使用execute()方法执行SQL查询语句,然后使用fetchone()方法获取一条数据。关闭数据库连接并输出结果。
3. 查询数据
在Python中,可以使用execute()方法来执行SQL查询语句。SQL查询语句可以使用查询,插入,更新或删除操作,这些可以通过Python程序与数据库进行交互。以下是一个简单的Python代码示例,用于从MySQL表中选择所有行:
“`python
# SELECT 操作示例
import pymysql
db = pymysql.connect(“localhost”,”root”,”password”,”test”)
cursor = db.cursor()
sql = “SELECT * FROM employee”
try:
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
sex = row[3]
salary = row[4]
print (“id=%s,name=%s,age=%s,sex=%s,salary=%s” % \
(id,name,age,sex,salary ))
except:
print (“Error: unable to fetch data”)
db.close()
“`
在以上示例中,我们执行了一个SQL SELECT语句,将表employee中的所有行选择出来。由于该SQL查询返回多项结果,我们可以使用fetchall()方法获取所有结果。在获取所有结果后,可以使用for循环遍历每一行。可以使用下标访问每一行的数据,并将其打印到控制台上。
4. 插入、更新和删除数据
在Python中,可以使用execute()方法执行任何类型的SQL语句,包括插入、更新和删除数据。以下是一个简单的Python代码示例,用于从MySQL表中插入一条新行:
“`python
# INSERT 操作示例
import pymysql
db = pymysql.connect(“localhost”,”root”,”password”,”test”)
cursor = db.cursor()
sql = “INSERT INTO employee(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES (‘Jane’, ‘Doe’, 30, ‘F’, 8000)”
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
“`
在以上示例中,我们插入了一条新行Jane Doe,年龄为30岁,性别为女,年薪为8000。我们可以使用Python中execute()方法执行INSERT语句。在执行INSERT语句后,我们需要调用commit()方法以确保更改被保存在数据库中。如果发生错误,可以使用rollback()方法取消所有更改。
我们也可以使用UPDATE语句更新数据并使用DELETE语句删除数据。以下是一个Python代码示例,用于从表employee中更新一行数据:
“`python
# UPDATE 操作示例
import pymysql
db = pymysql.connect(“localhost”,”root”,”password”,”test”)
cursor = db.cursor()
sql = “UPDATE employee SET AGE = AGE + 1 WHERE SEX = ‘F'”
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
“`
在以上示例中,我们使用UPDATE语句将所有女性员工的年龄增加1岁。我们可以使用Python中execute()方法执行更新语句。在执行UPDATE语句后,我们需要调用commit()方法以确保更改被保存在数据库中。如果发生错误,可以使用rollback()方法取消所有更改。
我们可以使用DELETE语句删除数据。以下是一个Python代码示例,用于从表employee中删除一个行:
“`python
# DELETE 操作示例
import pymysql
db = pymysql.connect(“localhost”,”root”,”password”,”test”)
cursor = db.cursor()
sql = “DELETE FROM employee WHERE AGE > 30”
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
“`
以上代码将删除整个表的年龄大于30岁的所有员工。我们可以使用Python中execute()方法执行DELETE语句。在执行DELETE语句后,我们需要调用commit()方法以确保更改被保存在数据库中。如果发生错误,可以使用rollback()方法取消所有更改。
Python提供了多种连接和管理各种类型的数据库系统的方式,可以用于连接和管理SQLite、MySQL、PostgreSQL和其他数据库系统。本文介绍了使用Python进行数据库连接和各种数据操作的方法和技巧。希望这篇文章能够帮助您理解如何使用Python连接和操作数据库系统。