> 文章列表 > python数据库处理

python数据库处理

python数据库处理

Python 数据库处理简介

在现代数据处理中,关系数据库是最常被用到的数据存储方式之一。Python 语言提供了许多用于关系数据库的接口和框架,使得 Python 数据库处理变得简单和高效。

Python 的关系数据库接口

在 Python 中,不同的数据库有不同的接口和驱动。Python 的 DB-API 规范提供了一种统一和标准的方式来连接和操作不同数据库。支持 DB-API 的数据库驱动包括 MySQL、PostgreSQL、SQLite 等,这些数据库驱动在 Python 中都有相应的模块。

使用Python 连接数据库

在 Python 中连接数据库非常简单。一些常见的连接步骤是:

  1. 导入对应数据库模块,例如`mysql.connector`
  2. 使用模块提供的连接方法连接数据库,例如`mysql.connector.connect()`
  3. 创建游标对象,使用游标对象执行 SQL 语句
  4. 关闭游标和连接

下面是连接 MySQL 数据库的示例代码:

import mysql.connector# 连接数据库cnx = mysql.connector.connect(user='root', password='12345',                              host='127.0.0.1',                              database='testdb')# 创建游标对象cursor = cnx.cursor()# 执行 SQL 查询query = ("SELECT * FROM employees ")cursor.execute(query)# 关闭游标和连接cursor.close()cnx.close()

使用 Python 操作数据库

Python 提供了丰富的数据库操作 API,数据库操作主要包括以下几种:

  • 执行查询操作
  • 执行插入、更新和删除操作
  • 使用事务来保证数据的一致性

下面是一个插入数据到 MySQL 数据库的示例代码:

import mysql.connector# 连接数据库cnx = mysql.connector.connect(user='root', password='12345',                              host='127.0.0.1',                              database='testdb')# 创建游标对象cursor = cnx.cursor()# 执行 SQL 插入操作add_employee = ("INSERT INTO employees "               "(first_name, last_name, hire_date, salary) "               "VALUES (%s, %s, %s, %s)")               data_employee = ('Eric', 'Yan', '2021-09-01', 3000)cursor.execute(add_employee, data_employee)# 提交事务cnx.commit()# 关闭游标和连接cursor.close()cnx.close()

使用 Python 操作框架

在 Python 中,有很多流行的 ORM 框架,例如 SQLAlchemy、Django ORM 等,这些框架提供了更高层次的抽象和封装,使得数据库操作更加简单、高效、安全和可维护。ORM 框架可以帮助开发者省去一些简单而重复的工作,并避免了一些低级的程序错误,也可以使得代码更具可读性。

下面是一个使用 SQLAlchemy 框架来插入数据到 MySQL 数据库的示例:

from sqlalchemy import create_engine, Column, Integer, Stringfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmakerBase = declarative_base()engine = create_engine('mysql+mysqlconnector://root:12345@127.0.0.1/testdb')Session = sessionmaker(bind=engine)session = Session()class Employee(Base):    __tablename__ = 'employees'    id = Column(Integer, primary_key=True)    first_name = Column(String(45))    last_name = Column(String(45))    hire_date = Column(String(45))    salary = Column(Integer)employee = Employee(first_name='Eric', last_name='Yan', hire_date='2021-09-01', salary=3000)session.add(employee)session.commit()session.close()

结论

Python 提供了丰富的数据库处理接口和框架,使得开发者可以轻松地连接、操作和扩展关系数据库。使用 Python 的 ORM 框架可以避免一些简单而重复的工作,并提高开发的效率和可维护性,也可以使得代码更具可读性。