全栈工程师开发手册 (作者:陈玓玏)

python教程全解

调试环境python3.6,调试python操作mysql数据库,首先要在本地或服务器安装mysql数据库。安装参考:http://blog.csdn.net/luanpeng825485697/article/details/77816790。

在python2.7下,我们使用MySQLdb库点击下载

在python3.6下我们使用pymysql库点击下载

安装python库的方法,请查看Python库的安装与卸载

安装成功后就可以编程代码实现python对mysql数据库的操作了

python3.6下代码如下

#coding:utf-8
#python3.6使用pymysql操作mysql
print("=====================mysql数据库=====================")import pymysql.cursors# 连接数据库
connect = pymysql.Connect(host='127.0.0.1',port=3306,user='root',passwd='19910101a',db='note',charset='utf8'
)# 获取游标
cursor = connect.cursor()#删除表
sql = 'DROP TABLE IF EXISTS student'
cursor.execute(sql)
connect.commit()
print('如果存在表就删除表格')#创建表格
sql = "CREATE TABLE student(id INTEGER PRIMARY KEY,name TEXT)"
try:cursor.execute(sql)connect.commit()
except:print("表已存在")
print('成功创建表格')# 插入数据
sql = "INSERT INTO student VALUES(%d,'%s')"
data = (1, 'student1')
cursor.execute(sql % data)
connect.commit()
print('成功插入', cursor.rowcount, '条数据')# 查询数据方法2,注意这种方式会自动帮你添加引号
sql = "INSERT INTO student VALUES(%s,%s)"
data = (1, 'student1')
cursor.execute(sql, data)
connect.commit()
print('成功插入', cursor.rowcount, '条数据')# 修改数据
sql = "UPDATE student SET name = '%s' WHERE id = %d "
data = ('student2', 1)
cursor.execute(sql % data)
connect.commit()
print('成功修改', cursor.rowcount, '条数据')# 查询数据
sql = "SELECT * FROM student WHERE id=%d"
data = (1,)
cursor.execute(sql % data)
for row in cursor.fetchall():print("%s" % str(row))
print('共查找出', cursor.rowcount, '条数据')# 删除数据
sql = "DELETE FROM student WHERE id = %d LIMIT %d"
data = (1, 1)
cursor.execute(sql % data)
connect.commit()
print('成功删除', cursor.rowcount, '条数据')# 事务处理
sql_1 = "UPDATE student SET name = name + '1' WHERE id = 1 "try:cursor.execute(sql_1)
except Exception as e:connect.rollback()  # 事务回滚print('事务处理失败', e)
else:connect.commit()  # 事务提交print('事务处理成功', cursor.rowcount)# 关闭连接
cursor.close()
connect.close()#pymysql.Connect()参数说明
#host(str):      MySQL服务器地址
#port(int):      MySQL服务器端口号
#user(str):      用户名
#passwd(str):    密码
#db(str):        数据库名称
#charset(str):   连接编码
#
#connection对象支持的方法
#cursor()        使用该连接创建并返回游标
#commit()        提交当前事务
#rollback()      回滚当前事务
#close()         关闭连接
#
#cursor对象支持的方法
#execute(op)     执行一个数据库的查询命令
#fetchone()      取得结果集的下一行
#fetchmany(size) 获取结果集的下几行
#fetchall()      获取结果集中的所有行
#rowcount()      返回数据条数或影响行数
#close()         关闭游标对象

python2.7下代码如下

如果连接失败会报错。

#coding:utf-8
#python2.7使用MySQLdb操作mysql
import MySQLdb
print("=====================mysql数据库=====================")getRC = lambda cur: cur.rowcount if hasattr(cur, 'rowcount') else -1                    #获取游标所指向是数据的行数HOST = "127.0.0.1"  #数据库主机
USER = 'root'  #用户名
PASSWORD = '111111'  #密码
DBNAME = 'note'  #数据名称
try:conn = MySQLdb.connect(HOST,USER,PASSWORD,DBNAME)                   #连接mysql数据库,参数:主机号、用户名、密码、数据库curs=conn.cursor()                                                                 # 获取游标curs.execute('CREATE TABLE student(id INTEGER PRIMARY KEY,name TEXT)')             # 执行代码,创建表和字段curs.execute("INSERT INTO student VALUES(1,'student1')");                           # 添加记录 curs.execute("INSERT INTO student VALUES(%d, '%s')" % (2, 'student2'))                #添加记录conn.commit()                                                                     # 每次执行完后都应该保存
except Exception:print("数据表和记录已经添加")
finally:curs.execute("UPDATE student SET name='student3' WHERE id=2")            #更新记录curs.execute("SELECT * FROM student")                                # 查询记录for row in curs.fetchall():print(row[0],row[1])curs.execute('DELETE FROM student WHERE id=%d' % 1)                                 #删除记录curs.execute('DROP TABLE student')                                                  #删除表curs.close()                                                                       #关闭游标conn.close()                                                                       #关闭连接

python数据存储系列教程——python中mysql数据库操作:连接、增删查改、指令执行相关推荐

  1. python数据存储系列教程——python中redis数据库操作:连接、增删查改、多级路径

    全栈工程师开发手册 (作者:陈玓玏) python教程全解 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品 ...

  2. python数据存储系列教程——python对象与json字符串的相互转化,json文件的存储与读取

    全栈工程师开发手册 (作者:栾鹏) python教程全解 在json字符串和python对象的相互转化中,会进行下列变换. 会将python中字典的写法,转化为js中对象的写法.(没有区别). 会将p ...

  3. python数据存储系列教程——python中mongodb数据库操作:连接、增删查改、多级路径

    全栈工程师开发手册 (作者:陈玓玏) python教程全解 调试环境python3.6,调试python操作mongodb数据库,首先要在本地或服务器安装mongodb数据库.安装参考:http:// ...

  4. python数据存储系列教程——python(pandas)读写csv文件

    全栈工程师开发手册 (作者:栾鹏) python教程全解 CSV文件的规范 1.使用回车换行(两个字符)作为行分隔符,最后一行数据可以没有这两个字符.2.标题行是否需要,要双方显示约定3.每行记录的字 ...

  5. python数据存储系列教程——python操作sqlite数据库:连接、增删查改、指令执行

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python操作sqlite数据库 sqlite数据库以.db格式的文件形式存在,所以不需要安装驱动和应用系统,在标准库中也集成了sqlite ...

  6. python数据存储系列教程——xls文件的读写、追加(xlwt、xlwt、xlutils)

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python将数据存储到excel文件.本文不通过与操作excel办公软件而是偏向于excel文件的处理.如果你需要通过python控制exc ...

  7. mysql scrapy 重复数据_scrapy关于将数据保存进mysql数据库及问题解决(增删查改)

    importpymysqlfrom scrapy.utils.project import get_project_settings#引入settings配置 classDBHelper():def ...

  8. Python数据分析学习系列 十三 Python建模库介绍

    Python数据分析学习系列 十三 Python建模库介绍 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下载 ...

  9. mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改

    ## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...

最新文章

  1. ZooKeeper简单使用
  2. DailyTick 开发实录 —— UI 设计
  3. win10安装程序无法将配置为在此计算机,Win10安装会遇到的问题汇总及解决方法...
  4. mycheckpoint
  5. 漫谈linux文件IO
  6. jquery基本操作笔记
  7. 计算机过滤器的作用,14种功能强大的Wireshark过滤器介绍
  8. 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)...
  9. java 夏令时 容器 问题,Java夏令时有关问题
  10. Java 实现享元(Flyweight)模式
  11. 你碰到过的最难调的 Bug 是什么?
  12. 详解音视频中的DRM数字版权技术
  13. HTML5官方文档学习笔记(四)----新的语义元素
  14. office产品密钥如何找回
  15. 服务器引导盘装系统怎么选择u盘,小编教你怎么设置u盘为启动盘
  16. iis 支持apk json ipa下载
  17. 电脑文件怎么加密?第一种方法最简单
  18. 流文件和媒体文件的不一样( flv和mp4,avi的区别)
  19. 辉芒微FT61F023,FT61F011A
  20. python ocr中文训练_cnocr: cnocr是用来做中文OCR的Python 3包。cnocr自带了训练好的识别模型,安装后即可直接使用...

热门文章

  1. 微信小程序之语音识别(附小程序+服务器源码)
  2. 语音识别在生活中的七个经典应用
  3. java标识符_Java标识符的简单介绍
  4. 最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)
  5. H.264简单码流分析
  6. 安卓手机上跑_直接在电脑上浏览操作安卓手机 #效率App #scrcpy
  7. mysql oltp_oltp数据库mysql
  8. mysql主从错误1007_mysql主从错误:1032
  9. Springboot项目启动的三种方式
  10. Springboot接收ajax提交JSON数组