大数据机器学习数据分析爬虫Python开发爱好者,MySQL 是我们经常接触的数据库,它的优点好处我就不说了,(其实本人也说不出什么,反正是常用的数据库)那么我们如何使用python 对mysql数据库进行操作呢。下面我来给大家说说。首先连接mysql在建立连接前我们的python 要安装pymsqlpip install pymysql在命令行里输入 pip install pymysql

下面打开我们的IDE 我使用的是pycharm# !/usr/bin/env python# -*- coding:utf-8 -*-""" 1.0 python连接mysql 并进行增删改查"""import pymysql.cursors""" 连接数据库"""#使用pymysql指令连接数据库connection = pymysql.connect(host = "127.0.0.1", #要连接的数据库的IP地址 user = "root", #登录的账户名,如果登录的是最高权限账户则为root password = "123456", #对应的密码 db = "iris", #要连接的数据库 charset = "utf8mb4", #设置编码格式 #返回到Python的结果,以什么方式存储,如Dict.Cursor是以字典的方式存储 #如果不加这行数据是以元组方式返回 cursorclass = pymysql.cursors.DictCursor )这样我们就建立了python 同mysql 的连接创建表try: """ 创建表 """ # 使用cursor()方法获取操作游标 with connection.cursor() as cursor: # 如果数据表已经存在使用 execute() 方法删除表。 cursor.execute("drop table if EXISTS users") sql = """create table users ( id int(11) not null auto_increment, email varchar(255) collate utf8_bin not null, password varchar(255) collate utf8_bin not null, primary key (id) ) engine = InnoDB default charset=utf8 collate=utf8_bin auto_increment=1; """ cursor.execute(sql)except: # 发生错误时回滚 connection.rollback()finally: # 关闭连接 connection.close()插入数据 # 从数据库链接中得到cursor的数据结构 with connection.cursor() as cursor: sql = " insert into users(email, password) VALUES (%s, %s)" cursor.execute(sql,("webmaster@python.org","very_secret")) # 执行到这一行指令时才是真正改变了数据库,之前只是缓存在内存中 connection.commit()批量插入数据 """ 批量插入数据 """ #读取文件 with open("iris.csv", "r", encoding="utf-8", newline="") as f: i = 0 #用来记录读取文件中数据的的次数 z = 0 #用来记录读取文件中数据的的次数 list = [] for line in f: strs = line.split(",") data = (strs[0], strs[1], strs[2], strs[3], strs[4].replace("","")) #数据的最后一行会有一个换行符,用replace替换掉 list.append(data) i += 1 z += 1 if i >= 10: #用于现在一次插入多少条这里是10条插入一次 with connection.cursor() as cursor: sql = "insert into iris(sepal_length, sepal_width, petal_length, petal_width, uspecies) " "VALUES (%s, %s, %s, %s, %s)" cursor.executemany(sql, list) #批量添加数据时 要用executemany connection.commit() print("插入{}条数据,已插入{}条数据".format(i, z)) i = 0 #对计数归零 list.clear() #清理数据列表 if i > 0 : # 循环文件完毕后,对剩余的数据进行插入,(例如小于10的剩余数据,比如你的文件有55行,剩余的5行就要这样插入) cursor.executemany(sql, list) connection.commit()查询数据 """ 查询数据 """ #单一数据 with connection.cursor() as cursor: sql = " select id, email, password from users where email = %s" cursor.execute(sql,("sfs1100@126.com")) result = cursor.fetchone() #fetchone()只取出第一条结果 print(result) print(type(result)) #多条数据 with connection.cursor() as cursor: sql = " select * from iris where sepal_length > %s" cursor.execute(sql, (3)) result = cursor.fetchall() #fetchone()取出查询后的所有数据 print(result) print(type(result)) for each in result: print(each["uspecies"])更新数据 """ 更新数据 """ with connection.cursor() as cursor: sql = " update users set email = %s where password = %s" cursor.execute(sql, ("sfs1100@126.com", "very_secret") connection.commit()删除数据 """ 删除数据 """ with connection.cursor() as cursor: sql = "delete from users where email = %s" cursor.execute(sql, ("sfs1100@126.com")) connection.commit()

本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.yx10011.com学习互联网营销技术请到巅云建站www.yx10011.com。