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日

相关文章

  • [日常] Redis中set集合的使用思考

    公司部门同事有个需求,就是需要把当前另一个部门a中存储的数据全部导出来,自己当前业务b的数据全部导出来,两个要取一下差集,把a中存在,b中不存在的记下来,要去调用某接口把对应的文件删除。这个我感觉可以使用redis的集合来进行操作,但是考虑到数据量特别大,文件有200G,内存估计不够用,暂时还不知道咋整。 redis中集合的操作方法sADD 添加一个或多个成…

    Redis 2023年4月11日
    00
  • linux安装jdk并设置环境变量的方法教程(看这一篇够了)

    下面是“linux安装jdk并设置环境变量的方法教程”的完整攻略,包含如何下载、安装JDK以及如何设置环境变量的步骤。 下载JDK 首先,打开JDK下载页面:https://www.oracle.com/java/technologies/javase-downloads.html。 在此页面中,选择要下载的JDK版本。注意区分不同的操作系统,下载相应的版本…

    database 2023年5月22日
    00
  • Redis分布式锁的python实现

    #!/usr/bin/env python # coding=utf-8 import time import redis class RedisLock(object): def __init__(self, key): self.rdcon = redis.Redis(host=”, port=6379, password=””, db=1) self…

    Redis 2023年4月11日
    00
  • sqlserver2005自动创建数据表和自动添加某个字段索引

    对于SQL Server 2005自动创建数据表和自动添加某个字段索引,我们需要注意以下三个方面: 数据库设计 建表语句 添加索引 接下来我会分别对这三个方面进行详细讲解。 1. 数据库设计 在设计数据库时,需要合理规划表之间的关系和字段的类型及长度。此外,还需要考虑字段是否需要添加索引。 例如,我们设计一个学生成绩管理系统,其中有学生表和成绩表,它们的关系…

    database 2023年5月21日
    00
  • 用MySQL创建数据库和数据库表代码

    以下是用MySQL创建数据库和数据库表代码的完整攻略: 创建数据库 登录MySQL数据库。在终端中输入命令:mysql -u username -p,其中username为你的用户名,按回车后输入对应的密码。 创建数据库。在终端中输入命令:CREATE DATABASE database_name;,其中database_name为你想要创建的数据库名称。 …

    database 2023年5月22日
    00
  • JSP简明教程

    下面就是“JSP简明教程”的完整攻略。 JSP简介 JSP(JavaServer Pages)是一种动态网页技术,它允许我们将 Java 代码嵌入到 HTML 页面中。使用 JSP,我们可以创建包含动态内容的 Web 页面。JSP 文件的扩展名通常是 .jsp。 JSP基础语法 JSP 页面由 HTML 和 Java 代码组成。JSP 中的 Java 代码通…

    database 2023年5月22日
    00
  • mysql解决时区相关问题

    MySQL 是一种在许多网站和应用程序中广泛使用的关系型数据库管理系统,与时区相关的问题往往会在应用程序中出现,并且可能会影响到数据库中的时间戳。在 MySQL 中解决时区相关问题的完整攻略如下: 设置 MySQL 服务器的时区 首先,需要设置 MySQL 服务器的时区以确保服务器和数据库中的时区一致。可以使用以下命令: SET time_zone = ‘A…

    database 2023年5月22日
    00
  • Oracle中PL/SQL中if语句的写法介绍

    下面是详细讲解 Oracle 中 PL/SQL 中 if 语句的写法介绍的攻略。 1. if 语句的概述 if 语句一般用于在程序中根据某些条件是否成立来执行相应的代码块,其语法如下: if [condition1] then –执行语句块1 elsif [condition2] then –执行语句块2 else –执行语句块3 end if; 其中…

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