Python对数据库操作

Python对数据库操作的完整攻略

概述

Python作为一门广泛应用于数据处理领域的编程语言,对于数据库操作的支持也是早已被广泛开发和应用的。通过Python能够方便地进行各类数据库管理,如连接数据库、查询数据、修改数据等。本文将带领读者深入了解Python对数据库操作的完整攻略,供读者参考。

数据库连接

Python涉及到常用的数据库连接有以下几种方式:

SQLite数据库连接

SQLite是一款嵌入式的轻量级数据库,Python支持对SQLite数据库的连接。在Python中,可以使用sqlite3模块进行SQLite的数据库连接。代码示例如下:

import sqlite3

# 连接到SQLite数据库,如果数据库不存在,则会自动创建
conn = sqlite3.connect('test.db')
# 创建一个游标Cursor
cursor = conn.cursor()
# 执行一条SQL语句,创建表
cursor.execute("CREATE TABLE IF NOT EXISTS STUDENT (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL)")
# 执行一条SQL语句,插入记录
cursor.execute("INSERT INTO STUDENT(ID, NAME, AGE) VALUES(1, 'Tom', 18)")
# 提交事务
conn.commit()
# 关闭Cursor
cursor.close()
# 关闭连接
conn.close()

MySQL数据库连接

MySQL是一款流行的开源数据库,Python通过pymysql或mysql-connector-python等第三方库支持对MySQL的数据库连接。代码示例如下:

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行一条SQL语句,创建表
cursor.execute("CREATE TABLE IF NOT EXISTS STUDENT (ID INT PRIMARY KEY NOT NULL, NAME CHAR(20) NOT NULL, AGE INT NOT NULL)")
# 执行一条SQL语句,插入记录
cursor.execute("INSERT INTO STUDENT(ID, NAME, AGE) VALUES(1, 'Tom', 18)")
# 提交事务
db.commit()
# 关闭Cursor
cursor.close()
# 关闭连接
db.close()

Oracle数据库连接

Oracle是一款商业的数据库,Python可以通过cx_Oracle等第三方库支持对Oracle的数据库连接。代码示例如下:

import cx_Oracle

# 连接Oracle数据库
conn = cx_Oracle.connect('username/password@host:port/SID')
# 创建一个cursor
cursor = conn.cursor()
# 执行一条SQL语句,创建表
cursor.execute("""
          CREATE TABLE STUDENT
          (ID INT PRIMARY KEY NOT NULL,
          NAME VARCHAR2(16) NOT NULL,
          AGE INT NOT NULL)
          """)
# 执行一条SQL语句,插入记录
cursor.execute("INSERT INTO STUDENT(ID, NAME, AGE) VALUES(1, 'Tom', 18)")
# 提交事务
conn.commit()
# 关闭Cursor
cursor.close()
# 关闭连接
conn.close()

数据库查询

Python提供了在数据库中查询记录的方法,示例如下:

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行一条SQL语句,查询记录
cursor.execute("SELECT * FROM STUDENT")
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
    id = row[0]
    name = row[1]
    age = row[2]
    # 打印结果
    print("id=%d,name=%s,age=%d" % (id, name, age))
# 关闭Cursor
cursor.close()
# 关闭连接
db.close()

数据库修改

Python提供了在数据库中修改记录的方法,示例如下:

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行一条SQL语句,修改记录
cursor.execute("UPDATE STUDENT SET AGE = AGE + 1 WHERE ID = 1")
# 提交事务
db.commit()
# 获取修改后的记录
cursor.execute("SELECT * FROM STUDENT")
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
    id = row[0]
    name = row[1]
    age = row[2]
    # 打印结果
    print("id=%d,name=%s,age=%d" % (id, name, age))
# 关闭Cursor
cursor.close()
# 关闭连接
db.close()

总结

Python对各种类型数据库的连接和操作都提供了相应的支持,让Python开发人员能够方便地使用Python代码操作数据库。上述代码仅提供了基础用法的简单示例,读者可根据自身需求进行扩展和定制化实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python对数据库操作 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL忘记root密码错误号码1045的解决办法

    当我们忘记 MySQL 的 root 密码时,使用 root 账户登陆 MySQL 数据库失败,可能会遇到错误号码为 1045 的错误提示。错误提示信息如下所示: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) 这种错误提示意味着在没有提供正…

    database 2023年5月18日
    00
  • MongoDB和ActivePivot的区别

    MongoDB是一种NoSQL数据库,它采用了面向文档的数据模型,并且可以高效地存储和处理大量的数据。一般用于Web应用程序、数据存储和日志记录等方面。 ActivePivot是一种内存分析引擎,它被设计用于高度交互式的数据分析和报告。ActivePivot可以轻松处理大量数据,并提供高速的查询响应,这使得它成为一个非常适合于金融、保险等领域的数据分析工具。…

    database 2023年3月27日
    00
  • mysql的join查询和多次查询方式比较

    MySQL是一个关系型数据库管理系统,它支持多种查询方式,其中最常用的两种是join查询和多次查询。 什么是join查询 Join查询是指从两个或多个表中按照指定的条件组合出一个结果集的查询方式。它的语法结构为: SELECT 列名 FROM 表1 JOIN 表2 ON JOIN条件 其中,JOIN条件是指两个表之间的连接条件,常见的连接方式包括INNER …

    database 2023年5月19日
    00
  • 数据库语言分类DDL、DCL、DML详解

    数据库语言分类DDL、DCL、DML详解 数据库语言可以分为三类,分别是DDL(数据定义语言)、DCL(数据控制语言)和DML(数据操作语言)。接下来,我们会详细讲解这三种数据库语言的功能和使用方法。 DDL(数据定义语言) DDL用于定义数据库的结构,包括创建、修改和删除数据库、表、视图和其他数据库对象等操作。以下是DDL的一些常见操作: 创建数据库 CR…

    database 2023年5月21日
    00
  • 简单谈谈centos7中配置php

    请先确认您的CentOS 7操作系统已经安装并开启了Web服务器及PHP支持,可以执行以下命令进行确认: httpd -v php -v 如果以上两个命令都能正常给出版本号,则说明您的系统已经配置好了Web服务器和PHP支持,可以跳过下面的步骤直接配置。 如果您的系统没有配置好Web服务器和PHP支持,请先按照以下步骤进行安装配置。 1. 安装Web服务器 …

    database 2023年5月22日
    00
  • CentOS系统上安装配置Oracle数据库的详细教程

    CentOS系统上安装配置Oracle数据库的详细教程 下面将介绍在CentOS系统上安装配置Oracle数据库的详细教程。 1. 下载Oracle数据库软件 请前往Oracle官网下载Oracle Database软件(版本自行选择)。 2. 安装必要的软件包 安装必要的软件包,执行以下代码: yum install -y binutils compat-…

    database 2023年5月22日
    00
  • CentOS 7下安装PostgreSQL 9.6的教程分享

    下面我将为您详细讲解“CentOS 7下安装PostgreSQL 9.6的教程分享”。 安装PostgreSQL 9.6的步骤 安装PostgreSQL 9.6及相关依赖包 执行以下命令,更新系统软件包: sudo yum update 执行以下命令,安装PostgreSQL 9.6及其相关依赖包: sudo yum install -y postgresq…

    database 2023年5月22日
    00
  • redis删除指定key的实现步骤

    Redis是一种高性能的键值对存储系统,删除指定key在实际中用得非常频繁。下面,我将详细讲解Redis删除指定key的实现步骤,希望能够帮助你更好地使用Redis。 步骤一:确定要删除的key 首先,确定需要删除的key。可以使用Redis的KEYS命令或SCAN命令来获取指定规则的key列表。 redis-cli> keys * 1) "…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部