Python对数据库操作

yizhihongxing

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日

相关文章

  • Linux CentOS7安装Oracle11g的超完美新手教程

    Linux CentOS7安装Oracle11g的超完美新手教程 前置条件 在开始安装Oracle 11g之前,需要确保以下的前置条件已经满足: 安装Linux CentOS7操作系统 系统应该安装最新的补丁 使用root账户或者有sudo权限的账户运行脚本 安装必要的软件包,例如:binutils, compat-libcap1, compat-libst…

    database 2023年5月22日
    00
  • MySQL安装与创建用户操作(新手入门指南)

    MySQL安装与创建用户操作(新手入门指南) MySQL是一种常用的关系型数据库管理系统,是开源软件,用户可以免费获取和使用。MySQL具有高度可定制性,易于安装和使用,支持多种语言和操作系统。在本篇文章中,我们将介绍如何在Windows系统下安装和配置MySQL,并创建和授权新用户。 步骤一:MySQL的安装 1.1. 下载MySQL安装程序 首先,在My…

    database 2023年5月22日
    00
  • Mysql数据库乱码问题的对应方式

    关于Mysql数据库乱码问题的对应方式,一般有以下几种: 1. 设置字符编码 在建表时必须指定字符编码。一般情况下,使用utf8或utf8mb4编码能够解决绝大部分的乱码问题。 比如我们要新建一个数据库testdb,并在其中创建一张表testtable: CREATE DATABASE testdb DEFAULT CHARACTER SET utf8mb4…

    database 2023年5月22日
    00
  • DBeaver操作所有数据库管理工具使用详解

    DBeaver操作所有数据库管理工具使用详解 DBeaver是一款开源的多平台数据库管理工具,可以通过它连接多种数据库,包括MySQL、Oracle、SQL Server等。下面是DBeaver的使用详解。 下载DBeaver DBeaver可以在官网 https://dbeaver.io/download/ 上下载,有Windows、macOS和Linux…

    database 2023年5月21日
    00
  • 一文深入解析JDBC超时机制

    当我们使用JDBC进行数据库操作时,有时候需要进行超时操作,即当数据库操作时间超过一定时间时,自动终止该操作。这就需要使用JDBC超时机制来实现。 JDBC超时机制的原理 JDBC超时机制是通过使用JDBC的Statement或者PreparedStatement的setQueryTimeout方法来实现的。当我们调用该方法并设置超时时间时,JDBC就会自动…

    database 2023年5月22日
    00
  • mysql中的limit用法有哪些(推荐)

    MySQL中的LIMIT语句是用来限定查询结果返回的行数的。在使用SELECT语句查询数据时,可以使用LIMIT语句进行结果集的分页显示,也可以用于查询前N条或是查询某一区间内的记录。 基础用法 LIMIT语句后面可以跟两个参数:偏移量offset和获取的记录数count。offset表示从查询结果的第几行开始返回数据,count表示需要返回多少行数据。 语…

    database 2023年5月22日
    00
  • SQL中的游标、异常处理、存储函数及总结(最新推荐)

    SQL中的游标、异常处理、存储函数及总结 一、游标 游标是一种能够遍历数据库结果集中每一行数据的机制。在处理大量数据的时候,使用游标可以有效提高程序效率。 1.1 定义游标 使用DECLARE语句定义游标,格式如下: DECLARE cursor_name CURSOR FOR SELECT column1, column2, … FROM table_…

    database 2023年5月22日
    00
  • Linux 环境搭建推荐教程(php运行环境)

    Linux 环境搭建推荐教程(php运行环境) 在Linux系统下搭建PHP运行环境有很多种方法,下面给出一种推荐的方法。 安装LAMP LAMP是指Linux、Apache、MySQL和PHP,是目前最受欢迎的Web服务器软件组合,我们要安装的是LAMP中的最后一项,这里的教程基于Ubuntu系统。在终端中输入以下命令进行安装: sudo apt-get …

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