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