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 ...
随机推荐
- MySQL---5、可视化工具Navicat for MySQL安装配置
一.安装文件包下载 Navicat for MySQL 安装软件和破解补丁: 链接:https://pan.baidu.com/s/1oKcErok_Ijm0CY9UjNMrnA 密码:4xb1 ...
- ASP.NET HttpWebRequest和HttpWebResponse
HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性. 模拟艺龙旅游网登录 想模拟登录,首先整理一下流程 1.通过360浏览器 ...
- JAVA注释方式
1.单行(single-line)注释 //…… 2.块(block)注释 /*……*/ 3.文档注释 /**……*/
- ChannelSftp.chmod方法赋权文件夹
最近对接分账工作需要上传分账文件到指定sftp服务器,在给sftp上文件夹赋权是遇到一个问题: 具体是ChannelSftp的chmod(int permissions, String path)方法 ...
- 在Pandas中直接加载MongoDB的数据
在使用Pandas进行数据处理的时候,我们通常从CSV或EXCEL中导入数据,但有的时候数据都存在数据库内,我们并没有现成的数据文件,这时候可以通过Pymongo这个库,从mongoDB中读取数据,然 ...
- RegExp使用技巧
正则表达式 //用法 1. /\d/g 2. new RegExp('/\d/','g') //修饰符 g,i,m //元字符 1.元字符是在正则表达式中有特殊含义的非字母字符 . * + ? $ ^ ...
- mysql中LOCATE和CASE WHEN...THEN...ELSE...END结合用法
之前项目中需要写一个sql,就是查出某个调研详情中,选A答案,B答案,C答案...F答案的人各有多少人,这个sql也是费了很大的力气才写出来,故记下来,方便以后使用. 其中tbl_research_i ...
- IEC62304软件维护框架
软件维护计划的任务 建立接收.记录.评估.解决和追踪医疗器械软件发行后的反馈 制定确认反馈是否是问题的标准 使用风险管理过程 使用配置管理过程 制定升级.补丁以及遗留问题修正计划 问题和修改分析的任务 ...
- 关于asp.net MVC3 ----@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:@Html.Partial 对应 @{Html.RenderPartia ...
- linux,强大的history命令
如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFORMAT ...