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

张裕  金牌会员 | 2024-11-10 10:17:53 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 562|帖子 562|积分 1686

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

一、数据库编程接口



  • 为了对数据库举行同一操作,大多数语言都提供了简单的、标准的数据库接口
  • python database api 2.0中,界说了python数据库api接口的各个部分,如模块接口、毗连对象、游标对象、范例对象和构造器、DB API的可选扩展以及可选的错误处理机制等。
1、毗连对象



  • 获取毗连对象
    1. 实现方式:connect()
    2. //返回连接对象,这个对象表示目前和数据库的会话
    3. connect参数说明:
    4.         dsn——数据源名称
    5.         user——用户名
    6.         password——密码
    7.         host——主机名
    8.         database——数据库名称
    9. //参数的使用依据具体情况而定
    复制代码
  • 毗连对象的方法
    1. close()                //关闭数据库连接
    2. commit()        //提交事务
    3. rollback()        //回滚事务
    4. cursor()        //获取游标对象,操作数据库
    复制代码
2、游标对象



  • 游标对象代表数据库中的游标,用于指示抓取数据操作的上下文,主要提供实行sql语句,调用存储过程、获取查询效果等方法
    1. 获取方法: cursor()
    2. 游标对象的属性:
    3.         description——数据库列 类型和值的描述信息,注释
    4.         rowcount——回返结果的行数统计信息
    5.        
    6. 游标对象的方法说明:
    7.         callproc()        //调用存储过程,需要数据库支持
    8.         close()                //关闭当前游标
    9.         execute()        //执行sql语句或书库命令
    10.         executemany()        //批量操作
    11.         fetchone()                //获取查询结果集中的下一条记录
    12.         fetchmany()                //获取指定数量的记录
    13.         fetchall()                //获取结果集的所有记录
    14.         nextest()                //跳至下一个可用的结果集
    15.         arraysize()                //指定使用fetchmany()获取的行数
    16.         setinputsiuzes()        //设置在调用execute()方法时分配的内存区域的大小
    17.         setoutputsize()                //设置列缓冲区大小
    复制代码
二、使用sqllite



  • sqLite——嵌入式数据库,它的数据库就是一个文件
  • sqlite将整个数据库,包罗界说、表、索引以及数据本身,作为一个单独的、可跨平台使用的文件存储在主机中。
  • python内置了sqlite3
    1. import sqlite3
    2. conn=sqlite3.connect('jrj1.db')  #文件不存在,会自动在当前目录创建
    3. cursor=conn.cursor()    #创建一个游标
    4. #调用游标的方法
    5. cursor.execute('create table user(id int(10) primary key,name varchar(20))') #创建一个数据表
    6. #增
    7. cursor.execute('insert into user (id,name) values('1','python')')  
    8. #删
    9. cursor.execute('delete from user where id=1')
    10. #改
    11. cursor.execute('update user set name=? where id = ?',('python',1))  #使用?作为占位符代替具体数值,使用一个元组来替换?
    12. #查
    13. cursor.execute('select * from user')    #不需要提交,使用?作为占位符代替具体数值,使用一个元组来替换?
    14. result=cursor.fetchone()    #返回的result为一个元组
    15. print(result)               #(1,'python')
    16. cursor.close() #关闭游标
    17. conn.commit()   #提交事务,增删改必须提交事务
    18. conn.close()    #关闭数据库连接
    复制代码
三、使用mysql

1、下载及安装mysql



  • 使用navicat for mysql,桌面版mysql数据库管理和开辟工具
2、下载及安装pymysql

3、毗连数据库

  1. import pymysql
  2. db=pymysql.connect(
  3.     host='xx.xx.xx.xx',
  4.     port=9906,
  5.     user='---',
  6.     password='---'
  7.     database='---',
  8.     charset='utf8'
  9. )
  10. #参数:主机名或ip,用户名,密码,数据库名称
  11. cursor=db.cursor()
  12. #查询
  13. sql='select * from approve where id=315'
  14. #执行多条语句
  15. sql="""
  16. create table user(
  17.     id int(10) primary key,
  18.     name varchar(20)
  19. );
  20. """
  21. #使用insert语句插入时,使用%s作为占位符,可以防止sql注入
  22. cursor.execute(sql)
  23. result=cursor.fetchall()
  24. print(result)       
  25. db.close()
复制代码
关于Python技能储备!

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


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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表