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 ...
随机推荐
- 信号量 P V测试详解
信号量 当我们编写的程序使用了线程时,不管它是运行在多用户系统上,多进程系统上,还是运行在多用户多进程系统上,我们通常会发现,程序中存在着一部分临界代码,我们需要确保只有一个进程可以进入这个临界代码并 ...
- [PHP] PHP的脚本执行
PHP的脚本执行:PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译1.启动PHP及Zend引擎, 加载注册的扩展模块2.读取脚本文件,Zend引擎对脚本文件进行词法分析, ...
- block中self关键字的使用-防止self 被retain一次
在代码块中使用对象的成员时(成员变量是属性strong,MRC估计是retain时效果一样,使用方法时也一样): 警告: capturing self strongly in this block i ...
- 十一、信号量控制Semaphore
一.简介 有时候我们需要对一个资源的访问做线程数控制,以防雪崩等问题. JDK中,信号量可以处理这样的问题:Semaphore JDK文档:http://tool.oschina.net/upload ...
- 笔记本(华硕UL80VT)软件超频setFSB
Warning !!!If you are a beginner, do not use this software. This software is for power users only. U ...
- jenkins 参数化构建过程
构建项目时我们可能需要切换到另一个分支编译,或者说每次编译版本都要加1,这时候我们可以改配置或者改脚本文件,这显然不是一个好的方式,那么如何能在编译前让用户输入参数呢?jenkins早就为我们考虑好 ...
- sql:PostgreSQL9.3 Using RETURNS TABLE vs. OUT parameters
http://www.postgresonline.com/journal/archives/201-Using-RETURNS-TABLE-vs.-OUT-parameters.html http: ...
- BZOJ P1212 [HNOI2004] L语言
标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构成.一个单词W也是由若干小写字母构成.一个字典D是若干个单词的集合. 我 ...
- 【javascript】javascript设计模式之工厂模式
1.要解决的问题 2.如何实现 3.与构造函数的区别 4.总结 1.要解决的问题 工厂模式通常用于重复创建相似对象,提供动态创建对象的接口. 2.工厂模式最为设计模式中构造模式之一,通常在类或类的静态 ...
- 移动端H5开发 之 渲染引擎
渲染引擎 浏览器渲染引擎,负责解析 HTML, CSS,javascript的DOM部分,如桌面浏览器一般手机端也有4个比较重要的渲染引擎 Gecko,Trident,WebKit,Blink . 黑 ...