前言:
而今咱们对“pymysql修改数据库数据”大概比较关心,兄弟们都需要分析一些“pymysql修改数据库数据”的相关资讯。那么小编在网上汇集了一些有关“pymysql修改数据库数据””的相关文章,希望你们能喜欢,大家一起来了解一下吧!今天的内容是: python 操作MySQL
说到数据库,可能有些朋友没有学过MySQL数据库语句语法,不过没关系,python中操作数据库储存数据,也就是创建一个表格,然后向表格中插入数据的过程,没有多少内容的,数据库表格最常用的知识点也就4点,下面具体介绍理论和实战例子:
1.在python这里操作MySQL数据库有4个内容:
添加(插入)内容 + 删除内容 + 查询内容 + 修改(更新)内容
2.创建表格和插入数据进入表格的专有单词大小写都可以
例如:cur.execute('create table person (id int not null auto_increment primary key, \name 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])+'\tname='+str(item[1])+'\tage='+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:####################### 8.删除数据 ##################################################### ############### 删除一行内容
# 删除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数据库的所有常见的内容了,希望对读者朋友有帮助。
标签: #pymysql修改数据库数据