pymysql -转自https://www.cnblogs.com/chenhaiming/p/9883349.html#undefined
PyMysql的几个重要方法
- connect函数:连接数据库,根据连接的数据库类型不同,该函数的参数也不相同。connect函数返回Connection对象。
- cursor方法:获取操作数据库的Cursor对象。cursor方法属于Connection对象。
- execute方法:用于执行SQL语句,该方法属于Cursor对象。
- commit方法:在修改数据库后,需要调用该方法提交对数据库的修改,commit方法属于Cursor对象。
- rollback方法:如果修改数据库失败,一般需要调用该方法进行数据库回滚操作,也就是将数据库恢复成修改之前的样子
from pymysql import *
import json def connectDB():
db = connect('127.0.0.1','root','password','databasename')
return db
db = connectDB() def creatTable(db):
cursor = db.cursor()
sql = '''
CREATE TABLE Persons
(
id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL,
address CHAR(50),
salary REAL
);
'''
try:
cursor.execute(sql)
db.commit()
return True
except:
db.rollback()
return False def insertRecords(db):
cursor = db.cursor()
try:
cursor.execute('DELETE FROM persons')
cursor.execute("INSERT INTO persons(id,name,age,address,salary)\
VALUES(1,'Paul',32,'California',2000.00)");
cursor.execute("INSERT INTO persons(id,name,age,address,salary)\
VALUES(2,'Allen',25,'Texas',3000.00)");
cursor.execute("INSERT INTO persons(id,name,age,address,salary)\
VALUES(3,'Teddy',23,'Norway',2500.00)");
cursor.execute("INSERT INTO persons(id,name,age,address,salary)\
VALUES(4,'Mark',19,'Rich',5000.00)");
db.commit()
return True
except Exception as e:
print(e)
db.rollback()
return False def selectRecords(db):
cursor = db.cursor()
sql = 'SELECT name,age,address,salary FROM Persons ORDER BY age DESC'
cursor.execute(sql)
results = cursor.fetchall()
print(results)
fields = ['name','age','address','salary']
records = []
for row in results:
records.append(dict(zip(fields,row)))
return json.dumps(records) if creatTable(db):
print('成功创建Persons表')
else:
print('persons表已经存在') if insertRecords(db):
print('成功插入数据')
else:
print('插入记录失败') print(selectRecords(db))
db.close()
pymysql -转自https://www.cnblogs.com/chenhaiming/p/9883349.html#undefined的更多相关文章
- 访问路径:https://i.cnblogs.com/posts?categoryid=925678
https://i.cnblogs.com/posts?categoryid=925678
- URL https://i.cnblogs.com/EditPosts.aspx?opt=1
URL url = new URL("https://i.cnblogs.com");URL url1 = new URL(url, "EditPosts.aspx?op ...
- 随笔二-https://www.cnblogs.com/shang1680/p/9657994.html
作业要求来自https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 GitHub远程仓库的地址:https://github.com/ ...
- 211806189杨昊辰 https://www.cnblogs.com/honey1433223/
211806189杨昊辰 https://www.cnblogs.com/honey1433223/
- https://www.cnblogs.com/h2zZhou/p/5440271.html
https://www.cnblogs.com/h2zZhou/p/5440271.html
- https://www.cnblogs.com/soundcode/p/4174410.html
https://www.cnblogs.com/soundcode/p/4174410.html 1.首先要在服务器端新建一个网站axpx页 然后再网站的后台写代码获取winform传过来的文件名. ...
- https://www.cnblogs.com/yudanqu/p/9467803.html
https://www.cnblogs.com/yudanqu/p/9467803.html
- 转发自:一像素 十大经典排序算法(动图演示)原链接:https://www.cnblogs.com/onepixel/articles/7674659.html 个人收藏所用 侵删
原链接:https://www.cnblogs.com/onepixel/articles/7674659.html 个人收藏所用 侵删 0.算法概述 0.1 算法分类 十种常见排序算法可 ...
- @无痕客 https://www.cnblogs.com/wuhenke/archive/2012/12/24/2830530.html 通篇引用
无痕客 https://www.cnblogs.com/wuhenke/archive/2012/12/24/2830530.html 关于Async与Await的FAQ 关于Async与Await的 ...
随机推荐
- 关于pycharm中缩进、粘贴复制等文本编辑功能部分失效的解决办法
有可能是同时安装了vim,冲突导致: 在seetings中点击Plugins,搜索vim卸载后功能恢复
- JAVA基础搬运工
1Java线程的6种状态及切换 https://blog.csdn.net/pange1991/article/details/53860651/ 2进程和线程的区别 https://www.cnbl ...
- response响应
郭晨 软件151 1531610114 response1.response常用APIsetStatus:设置响应行当中的状态码setHeader:设置响应头信息getOutputStream:获得字 ...
- Java BitSet解决海量数据去重
先提一个问题,怎么在40亿个整数中找到那个唯一重复的数字? 第一想法就是Set的不可重复性,依次把每个数字放入HashSet中,当放不去进去的时候说明这就是重复的数字,输出这个数字. if(hs.co ...
- oracle 中update多个字段
update A set (A.a2,A.a3) =(select B.b2,b.b3 from B where B.b1= A.a1 and A.a3=100 )
- 使用windows任务计划程序自动清除C盘缓存文件
背景 由于应用程序会不断的产生各种临时文件和缓存文件,我们的C盘有时候不知不觉就被填满了,因此,配置一个自动清除缓存文件的脚本势在必行了. 功能 自动删除C盘的缓存和临时文件 隐藏执行时的CMD窗口 ...
- Python3 标准库学习
python3.5.6 官方文档 https://docs.python.org/3.5/library/index.html 1.介绍 2.内置函数 3.内置常量 3.1常数添加的 site模块 ...
- Excel与Google Sheets中实现线性规划求解
很久没更新过APS系列文章了,这段时间项目工作确实非常紧,所以只能抽点时间学习一下运筹学的入门知识,算是为以后的APS项目积累点基础.看了一些运筹学的书(都是科普级别的)发现原来我目前面对的很多排产. ...
- python科学计算包numpy用法(一)
numpy是python中一个用来做科学计算的包,用起来十分方便,下面是我总结的numpy的用法: 1.如何创建矩阵 创建矩阵有很多种方法,主要包括以下几种: 通过array函数创建 >> ...
- java核心-多线程-线程类-Callable、Future和FutureTask
基本概念 <1>Callable,Callable和Runnable差不多,两者都是为那些其实例可能被另一个线程执行的类而设计的,最主要的差别在于Runnable不会 返回线程运算结果,C ...