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操作数据库的更多相关文章

  1. Java-jdbc操作数据库

    如果需要访问数据库,首先要加载数据库驱动,数据库驱动只需在第一次访问数据库时加载一次.然后在每次访问数据库时创建一个Connection实例,获取数据连接,这样就可以执行操作数据库的SQL语句.最后在 ...

  2. python高级之操作数据库

    python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及安装 在python2中连接数据库 ...

  3. greenDao:操作数据库的开源框架

    greenDAO: Android ORM for your SQLite database 1. greenDao库获取 英文标题借鉴的是greendrobot官网介绍greenDao时给出的Tit ...

  4. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

  5. greendao操作数据库的使用方法

    第一步:把greendao-1.3.0-beta-1,greendao-generator-1.3.1两个jar包加载到工程的lib的文件夹中,一定要右键点击Add As Library后才能使用. ...

  6. pymysql 操作数据库

    一.简介 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同,但目前pymysql支持python3.x而后者不支持3.x版本 其执行语句与sql源码相似 二.使用 ...

  7. Asp.Net MVC 自定义的MVC框架(非EF操作数据库)

    一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...

  8. 一次莽撞的行为:在phpmyadmin中修改MySQL root密码后无法操作数据库

    一.手贱行为(✿◡‿◡) 在一次开发中通过xampp方式安装了PHP环境,需要操作数据库时通过phpmyadmin访问MySQL,在一次数据库操作时想起没有设置密码,于是直接在mysql数据库中的us ...

  9. python操作数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

随机推荐

  1. JMX 远程监控 Linux tomcat 功能实现

    作者远程服务器操作系统 CentOS 7.0, tomcat 版本 7.0 1. Linux tomcat 配置 1.1 catalina_opt 配置 可以在 catalina.sh 文件中添加如下 ...

  2. 文件上传(Servlet/Struts2/SpringMVC)

    文件下载(Servlet/Struts2)的链接:http://www.cnblogs.com/ghq120/p/8328093.html 文件上传 Servlet实现 要实现文件上传的功能,必须在f ...

  3. DOM基础操作(二)

    插入操作 1.appendChild(child); 这个是父级调用的方法,它会将child元素插入到父级里面,而且是放到逻辑后面的位置上.   div.appendChild(comment);   ...

  4. grunt-contrib-watch 监控 JS 文件改变来运行预定义的Tasks

    依赖于 GruntJs ~0.4.0 监控 JS 文件改变来运行预定义的Tasks Demo: watch: { scripts: { files: ['src/**/*.js'], tasks: [ ...

  5. javascript实现深克隆的几种方法

    1)普通函数实现 function cloneObject(obj) { if (obj === null || typeof obj !== 'object') { return obj; } va ...

  6. 【转载】MySQL数据库可以用任意ip连接访问的方法

    通过CMD命令行修改数据库表的一个字段的值,实现连接,访问. 第一步.找到MYSQL软件安装所在的bin目录: (1)cd\当前目录 (2)指定MYSQL安装的bin目录 (3)输入 -h local ...

  7. 用CSS3/JS绘制自己想要的按钮

    我认为按钮的绘制分以下三个步骤 第一步,绘制按钮的轮廓 选择合适的html标签,设置轮廓的CSS /* html代码 */ <a href="#" class="b ...

  8. 纯css 画气泡

    我们知道运用css可以绘画出各式各样的形状:三角形,圆形,正方形,椭圆形,平行四边形等等,而通过他们之间进行两两组合可以变换出各种意想不到的效果图,气泡框就是其中一个.最简单的气泡框就是一个矩形框+一 ...

  9. Spring Data MongoDB 模糊查询

    Pattern pattern = Pattern.compile("^.*" + value + ".*$"); Query query = new Quer ...

  10. Oracle 计算两个日期间隔的天数、月数和年数

    在Oracle中计算两个日期间隔的天数.月数和年数: 一.天数: 在Oracle中,两个日期直接相减,便可以得到天数: select to_date('08/06/2015','mm/dd/yyyy' ...