iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >零基础学Python|Python高阶-使用Python操作数据库
  • 716
分享到

零基础学Python|Python高阶-使用Python操作数据库

数据库pythonpython连接mysqlpython数据库操作 2023-09-03 07:09:55 716人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

​ 作者主页:编程指南针 作者简介:Java、前端、python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享 收藏点赞不迷路 关

作者主页:编程指南针

作者简介:Java、前端python开发多年,做过高程,项目经理,架构

主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享

收藏点赞不迷路 关注作者有好处

文末获得源码

一,使用python操作数据库

数据库作为存储系统数据的主要工具,担负着数据持久化存储的重任,本次主要讲解如何使用Python连接操作sqlite和Mysql数据库。本部分需要具有一定的数据库基本知识,比如数据库的DML\DDL语句操作等,不再讲述数据库相关知识。

1.1 连接对象

数据库连接对象主要提供获取数据库游标对象和提交/回滚事务的方法,以及如何关闭数据库连接。

python中使用connect()函数来获得数据库连接对象。

语法:

connect(server=None,user=None,passWord=None,database=None,charset=None)

连接示例:

 import pymysql con = pymysql.connect(host='localhost',                       user='user',                       password='passwd',                       db='test',                       charset='utf8',                       cursorclass=pymysql.cursors.DictCursor)

connect()函数返回连接对象,它提供了一些方法用于操作事务和游标:

close():关闭数据库连接commit():提交事务rollback():回滚事务cursor():获取游标对象,操作数据库,执行DML操作,调用存储过程等

1.2 游标对象

游标对象(Cursor Object)代表数据库中的游标,用于指示抓取数据操作的上下文,主要提供执行SQL语句、调用存储过程、获取查询结果等方法。

通过cursor()方法来获得游标对象。游标对象有以下两个常用的属性:

* description:数据库列类型和值的描述信息* rowcount: 返回结果的行数统计信息,如SELECT,UPDATE,CALLPROC等

常用方法如下图所示:

在这里插入图片描述

1.3 SQLite 数据库

SQLite数据库是一种嵌入式数据库,它的数据库就一个文件。它本身是使用C语言编写的,体积小,所以经常被集成到各种应用程序中,Python就内置了SQLite3,所以在Python中使用SQLite,不需要安装任何模块,直接使用。

1 创建数据库文件

数据库操作的基本流程图如下图所示。

在这里插入图片描述

示例:

#操作SQLite数据库import sqlite3conn = sqlite3.connect("mysoft.db")  #如果不存会自动创建mysoft.dbcursor = conn.cursor()cursor.execute("create table user(id int(10) primary key,name varchar(20))")#关闭游标cursor.close()#关闭connectionconn.close()

idea中集成的有SQLite插件,可以直接双击打开创建的SQLite数据库。具体如下图所示:

在这里插入图片描述

2 数据操作

新增用户数据:

#操作SQLite数据库import sqlite3conn = sqlite3.connect("mysoft.db")  #如果不存会自动创建mysoft.dbcursor = conn.cursor()cursor.execute("insert into user(id,name) values('1','znz')")cursor.execute("insert into user(id,name) values('2','znz001')")cursor.execute("insert into user(id,name) values('3','znz002')")conn.commit()  #提交事务后数据才会进入数据库中#关闭游标cursor.close()#关闭connectionconn.close()

可在IDEA中的右侧显示SQLite处user表右键选择Run SQL Script来执行SQL查询:

select * from user

在这里插入图片描述
在这里插入图片描述

查询用户数据

提供的三种常方式来进行数据查询:

* fetchone(): 获得查询结果集中的下一条记录* fetchmany(size): 获取指定数量的记录* fetchall(): 获取结构集的所有记录

示例:

#操作SQLite 数据查询import sqlite3conn = sqlite3.connect("mysoft.db")  #如果不存会自动创建mysoft.dbcursor = conn.cursor()cursor.execute("select * from user")result = cursor.fetchone()  #取第一条数据后,指针停留在第二条print(result)result1 = cursor.fetchmany(2)  #取出剩下的两条print(result1)result2 = cursor.fetchall()   #再取就没有了print(result2)

输出结果:

(1, 'znz')[(2, 'znz001'), (3, 'znz002')][]

示例:

#操作SQLite 数据查询import sqlite3conn = sqlite3.connect("mysoft.db")  #如果不存会自动创建mysoft.dbcursor = conn.cursor()cursor.execute("select * from user")result2 = cursor.fetchall()print(result2)conn.commit()#关闭游标cursor.close()#关闭connectionconn.close()

输出结果:

[(1, 'znz'), (2, 'znz001'), (3, 'znz002')]

占位符传参:可以通过?来表示一个参数的占位,实现运行时动态传参

#操作SQLite 数据查询import sqlite3conn = sqlite3.connect("mysoft.db")  #如果不存会自动创建mysoft.dbcursor = conn.cursor()cursor.execute("select * from user where id>?",(1,))result2 = cursor.fetchall()print(result2)conn.commit()#关闭游标cursor.close()#关闭connectionconn.close()

输出结果:

[(2, 'znz001'), (3, 'znz002')]

修改用户的数据

示例:

#操作SQLite 数据修改import sqlite3conn = sqlite3.connect("mysoft.db")  #如果不存会自动创建mysoft.dbcursor = conn.cursor()cursor.execute("update user set name=? where id=?",('fxp',1,))conn.commit()cursor.execute("select * from user")result = cursor.fetchall()print(result)#关闭游标cursor.close()#关闭connectionconn.close()

删除用户数据

示例:

#操作SQLite 数据修改import sqlite3conn = sqlite3.connect("mysoft.db")  #如果不存会自动创建mysoft.dbcursor = conn.cursor()cursor.execute("delete from user where id=?",(1,))conn.commit()cursor.execute("select * from user")result = cursor.fetchall()print(result)#关闭游标cursor.close()#关闭connectionconn.close()

1.4 MYSQL数据库

本次使用MYSQL5.7版本数据库,安装参考演示视频:https://live.csdn.net/v/282244

python操作MYSQL数据库,需要支持Python的MySQL驱动来连接到MySQL服务器,我们常用PyMySQL模块来操作MYSQL数据库。需在线安装PyMySQL模块:

pip install PyMySQL

我们通过MYSQL的客户端工具Navicat来连接MYSQL服务器后,可以创建一个名为studentPython的数据库。

然后 就可以编写代码连接MYSQL进行相应操作了。

示例:

#操作MYSQL数据库import pymysql#此处传参最好是使用关键字参数,不同版本的connect传的不太一样conn = pymysql.connect(host="localhost",user="root",password="root",db="studentPython")cursor = conn.cursor()cursor.execute("select version()")result = cursor.fetchone()print("database version:%s" % result)#关闭游标cursor.close()#关闭connectionconn.close()

创建数据表

在数据库操作中,创建表,删除表这都属于DDL语句,也就是数据结构定义语句。

示例:

#操作MYSQL数据库  创建表import pymysqlconn = pymysql.connect(host="localhost",user="root",password="root",db="studentPython")cursor = conn.cursor()cursor.execute("DROP TABLE IF EXISTS books")#使用预处理语句创建表sql="""create table books(   id int(8) NOT NULL AUTO_INCREMENT,   name varchar(50) NOT NULL,   cateGory varchar(50) NOT NULL,   price decimal (10,2) DEFAULT NULL,   publish_time date DEFAULT NULL,   primary key(id))"""#执行SQL语句cursor.execute(sql)#关闭游标cursor.close()#关闭connectionconn.close()

操作MYSQL表

对表的增删改查操作和SQLite一样,下面举例演示使用 executemany()方法批量插入数据。

示例:

#操作MYSQL数据库  操作表import pymysqlconn = pymysql.connect(host="localhost",user="root",password="root",db="studentPython")cursor = conn.cursor()#数据列表data =[    ("零基础学Python","python",'79.80','2018-5-28'),    ("Python从入门到精通","python",'69.80','2018-5-28'),    ("零基础学PHP","php",'79.80','2018-5-28'),    ("零基础学Java","java",'59.80','2018-5-28'),]try:    cursor.executemany("insert into books(name,category,price,publish_time) values(%s,%s,%s,%s)",data)    #提交数据    conn.commit()except:    #发生错误时回滚    conn.rollback()#关闭游标cursor.close()#关闭connectionconn.close()

来源地址:https://blog.csdn.net/whirlwind526/article/details/132507624

--结束END--

本文标题: 零基础学Python|Python高阶-使用Python操作数据库

本文链接: https://www.lsjlt.com/news/391747.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 零基础学Python|Python高阶-使用Python操作数据库
    ​ 作者主页:编程指南针 作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享 收藏点赞不迷路 关...
    99+
    2023-09-03
    数据库 python python连接mysql python数据库操作
  • 零基础怎么学Python数据库
    本篇内容介绍了“零基础怎么学Python数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.数据库的分类关系数据库和非关系数据库1).什...
    99+
    2023-06-17
  • Python基础之操作MySQL数据库
    目录一、数据库操作1.1 安装PyMySQL1.2 连接数据库1.3 创建数据表1.4 插入,查询数据1.5 更新,查询数据1.6 删除,查询数据二、连接与游标对象的方法2.1 连接...
    99+
    2022-11-12
  • 【100天精通python】Day30:使用python操作数据库_数据库基础入门
     专栏导读  专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 数据库基础知识介绍 1.1 什么是数据库?         数据库是一个结构化存储...
    99+
    2023-09-01
    数据库 python
  • Python操作lxml库之基础使用篇
    目录一、lxml库概述1、lxml库介绍2、lxml库特点3、lxml库的安装二、基本使用1、lxml.etree2、解析HTML网页3、读取并解析HTML文件三、lxml使用流程1...
    99+
    2022-12-23
    python操作lxml库 python lxml库
  • 零基础学MySQL(四)-- 数据库最常用的操作【查询基础篇 -- 单表查询】
    目录 📔一、最简单的 select 语句1️⃣基本语法2️⃣基本练习3️⃣补充说明(1) 使用表达式对查询的列进行运算(2) 在 select 语句中可使用 as 语句取别名 📕...
    99+
    2023-08-21
    数据库 mysql sql
  • python学习之数据库操作
    一、数据库基本操作 数据库操作: 查看存储引擎: show engines; 查看数据库: show databases; 或者show crea...
    99+
    2022-10-18
  • Python数据库操作 ---- pymysql教学
    文章目录 前提准备连接数据库创建数据库创建数据表、插入数据查询数据更新数据删除数据实战应用总结 前提准备 安装mysql 在使用pymysql的前提就是又一个mysql数据库,这个数据库可以是本地数据库也可以是远程的数据...
    99+
    2023-08-18
    数据库 mysql sql
  • Python中的数学运算操作符使用进阶
    Python中对象的行为是由它的类型 (Type) 决定的。所谓类型就是支持某些特定的操作。数字对象在任何编程语言中都是基础元素,支持加、减、乘、除等数学操作。 Python的数字对象有整数和浮点数,支持各...
    99+
    2022-06-04
    进阶 数学 操作
  • Python操作mysql数据库(封装基
    新学Python,在这里分享操作mysql的全过程 1、安装MySQL-python-1.2.3.win-amd64-py2.7.exe,这是操作mysql数据库的python库,有32位和64位之分,看自机器下载 2、64位机器安装My...
    99+
    2023-01-31
    操作 数据库 Python
  • Python之Sqlite3数据库基本操作
    在一些小的应用中,难免会用到数据库,Sqlite数据库以其小巧轻便,无需安装,移植性好著称,本文主要以一个简单的小例子,简述Python在Sqlite数据库方面的应用,仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 sqlite3...
    99+
    2017-01-09
    Python之Sqlite3数据库基本操作 数据库入门 数据库基础教程 数据库 mysql
  • 零基础学Python,有哪些神操作让你1个月上手做项目?
    为什么你的Python学习效率如此之低?学了3个月还不会做项目做爬虫?零基础学Python的小白该如何学习Python?...
    99+
    2023-06-02
  • python数据库操作--数据库使用概述
    目录1. 数据库基础知识2. 访问数据库基本原理1.应用系统2.数据库驱动程序 3.数据库系统3. ODBC与ADO1.** ODBC**2.ADO4. 关系型数据库总结1. 数据库基础知识 数据库(DB...
    99+
    2022-06-02
    python 数据库使用
  • 使用Python对SQLite数据库操作
    SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在IOS和Android的APP中都可以集成。 Python内置了S...
    99+
    2022-06-04
    操作 数据库 Python
  • Python操作SQLite数据库的基本步骤
    本篇内容介绍了“Python操作SQLite数据库的基本步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.什么是SQLite数据库SQL...
    99+
    2023-06-02
  • 使用Python操作MySql数据库和MsSql数据库
    目录一、MySQL数据库模块的安装和连接1、 PyMySQL模块的安装2 、python连接数据库二、创建表操作三、操作数据1、插入操作2、 查询操作3、 更新操作4、 删除操作四、...
    99+
    2022-11-11
  • 使用Python怎么操作MySQL数据库
    本篇文章给大家分享的是有关使用Python怎么操作MySQL数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MySQL 建表建表的时候,遇到一些坑,没有解决,如修改 MyS...
    99+
    2023-06-14
  • Python操作使用MySQL数据库方法
    下面一起来了解下Python操作使用MySQL数据库方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望Python操作使用MySQL数据库方法这篇短内容是你想要的。一,安装mysql 如果是w...
    99+
    2022-10-18
  • 怎么使用Python操作Redis数据库
    本篇内容主要讲解“怎么使用Python操作Redis数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python操作Redis数据库”吧!介绍Redis是一个开源的基于内存也可持久化...
    99+
    2023-07-02
  • Python操作Access数据库基本步骤分析
    本文实例分析了Python操作Access数据库基本步骤。分享给大家供大家参考,具体如下: Python编程语言的出现,带给开发人员非常大的好处。我们可以利用这样一款功能强大的面向对象开源语言来轻松的实现许...
    99+
    2022-06-04
    步骤 操作 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作