当前位置: 首页 > news >正文

Python进阶——使用python操作数据库!

Python进阶——使用python操作数据库

一、数据库编程接口
  • 为了对数据库进行统一操作,大多数语言都提供了简单的、标准的数据库接口
  • python database api 2.0中,定义了python数据库api接口的各个部分,如模块接口、连接对象、游标对象、类型对象和构造器、DB API的可选扩展以及可选的错误处理机制等。
1、连接对象
  • 获取连接对象

    实现方式:connect()
    //返回连接对象,这个对象表示目前和数据库的会话connect参数说明:dsn——数据源名称user——用户名password——密码host——主机名database——数据库名称
    //参数的使用依据具体情况而定
  • 连接对象的方法

    close()		//关闭数据库连接
    commit()	//提交事务
    rollback()	//回滚事务
    cursor()	//获取游标对象,操作数据库
2、游标对象
  • 游标对象代表数据库中的游标,用于指示抓取数据操作的上下文,主要提供执行sql语句,调用存储过程、获取查询结果等方法

    获取方法: cursor()游标对象的属性:description——数据库列 类型和值的描述信息,注释rowcount——回返结果的行数统计信息游标对象的方法说明:callproc()	//调用存储过程,需要数据库支持close()		//关闭当前游标execute()	//执行sql语句或书库命令executemany()	//批量操作fetchone()		//获取查询结果集中的下一条记录fetchmany()		//获取指定数量的记录fetchall()		//获取结果集的所有记录nextest()		//跳至下一个可用的结果集arraysize()		//指定使用fetchmany()获取的行数setinputsiuzes()	//设置在调用execute()方法时分配的内存区域的大小setoutputsize()		//设置列缓冲区大小
二、使用sqllite
  • sqLite——嵌入式数据库,它的数据库就是一个文件

  • sqlite将整个数据库,包括定义、表、索引以及数据本身,作为一个单独的、可跨平台使用的文件存储在主机中。

  • python内置了sqlite3

    import sqlite3conn=sqlite3.connect('jrj1.db')  #文件不存在,会自动在当前目录创建cursor=conn.cursor()    #创建一个游标#调用游标的方法cursor.execute('create table user(id int(10) primary key,name varchar(20))') #创建一个数据表#增
    cursor.execute('insert into user (id,name) values('1','python')')  #删
    cursor.execute('delete from user where id=1')#改
    cursor.execute('update user set name=? where id = ?',('python',1))  #使用?作为占位符代替具体数值,使用一个元组来替换?#查
    cursor.execute('select * from user')    #不需要提交,使用?作为占位符代替具体数值,使用一个元组来替换?
    result=cursor.fetchone()    #返回的result为一个元组
    print(result)               #(1,'python')cursor.close() #关闭游标conn.commit()   #提交事务,增删改必须提交事务conn.close()    #关闭数据库连接
三、使用mysql
1、下载及安装mysql
  • 使用navicat for mysql,桌面版mysql数据库管理和开发工具
2、下载及安装pymysql
3、连接数据库
import pymysqldb=pymysql.connect(host='xx.xx.xx.xx',port=9906,user='---',password='---'database='---',charset='utf8'
)#参数:主机名或ip,用户名,密码,数据库名称cursor=db.cursor()#查询
sql='select * from approve where id=315'#执行多条语句
sql="""
create table user(id int(10) primary key,name varchar(20)
);
"""
#使用insert语句插入时,使用%s作为占位符,可以防止sql注入
cursor.execute(sql)
result=cursor.fetchall()
print(result)	db.close()

关于Python技能储备!

如果你是准备学习Python或者正在学习(想通过Python兼职),下面这些你应该能用得上:
【点击这里】领取!
包括:激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便
****

在这里插入图片描述

在这里插入图片描述

以上就是本次分享的全部内容。我们下期见~

End


http://www.mrgr.cn/news/23686.html

相关文章:

  • 加密软件是什么?有哪些用处呢?
  • 机器学习 第10章 降维与度量学习
  • STM32学习笔记(二、初识stm32单片机)
  • 商标名称含有“坤沙”被驳回,因为这些原因!
  • 【PWN · tcache | UAF】[2024 · 长城杯] KyLinHeap
  • SSM四川省旅游推荐系统---附源码80178
  • 【docker】Docker容器文件操作指南:从查看到传输
  • 使用Python中的`zip()`函数
  • 【bat】如何用 .bat 打开带空格的文件夹
  • Xcode 16 RC (16A242) 发布下载,正式版下周公布
  • Xcode报错:Return from initializer without initializing all stored properties
  • 15.3 JDBC数据库编程2
  • ‘“node“‘ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
  • 第11章 32位x86处理器编程架构
  • Swift 中的函数:定义、使用与实践指南
  • firewalld中drop、reject、accept规则详解
  • LeetCode: 2552. 统计上升四元组 动态规划 时间复杂度O(n*n)
  • [N-152]基于java贪吃蛇游戏5
  • 继承QWidget样式表无效的
  • 全网最详细 2024年09月GESP CCF 编程能力等级认证 C++ 一级真题解析,快来~