欢迎访问宙启技术站
智能推送

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等)的连接和操作方式类似,只是需要使用相应的库和更改连接数据库的方式。