Python操作MySQL数据库的简单步骤分享

 更新时间:2021年04月14日 10:22:59   作者:爱吃酸梨  
这篇文章主要给大家介绍了关于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数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pyinstaller打包文件太大的解决方案

    Pyinstaller打包文件太大的解决方案

    这篇文章主要介绍了Pyinstaller打包文件太大的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 基于Python新建用户并产生随机密码过程解析

    基于Python新建用户并产生随机密码过程解析

    这篇文章主要介绍了基于Python新建用户并产生随机密码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 基于Python实现简易的植物识别小系统

    基于Python实现简易的植物识别小系统

    这篇文章主要介绍了利用Python实现一个简易的植物识别系统,文中的示例代码简洁易懂,对我们学习Python有一定的帮助,需要的小伙伴可以参考一下
    2021-12-12
  • Python递归函数特点及原理解析

    Python递归函数特点及原理解析

    这篇文章主要介绍了Python递归函数特点及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python反转列表的三种方式解析

    python反转列表的三种方式解析

    这篇文章主要介绍了python反转列表的三种方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 如何使用Django(python)实现android的服务器端

    如何使用Django(python)实现android的服务器端

    这篇文章主要介绍了Django(python)简单实现android的服务器端,这里所需要的工具是PyCharm--python编辑工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Python实现合并同一个文件夹下所有PDF文件的方法示例

    Python实现合并同一个文件夹下所有PDF文件的方法示例

    这篇文章主要介绍了Python实现合并同一个文件夹下所有PDF文件的方法,涉及Python针对pdf文件的读取、判断、解密、写入合并等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Pyramid Mako模板引入helper对象的步骤方法

    Pyramid Mako模板引入helper对象的步骤方法

    ylons中的mako模板,默认会引入一个helper对象,我们可以在里面扩展方法,应对在模板输出时候会常用的操作,那么在Pyramid中如何默认引入同样的辅助类到模板中
    2013-11-11
  • Python读取csv文件分隔符设置方法

    Python读取csv文件分隔符设置方法

    今天小编就为大家分享一篇Python读取csv文件分隔符设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python datetime库函数的示例详解

    Python datetime库函数的示例详解

    datetime 是 Python 内置的日期时间处理库,它包含了处理日期、时间、时间间隔等的类和函数,这篇文章主要介绍了Python datetime库函数的详解,需要的朋友可以参考下
    2023-07-07

最新评论