Python数据库操作:如何使用Python连接和操作数据库
发布时间:2023-12-04 10:01:04
在Python中,我们可以使用多种库来连接和操作数据库,例如mysql-connector-python库用于连接和操作MySQL数据库,psycopg2库用于连接和操作PostgreSQL数据库,sqlite3库用于连接和操作SQLite数据库等。
下面以MySQL数据库为例,介绍如何使用Python连接和操作数据库。
首先,我们需要安装mysql-connector-python库,可以使用以下命令进行安装:
pip install mysql-connector-python
连接数据库:
import mysql.connector
# 连接数据库
cnx = mysql.connector.connect(user='username', password='password',
host='localhost',
database='database_name')
# 获取游标
cursor = cnx.cursor()
在连接数据库时,需要提供用户名,密码,主机名和数据库名等信息。然后,使用cnx.cursor()方法获取游标,游标是用于执行SQL语句和获取查询结果的对象。
执行SQL语句:
# 创建表
create_table = """
CREATE TABLE IF NOT EXISTS employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT,
salary FLOAT
)
"""
cursor.execute(create_table)
通过执行cursor.execute(sql语句)方法来执行SQL语句。
插入数据:
# 插入数据
insert_data = """
INSERT INTO employees (name, age, salary)
VALUES (%s, %s, %s)
"""
data = ('John', 25, 5000)
cursor.execute(insert_data, data)
cnx.commit()
使用cursor.execute(sql语句, 数据)方法来插入数据,其中数据以元组的形式传入。执行插入操作后,需要调用cnx.commit()来提交事务。
查询数据:
# 查询数据
select_data = """
SELECT * FROM employees
"""
cursor.execute(select_data)
results = cursor.fetchall()
for row in results:
print(row)
使用cursor.execute(sql语句)方法来查询数据,然后使用cursor.fetchall()方法获取所有查询结果。遍历查询结果,可以得到每一行的数据。
更新数据:
# 更新数据
update_data = """
UPDATE employees
SET salary = %s
WHERE id = %s
"""
data = (6000, 1)
cursor.execute(update_data, data)
cnx.commit()
使用cursor.execute(sql语句, 数据)方法来更新数据。
删除数据:
# 删除数据
delete_data = """
DELETE FROM employees WHERE id = %s
"""
data = (1,)
cursor.execute(delete_data, data)
cnx.commit()
使用cursor.execute(sql语句, 数据)方法来删除数据。
关闭数据库连接:
# 关闭游标和数据库连接 cursor.close() cnx.close()
使用cursor.close()关闭游标,然后使用cnx.close()关闭数据库连接。
以上就是使用Python连接和操作MySQL数据库的基本步骤和示例代码。其他数据库(如PostgreSQL、SQLite等)的连接和操作方式类似,只是需要使用相应的库和更改连接数据库的方式。
