python连接mysql(已经完成,亲测有效)-创新互联
由于mysql体积小,速度快,成本低,源码开放,所以一些中小型系统开发都采用mysql
创新互联公司-专业网站定制、快速模板网站建设、高性价比复兴网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式复兴网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖复兴地区。费用合理售后完善,十多年实体公司更值得信赖。
1.安装pymysql我们连接mysql采用的工具包是
pymysql
pip install pymysql
2.pymysql工作图connection对象python操作数据库主要涉及connection和cursor这两个对象
connection对象是与数据源的唯一对话,可以使用connection对象的集合,方法,属性实现与数据的连接
连接时的参数列表
参数名 | 类型 | 说明 |
---|---|---|
host | 字符串 | 连接的数据库的服务器ip,如果是本地的话,写localhost即可 |
port | 数字 | mysql服务程序的端口号,默认为3306 |
user | 字符串 | 连接数据库的用户名(一般用root) |
passwd | 字符串 | 连接数据库的密码 |
db | 字符串 | 连接的数据库名称 |
charset | 字符串 | 连接编码,一般使用“utf8” |
使用上面参数的案例
import pymysql #创建connection对象为db db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
connection对象常用的方法
方法名 | 说明 |
---|---|
cursor() | 使用该连接创建并返回游标 |
commit() | 提交当前事务 |
rollback() | 回滚当前事务 |
close() | 关闭连接 |
cursor对象上面方法基本使用
#由于我们已经创建connection对象为db,所以这里以db代替connection对象 #创建cursor游标,获取python版本信息 cursor = db.cursor() #关闭连接 db.close() #提交当前事务 db.commit() #回滚当前事务 db.rollback()
我们已经创建cursor对象,为cursor,下面会将游标对象的常用方法
cursor对象是游标对象,用户用它来查询和获取结果,常用方法如下
常用方法
方法名 | 说明 |
---|---|
execute() | 传入一个sql语句,并执行,传入的类型是字符串 |
fetchone() | 取结果集的下一行 |
fetchmany(size) | 取结果集的下size行 |
fetchall() | 取结果集中剩下的所有行 |
rowcount() | 最近一次执行execute返回数据的行数或者影响行数 |
close() | 关闭游标对象 |
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标,获取python版本信息
cursor = db.cursor()
#获取mysql版本信息
cursor.execute("select version()")
#将上面的版本结果存放到data中
data = cursor.fetchone()
print(f"版本信息为{data}")
#关闭数据库连接
db.close()
2.创建表import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的sql语句
sql = """
创建表的sql语句"""
#执行sql语句
cursor.execute(sql)
#关闭数据库连接
db.close()
3.新增数据其实就是在表中添加数据了
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的插入sql语句
sql = """
创建表的插入sql语句"""
try:
#执行sql语句
cursor.execute(sql)
#提交到数据库执行
db.commit()
except:
#发生错误回滚
db.rollback()
#关闭数据库连接
db.close()
4.查询数据import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的sql查询语句
sql = """
创建表的sql查询语句"""
try:
#执行sql语句
cursor.execute(sql)
#获取所有记录的列表
results = = cursor.fetchall()
#mysql在for循环时,先第一行,在第二行
for row in results:
fname = row[0]#获取某行的第一列数据
lname = row[1] #获取某行的第二列数据
#打印结果
print(fname,lname)
except:
#报错
print("Error:unable to fetch data")
#关闭数据库连接
db.close()
5.删除数据import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的sql删除语句
sql = """
创建表的sql删除语句"""
try:
#执行sql语句
cursor.execute(sql)
#提交修改
db.commit()
except:
#发生错误回滚
db.rollback()
#关闭数据库连接
db.close()
6.数据库的更新import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建sql更新语句
sql = """
创建sql更新语句"""
try:
#执行sql语句
cursor.execute(sql)
#提交修改
db.commit()
except:
#发生错误回滚
db.rollback()
#关闭数据库连接
db.close()
7.执行事务事务是一组操作流程,在数据库维护中的目的是保持数据的一致性,它有原子性,一致性,隔离性和持久性四大特性,
在python数据库编程中,当游标建立,就自动创建了一个隐形的数据库事务,游标的每一个方法都开始了一个新的事物
commit()和rollback()方法都开启了事务,commit()方法更新所有操作,rollback()方法回滚当前游标的所有操作
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建sql更新语句
sql = """
创建sql更新语句"""
try:
#执行sql语句
cursor.execute(sql)
#提交修改
db.commit()
except:
#发生错误回滚
db.rollback()
#关闭数据库连接
db.close()
8.总结只要是对表进行修改的,如增加数据,更新库,删除数据等,都要用commit()和rollback()方法
如果只是查询数据,则不用commit()和rollback()方法
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:python连接mysql(已经完成,亲测有效)-创新互联
文章起源:http://myzitong.com/article/pehcs.html