python数据存储系列教程——python中mysql数据库操作:连接、增删查改、指令执行
全栈工程师开发手册 (作者:陈玓玏)
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数据库操作:连接、增删查改、指令执行相关推荐
- python数据存储系列教程——python中redis数据库操作:连接、增删查改、多级路径
全栈工程师开发手册 (作者:陈玓玏) python教程全解 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品 ...
- python数据存储系列教程——python对象与json字符串的相互转化,json文件的存储与读取
全栈工程师开发手册 (作者:栾鹏) python教程全解 在json字符串和python对象的相互转化中,会进行下列变换. 会将python中字典的写法,转化为js中对象的写法.(没有区别). 会将p ...
- python数据存储系列教程——python中mongodb数据库操作:连接、增删查改、多级路径
全栈工程师开发手册 (作者:陈玓玏) python教程全解 调试环境python3.6,调试python操作mongodb数据库,首先要在本地或服务器安装mongodb数据库.安装参考:http:// ...
- python数据存储系列教程——python(pandas)读写csv文件
全栈工程师开发手册 (作者:栾鹏) python教程全解 CSV文件的规范 1.使用回车换行(两个字符)作为行分隔符,最后一行数据可以没有这两个字符.2.标题行是否需要,要双方显示约定3.每行记录的字 ...
- python数据存储系列教程——python操作sqlite数据库:连接、增删查改、指令执行
全栈工程师开发手册 (作者:栾鹏) python教程全解 python操作sqlite数据库 sqlite数据库以.db格式的文件形式存在,所以不需要安装驱动和应用系统,在标准库中也集成了sqlite ...
- python数据存储系列教程——xls文件的读写、追加(xlwt、xlwt、xlutils)
全栈工程师开发手册 (作者:栾鹏) python教程全解 python将数据存储到excel文件.本文不通过与操作excel办公软件而是偏向于excel文件的处理.如果你需要通过python控制exc ...
- mysql scrapy 重复数据_scrapy关于将数据保存进mysql数据库及问题解决(增删查改)
importpymysqlfrom scrapy.utils.project import get_project_settings#引入settings配置 classDBHelper():def ...
- Python数据分析学习系列 十三 Python建模库介绍
Python数据分析学习系列 十三 Python建模库介绍 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下载 ...
- mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改
## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...
最新文章
- ZooKeeper简单使用
- DailyTick 开发实录 —— UI 设计
- win10安装程序无法将配置为在此计算机,Win10安装会遇到的问题汇总及解决方法...
- mycheckpoint
- 漫谈linux文件IO
- jquery基本操作笔记
- 计算机过滤器的作用,14种功能强大的Wireshark过滤器介绍
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)...
- java 夏令时 容器 问题,Java夏令时有关问题
- Java 实现享元(Flyweight)模式
- 你碰到过的最难调的 Bug 是什么?
- 详解音视频中的DRM数字版权技术
- HTML5官方文档学习笔记(四)----新的语义元素
- office产品密钥如何找回
- 服务器引导盘装系统怎么选择u盘,小编教你怎么设置u盘为启动盘
- iis 支持apk json ipa下载
- 电脑文件怎么加密?第一种方法最简单
- 流文件和媒体文件的不一样( flv和mp4,avi的区别)
- 辉芒微FT61F023,FT61F011A
- python ocr中文训练_cnocr: cnocr是用来做中文OCR的Python 3包。cnocr自带了训练好的识别模型,安装后即可直接使用...