Pymyaql操作数据库
Pymyaql操作数据库
Python3中专门用于操作Mysql数据库的模块。
一、 导入模块
import pymysql
二、 创建连接
conn=pymysql.connect(host=’127.0.0.1’,port=3306,user=’root’,passwd=’root’,db=’数据库名’,charset=’utf8’)
三、创建游标
cursor=conn.cursor()
三、 执行SQL语句
1、执行固定的sql语句
cursor.execute(‘要执行的SQL语句’)
2、执行可变的sql语句
(1)增
A.字符串拼接可以执行(会产生SQL注入的风险)
Inp=input(‘请输入内容’)
Sql=‘insert into 表名(列名) values (“%s”)’
Sql=Sql % (Inp,)
cursor.execute(Sql)
B、参数传递(推荐使用)
Inp=input (‘请输入内容:’)
cursor.execute(‘ insert into 表名(列名)values(%s)’,Inp)
插入多个值:
cursor.execute(‘insert into 表名(列名,列名) values(%s,%s),(‘值1’,‘值2’)
l=[(‘值1’,’值2’),(‘值3’,’值4’)]
cursor.executemany(‘insert into 表名(列名,列名)values(%s,%s)’,l)
(2)删
cursor.execute('delete from test1 WHERE id=%s',5) #删除表test1中id为5的数据行
(3)改
cursor.execute('update test1 set age=%s WHERE sss=%s',(18,‘aaa’)) #更新test1表中sss列中aaa对应的age列的值为18。
(4)査
<a>fetch法
result=cursor.fetchall() #取出表中所有数据
print (result) #将表中数据以元组的形式打印出来
result=cursor.fetchone() #取出表中第一条数据
print (result) #将表中第一条数据以元组的形式打印出来
result=cursor.fetchmany(3) #取出表中前3条数据
print (result) #将表中前3条数据以元组的形式打印出来
注:使用fetch的方法取数据时,游标会依次向下移动,即:
result=cursor.fetchone() #取出表中第一条数据
print (result) #将表中第一条数据以元组的形式打印出
result=cursor.fetchone() #取出表中第二条数据
print (result) #将表中第二条数据以元组的形式打印出
此时,可以使用scroll的方法移动游标。cursor.scroll(0,mode=’absolute’) #游标返回原点(绝对模式)
cursor.scroll(-2,mode=’relative’) #游标向上移动2个(相对模式)
<b>将表中数据以字典的形式返回:
创建游标:cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
取数据:cursor.execute(‘select * from 表名’)
print (cursor.fetchall())
如果只取个别列的数据,只需将*改成对应列的列名即可。
<c>取出刚插入数据行的自增列的对应数据:
cursor.execute(‘insert into 表名(列名)values(%s)’,(‘值’))
conn.commit()
print (cursor.lastrowid) #刚插入数据行的自增列的数字
四、 提交事务
在创建了要执行的SQL语句后,并不会立即执行,而是需要提交事务,否则创建无效。
conn.commit()
五、 关闭游标
cursor.close( )
六、 关闭连接
conn.close( )
Pymyaql操作数据库的更多相关文章
- Java-jdbc操作数据库
如果需要访问数据库,首先要加载数据库驱动,数据库驱动只需在第一次访问数据库时加载一次.然后在每次访问数据库时创建一个Connection实例,获取数据连接,这样就可以执行操作数据库的SQL语句.最后在 ...
- python高级之操作数据库
python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及安装 在python2中连接数据库 ...
- greenDao:操作数据库的开源框架
greenDAO: Android ORM for your SQLite database 1. greenDao库获取 英文标题借鉴的是greendrobot官网介绍greenDao时给出的Tit ...
- 总结一些关于操作数据库是sql语句还是存储过程问题
总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...
- greendao操作数据库的使用方法
第一步:把greendao-1.3.0-beta-1,greendao-generator-1.3.1两个jar包加载到工程的lib的文件夹中,一定要右键点击Add As Library后才能使用. ...
- pymysql 操作数据库
一.简介 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同,但目前pymysql支持python3.x而后者不支持3.x版本 其执行语句与sql源码相似 二.使用 ...
- Asp.Net MVC 自定义的MVC框架(非EF操作数据库)
一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...
- 一次莽撞的行为:在phpmyadmin中修改MySQL root密码后无法操作数据库
一.手贱行为(✿◡‿◡) 在一次开发中通过xampp方式安装了PHP环境,需要操作数据库时通过phpmyadmin访问MySQL,在一次数据库操作时想起没有设置密码,于是直接在mysql数据库中的us ...
- python操作数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
随机推荐
- mvc手把手教你写excel导入[mvc+三层,没用EF]
实习狗的每天新知识日常 准备工作: 1.在项目中添加对NPOI的引用,NPOI下载地址:http://npoi.codeplex.com/releases/view/38113 2.NPOI学习系列教 ...
- jsp技术知识点
1.jsp被Tomcat翻译成.java文件后,会被放在Tomcat安装目录下的\work\Catalina\localhost\station\org\apache\jsp文件夹下 2.El表达式表 ...
- 解决MyEclipse代码编辑器中汉字太小的问题
1.问题描述: 新安装的myeclipse 2014,代码编辑器中汉字很小看不清,如下图所示: 2.解决办法: 调整字体即可.通过菜单Windows——Preferences,输入font过滤选择Co ...
- UOJ46. 【清华集训2014】玄学
传送门 Sol 考虑对于操作时间建立线段树,二进制分组 那么现在主要的问题就是怎么合并信息 你发现一个性质,就是每个修改只会在整个区间内增加两个端点 那么我们二进制分组可以得到每个区间内最多只有区间长 ...
- JS 变量 命名规范 oDiv aDiv 等
l命名规范及必要性 l可读性--能看懂 l规范性--符合规则 l匈牙利命名法 l类型前缀 类型 前缀 类型 实例 数组 a Array aItems 布尔值 b Boolean bIsComplete ...
- 浏览器根对象window之窗体和工具条
1. 窗体和工具条 1.1 窗体 frames.self.window.parent.top.opener. frames 数组类型,页面中iframe的引用,如果页面有2个iframe,则frame ...
- 微服务架构之spring cloud gateway
Spring Cloud Gateway是spring cloud中起着非常重要的作用,是终端调用服务的入口,同时也是项目中每个服务对外暴露的统一口径,我们可以在网关中实现路径映射.权限验证.负载均衡 ...
- win7 远程连接服务器出现身份验证错误,且找不到加密Oracle修正
用远程桌面连接登录服务器,结果,弹出一个错误的提示框:发生身份验证错误,要求的函数不受支持. 然后在网上找了相关的教程,基本上所有的方法都是如下所示: 策略路径:"计算机配置"-& ...
- [翻译] WZFlashButton
WZFlashButton This is a custom button with flash-like effect. Inspired by Ripple Effect. 这是一个自定义的按钮, ...
- 在 Windows 容器中使用 gMSA
前不久给公司搭测试环境,其中涉及到了某组件在容器中使用 kerberos 身份验证连接 SQL Server 数据库的问题. Windows 容器本身并不能加入域,但可以通过 gMSA 运行容器使容器 ...