python操作MySQL数据库储存数据,涵盖插入删除查询修改全过程

今天的内容是: 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数据库的所有常见的内容了,希望对读者朋友有帮助。

举报
评论 0