词条信息

admin
admin
超级管理员
最近编辑者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> Python   

python操作MySQL数据库储存数据

标签: python 操作MySQL 数据库 储存数据

顶[0] 发表评论(0) 编辑词条

今天的内容是: python 操作MySQL


说到数据库,可能有些朋友没有学过MySQL数据库语句语法,不过没关系,python中操作数据库储存数据,也就是创建一个表格,然后向表格中插入数据的过程,没有多少内容的,数据库表格最常用的知识点也就4点,下面具体介绍理论和实战例子:


1.在python这里操作MySQL数据库有4个内容:


添加(插入)内容 + 删除内容 + 查询内容 + 修改(更新)内容


2.创建表格和插入数据进入表格的专有单词大小写都可以


例如:cur.execute('create table person (id int not null auto_increment primary key, ame varchar (20), age int)')


3. 疑惑解答:


表格已经创建,如果还想要在这个已经创建的表格中插入数据,


就将创建表格的代码注释掉。


实战例子:这里涵盖了python操作MySQL数据库的所有常用的知识点,掌握的话,对这一块数据储存就没什么大问题了。


 1.导入模块


 import pymysql


2.打开数据库,即连接到数据库(前面4个必写且顺序不能变)


 端口port='', 字符类型charset='utf-8'


 conn = pymysql.connect(host='localhost', user='root', passwd='root', db='lxz')


 3.数据库连接对象,创建游标,execute()执行MySQL语句,executemany()执行多条MySQL语句


 cur = conn.cursor()


 4.建立一个名字为person的表格来储存信息 


 cur.execute('create table person (id int not null auto_increment primary key, 
name varchar (20), age int)')


内容1:插入数据


5.向表格中插入数据 

 单独数据插入


 # cur.execute("insert into person (name,age) values('lxz',21)") # 直接赋值
# cur.executemany('insert into person (name,age) values (%s,%s)',
# [('qqaa', 21), ('bbb', 19), ('ccc', 16), ('ddd', 28), ('eee', 37)]) # 通过占位符赋值


批量数据插入,通过占位符才可以


总结经验,用cur.execute()批量处理要有两个占位符(不能多也不能少,


无论插入的数据有多少都只能是两个),后面的kkk1是一个[(),(),()]这样形式的列表


#第一个方法: 对cur.execute()而言,批量插入式通过循环实现的


 name1 = ['aaa','bbb','ccc','ddd','eee']
age1 = [21,19,16,28,37]
for i in range(len(name1)):
kk = (str(name1[i]),age1[i])
cur.execute("insert into person (name,age) values (%s,%s)",kk)


# 第二个方法:对于cur.executemany()而言,将所有数据添加至一个列表中,然后将列表名插进来就可以了


 kkk1 = []
for i in range(len(name1)):
kkk2 = (name1[i],age1[i])
# print(kkk2)
kkk1.append(kkk2)
# print(kkk1)
cur.executemany('insert into person (name,age) values (%s,%s)',kkk1)


内容2:


6.查询数据 


游标提供了fetchall()方法获取所有数据,返回一个二维元组和


fetchone()方法获取其中的一个结果,返回一个元组


 使用fetchall()方法输出所有数据


 cur.execute('select * from person')
res = cur.fetchall()
# print(res)
for item in res:
# 输出数据库表格中的所有数据
# print('id='+str(item[0])+' name='+str(item[1])+' age='+str(item[2]))


使用fetchone()方法输出一行数据


 cur.execute('select * from person')
res = cur.fetchone()
# print('fetchone()方法:',res)


内容3: 


 7.修改(更新)数据 

 单个修改


 # 修改id等于1的名字'lxz'为另外一个名字'vivo',person是表格的名称
cur.execute('update person set name = %s where id = %s',('vivo',1))


批量修改(更新)


 name1 = ['@ab','@bbb','@ccc','@ddd','@eee']
id = [3,4,5,16,18]
for i in range(len(name1)):
kk = (str(name1[i]),id[i])
cur.execute('update person set name = %s where id = %s',kk)


内容4:


删除一行内容


 # 删除id等于2这一行的内容
cur.execute('delete from person where id = %s',(2,))


批量删除内容


 id = []
# 通过循环批量生成id号,批量删除id号所对应行的内容
for i in range(22,141):
id = (i,)
cur.execute('delete from person where id = %s',id)


 9.对数据库对象conn进行提交操作


 conn.commit()
# 如果出现错误,可以使用回滚操作conn.rollback()


 10.关闭游标


 cur.close()


 11.关闭数据库的连接


 conn.close()


以上就是python操作MySQL数据库的所有常见的内容了,希望对读者朋友有帮助。

 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇关于Python中数据存储大总结
下一篇深度解析阿里云FPGA平台“舜天”

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>