今天的内容是: python 操作MySQL

模块安装:

pip install pymysql

其次:MySQL 要能正常运行

说到数据库,可能有些朋友没有学过MySQL数据库语句语法,不过没关系,python中操作数据库储存数据,也就是创建一个表格,然后向表格中插入数据的过程,没有多少内容的,数据库表格最常用的知识点也就4点。

ps:文章来源于小编的头条号:“python数据科学频道”,想在手机端方便看文章的朋友可以去关注我的头条号。

1、理论介绍

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

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

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

  • cur.execute(‘create table person (id int not null auto_increment primary key, ame varchar (20), age int)’)
  1. 疑惑解答:
  • 表格已经创建,如果还想要在这个已经创建的表格中插入数据, 就将创建表格的代码注释掉。

2、实战例子:

这里涵盖了python操作MySQL数据库的比较常用的知识点,掌握的话,对这一块数据储存就没什么大问题了。

# -------------------------------------------------------------
# 1.导入模块
import pymysql

# -------------------------------------------------------------
# 2、连接 MySQL 数据库、创建游标和创建一个表格
# 连接数据库,即连接到数据库(前面4个必写且顺序不能变)
# db 是数据库名称,端口port='', 字符类型charset='utf-8'
conn = pymysql.connect(host='localhost', user='root', passwd='root', db='lxz')
cur = conn.cursor()  # 创建游标
# cur.execute('create table person (id int not null auto_increment primary key, \
#             name varchar (20), age int)')  # 建立一个名字为person的表格

# --------------------------------------------------------------
# 3、向表格中插入数据
# execute()执行MySQL语句,executemany()执行多条MySQL语句
# 第一种:单独数据插入
# 如果指定 id 的行号,则在指定的行号开始插入数据(注意插入的行必须是空的,否则报错)
cur.execute("insert into person (id, name,age) values(1,'小白',21)")  # 直接赋值
# cur.executemany('insert into person (name,age) values (%s,%s)',\
# [('qqaa', 21), ('bbb', 19), ('ccc', 16), ('ddd', 28), ('eee', 37)])  # 通过占位符赋值


# 第二种:批量数据插入,通过占位符才可以
# 第一个:对cur.execute()而言,批量插入式通过循环实现的
name1, age1 = ['aaa','bbb','ccc','ddd','eee'], [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()而言,将所有数据循环添加至一个列表中,
# 然后将列表名插进来就可以了
kkk = []
for i in range(len(name1)):
    item = (name1[i],age1[i])
    # print(item)
    kkk.append(item)
    # print(kkk1)
cur.executemany('insert into person (name,age) values (%s,%s)',kkk)

# ---------------------------------------------------------------
# 4、查询数据
'''
游标提供了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()方法:\n', res)

# ---------------------------------------------------------------
# 5、修改(更新)数据
# 第一种:单个修改
# 修改id等于1的名字'lxz'为另外一个名字'梁晓智',person是表格的名称
cur.execute('update person set name = %s where id = %s', ('大佬', 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)

# --------------------------------------------------------
# 6、删除数据
# 第一种:删除一行内容
# 删除id等于2这一行的内容
cur.execute('delete from person where id = %s', (3,))

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

# ---------------------------------------------------------
# 7、有始有终,提交、关闭文件
# 如果出现错误,可以使用回滚操作conn.rollback()
conn.commit()  # 对数据库对象conn进行提交操作
cur.close()  # 关闭游标
conn.close()  # 关闭数据库的连接

3、程序运行结果截图:

pysqlite下载_pymysql安装与教程

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

------------------------------------------------- 文章到此结束 ------------------------------------------