Python操作mysql

编程之家收集整理的这篇文章主要介绍了Python操作mysql编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

搜索热词

pip install pyMysqL -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

一、数据库连接及创表

#encoding: utf-8
import pyMysqL
# 配置基本信息
db = pyMysqL.connect(
    host = '127.0.0.1',user = 'root',password = '123456',database = 'pyMysqL',port = 3306,# 有汉字的时候必须写这个
    charset='utf8'
)
# 建立连接
# 获得python执行MysqL命令的方法,也就是所说的操作游标
cursor = db.cursor()
# 用于测试
cursor.execute('select 1')
result = cursor.fetchone()
print(result)

建立数据表

# -*- coding = utf-8 -*-
# @Time : 2020/9/27 14:34
# @Author : md

import pyMysqL
# 配置基本信息
db = pyMysqL.connect(
    host = '127.0.0.1',也就是所说的操作游标
cursor = db.cursor()

sql = '''
    create table student(
        id int NOT NULL AUTO_INCREMENT,user_id int(11) NOT NULL,name varchar(255) NOT NULL,address varchar(255) NOT NULL,PRIMARY KEY(id)
    )
'''
cursor.execute(sql)
cursor.close()
db.close()
print("创建成功")

二、插入数据

#encoding: utf-8
import pyMysqL
# 配置基本信息
db = pyMysqL.connect(
    host = '127.0.0.1',database = 'pyMysqL_test',charset='utf8'
)
# 建立连接
cursor = db.cursor()
sql = "insert user(username,age,password)values('cc',20,'654321')"
# 执行sql语句
cursor.execute(sql)
# 关闭插入的sql语句
db.commit()
# 关闭连接
db.close()

如果是数据不能确定的情况下,可以使用下面这种方式

cursor = db.cursor()
# 即使这个字段是整型,这个时候也的用%s,sql = "insert user(username,password) values(%s,%s,%s)"
# 在执行sql语句的时候传入数据,传入的是元组
cursor.execute(sql,('dd',21,'111111'))
db.commit()
db.close()

批量插入多条数据

sql="insert into user values(%s,%s)"
insert=cur.executemany(sql,[(4,'wen',20),(5,'tom',10),(6,'test',30)])
print ('批量插入返回受影响的行数:',insert)

三、查询数据

使用execute()函数得到的只是受影响的行数,并不能真正拿到查询内容。cursor对象还提供了3种提取数据的方法:fetchone、fetchmany、fetchall.。每个方法都会导致游标动,所以必须注意游标的位置。

cursor.fetchone():获取游标所在处的一行数据,返回元组,没有返回None

cursor.fetchmany(size):接受size行返回结果行。如果size大于返回的结果行的数量,则会返回cursor.arraysize条数据。

cursor. fetchall():接收全部的返回结果行

  1. fetchone():这个方法每次获取一条数据
cursor = db.cursor()

sql = 'select * from user'
cursor.execute(sql)
result = cursor.fetchone()
print(result)
# 这个切记
db.close()
  1. fetchall():这个方法接收全部的返回结果
cursor = db.cursor()
sql = 'select * from user'
cursor.execute(sql)

results = cursor.fetchall()
for result in results:
    print(result)
db.close()
  1. fetchmany(size):可以获取指定条数的数据
cursor = db.cursor()
sql = 'select * from user'
cursor.execute(sql)

results = cursor.fetchmany(3)
for result in results:
    print(result)
db.close()

四、删除数据

cursor = db.cursor()
sql = 'delete from user where id=1'
cursor.execute(sql)
# 关闭sql语句
db.commit()
db.close()

五、更新数据

cursor = db.cursor()
sql = 'update user set username="未来" where id=4'
cursor.execute(sql)
# 关闭sql语句
db.commit()
db.close()

注意:增,删,改的时候必须得执行db.commit()

六、事务

事务机制可以确保数据一致性。

事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性

# sql删除记录语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
try:
   # 执行sql语句
   cursor.execute(sql)
   # 向数据库提交
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()

相关文章

总结

以上是编程之家为你收集整理的Python操作mysql全部内容,希望文章能够帮你解决Python操作mysql所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

猜你在找的Python相关文章

微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 测试只能证明程序有错误,而不能证明程序没有错误。 —— Edsger Dijkstra 目录 本节我
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术、一个社区。 目录 本节我们来介绍闭包与装饰器。 闭包与
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序 = 算法 + 数据结构 —— Nicklaus Wirth 目录 从这句话程序 = 算法 +
微信公众号:码农充电站pro 个人主页: 当你选择了一种语言,意味着你还选择了一组技术、一个社区。 —— Joshua Bloch 目录 1,什么是计算机编码 编码 从一种形式 到另一种形式的过程,就
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果代码和注释不一致,那很可能两者都错了。 —— Norm Schryer 目录 前几节我们已经介绍
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 软件工程的目标是控制复杂度,而不是增加复杂性。 —— Dr. Pamela Zave 目录 我们在上
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 代码写的越急,程序跑得越慢。 —— Roy Carlson 目录 Python 字典是另一种非常实用
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了。 —— Carig Zerouni 目录 前几节我们介