您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python操作MySQL数据库的简单步骤分享

51自学网 2021-10-30 22:44:52
  python
这篇教程Python操作MySQL数据库的简单步骤分享写得很实用,希望能帮到您。

前言

现在Python越来越被大众所使用,特别是进入AI人工智能时代,对编程要求更加高效根据快捷,所以Python也经常成为人工智和大数据编程的重要语音。既然是编程语言就多多少少会需求对数据进行操作,这一篇我们带大家使用python对mysql进行的操作。

别的不说,直接上代码

MySQL 建表

建表的时候,遇到一些坑,没有解决,如修改 MySQL 的默认引擎,default-storage-engine=InnoDB;执行报错 。。。无奈

use mybatistable;drop table Test;-- INNODB  支持事务 -- Mysql 默认的引擎是 MyISAM ,不支持事务操作-- 在创建 mysql 表时,最好指定表使用的引擎 -- 或者直接修改Mysql 默认的数据库引擎为 InnoDB-- default-storage-engine=InnoDB; 执行报错 。。。无奈create table Test(	 id int(10)  not null auto_increment,	 name varchar(20)  not null,	 password varchar(30) not null,	 constraint pk_id primary key(id),	 constraint uk_name unique(name))engine=InnoDB charset=utf8;-- 查看表的引擎show create table Test;-- 更新表的引擎 ,执行报错-- alter table Test type = InnoDB; insert into Test values(default,'小红',123);insert into Test values(default,'小李',123);insert into Test values(default,'小赵',123);insert into Test values(default,'小军',123);insert into Test values(default,'小方',123);select * from  Test;

python 操作 MySQL

import pymysql'''    连接 mysql 数据库的步骤    fetchall 接受全部的返回结果行    PS:只有 innodb 类型的表才可以设置 autocommit;'''def connectMySql():    host =  '127.0.0.1'    username = 'root'    password = 'root'   # dbName = 'MyBatistable'    # 获得数据库连接对象    conn = pymysql.connect(host,username,password)    #关闭数据库的自动提交事务    conn.autocommit(False)    # 选择要操作的数据库    conn.select_db('MyBatistable')  #覆盖之前操作的数据库名    # 获得游标    cursor = conn.cursor()    #定义 SQL 语句    sql = 'select * from Test'    sql1 = 'insert into test values(default,"小锅","120")'    sql2 = 'update test set name="小库2" where id = 2'    sql3 = 'delete from test where id = 2'    #执行 SQL 语句   # row = cursor._query(sql)    #执行 execute 方法,返回影响的行数    row = cursor.execute(sql1)    print('row type:',type(row))    print('受影响的行数为:',row)    if row > 0:        conn.commit() # 提交事务        print('SUCCESS')    else:        conn.rollback() # 回滚事务        print('Failure')    #使用DQL ,返回结果集,以元组的形式    nums = cursor.fetchall()    print('nums Type:',type(nums))    #处理结果集    if nums != () :        for  num in  nums:            print('--',num)if __name__ == '__main__':    connectMySql()

总结

Python 操作 MySQL 时,由于MySQL 默认使用时 MyISAM 引擎,不支持事务操作。而在Python操作 Mysql 中关闭自动提交事务,发现并没有卵用,然后到网上百度说,Mysql 中 InnoDB 支持事务,然后我查找一哈我自己表的引擎发现是 MyISAM ,欲哭无泪啊。然后我就重新开始建表,测试。

到此这篇关于Python操作MySQL数据库的简单步骤的文章就介绍到这了,更多相关Python操作MySQL数据库内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


教你如何用python爬取王者荣耀月收入流水线
python Requsets下载开源网站的代码(带索引 数据)
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。