一、软件环境

python环境默认安装了sqlite3,如果需要使用sqlite3我们直接可以在python代码模块的顶部使用import sqlite3来导入该模块。本篇文章我是记录了python操作mysql数据库,mysql数据库下载

由于我之前安装的是wampserver,默认安装了php、mysql和apache这3个环境,因此我没有在单独安装mysql数据库,只是下载了一个mysql管理工具Navicat for MySQL。在使用Navicat for MySQL连接本地mysql数据库时,发生连接失败问题,经过网上查询得知是mysql服务没有启动,如何启动mysql服务请看如何单独启动wamp 中自带的MySQL。其实很简单,就是打开命令行,选择目录到mysql数据库的bin目录下,执行mysqld命令即可。

mysql 和mysqld 的区别:

mysqld 是服务端程序

mysql是命令行客户端程序

二、数据库操作

python操作mysql数据库,新增、修改和删除比较简单,都是执行一个简单的sql语句。查询除了执行sql语句外还需要使用fetchone和fetchall来获取数据条目

1 #-*- coding: UTF-8 -*-

2

3 __author__ = 'Administrator'

4

5 importMySQLdb6

7 #打开数据库连接

8 db = MySQLdb.connect("localhost","root","123456","test")9

10 #使用cursor()方法获取操作游标

11 cursor =db.cursor()12

13 #使用execute方法执行SQL语句

14 cursor.execute("SELECT VERSION()")15

16 #使用 fetchone() 方法获取一条数据库。

17 data =cursor.fetchone()18

19 print "Database version : %s" %data20

21 #如果数据表已经存在使用 execute() 方法删除表。

22 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")23

24 #创建数据表SQL语句

25 sql = """CREATE TABLE EMPLOYEE (26 FIRST_NAME CHAR(20) NOT NULL,27 LAST_NAME CHAR(20),28 AGE INT,29 SEX CHAR(1),30 INCOME FLOAT )"""

31

32 cursor.execute(sql)33

34 #SQL 插入语句

35 sql = """INSERT INTO EMPLOYEE(FIRST_NAME,36 LAST_NAME, AGE, SEX, INCOME)37 VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

38 try:39 #执行sql语句

40 cursor.execute(sql)41 #提交到数据库执行

42 db.commit()43 except:44 #Rollback in case there is any error

45 db.rollback()46

47 #SQL 查询语句

48 sql = "SELECT * FROM EMPLOYEE \49 WHERE INCOME > '%d'" % (1000)50 try:51 #执行SQL语句

52 cursor.execute(sql)53 #获取所有记录列表

54 results =cursor.fetchall()55 for row inresults:56 fname =row[0]57 lname = row[1]58 age = row[2]59 sex = row[3]60 income = row[4]61 #打印结果

62 print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" %\63 (fname, lname, age, sex, income )64 except:65 print "Error: unable to fecth data"

66

67 #关闭数据库连接

68 db.close()

三、事务

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

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

原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

Python DB API 2.0 的事务提供了两个方法 commit 或 rollback。

1 #SQL删除记录语句

2 sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)3 try:4 #执行SQL语句

5 cursor.execute(sql)6 #向数据库提交

7 db.commit()8 except:9 #发生错误时回滚

10 db.rollback()

对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。commit()方法游标的所有更新操作,rollback()方法回滚当前游标的所有操作。每一个方法都开始了一个新的事务。

如果您觉得文章不错,不妨给个打赏,写作不易,感谢各位的支持。您的支持是我最大的动力,谢谢!!!

很重要--转载声明

本站文章无特别说明,皆为原创,版权所有,转载时请用链接的方式,给出原文出处。同时写上原作者:朝十晚八 or Twowords

如要转载,请原文转载,如在转载时修改本文,请事先告知,谢绝在转载时通过修改本文达到有利于转载者的目的。

python数据库mysql_python数据库(mysql)操作相关推荐

  1. mysql数据的引用_MySQL数据库入门:mysql操作和程序引用

    本文主要向大家介绍了MySQL数据库入门的mysql操作和程序引用,通过具体的实例让大家了解,希望对大家学习MySQL数据库入门有所帮助. mysql操作: 创建qrdata2表: create ta ...

  2. python propresql mysql_python数据库操作mysql:pymysql、sqlalchemy常见用法详解

    本文实例讲述了python数据库操作mysql:pymysql.sqlalchemy常见用法.分享给大家供大家参考,具体如下: 相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 ...

  3. python 连接mysql_Python 连接MySQL

    数据库技术(例如MySQL)在气象业务和其他商业行业中都有着广泛的应用,气象与电网结合的大项目甚至都用上了hadoop分布式存储,Hadoop中的Hive组件和数据库在语法上高度相似. 传统运行mys ...

  4. python连接mysql_Python连接MySQL

    1.MySQL配置 1)MySQL下载地址:MySQL Community Server 8.0.15 下载 2)MySQL安装:MySQL安装 MySQL安装与使用 3)修改初始密码 使用以下命令登 ...

  5. python连接mysql_Python连接MYSQL数据库

    首先在pycharm中安装mtsqlclient的包 等待安装完成以后,进入编辑页面就可以正常编程了.举例如下: import MySQLdb #import situation as sit con ...

  6. python数据库mysql_python数据库-MySQL与python的交互(52)

    摘要: me='韩信'whereid=1;"mysql_manager.update(update_sql)#删除语句delete_sql="deletefromherowhere ...

  7. python 天气预报 mysql_Python+PyQt5+MySQL实现天气管理系统

    在本篇博客中,我利用Python语言其编写界面库PyQt5,然后通过连接MySQL数据库,实现了一个简单的天气管理小系统,该系统包含简单的增删查改四个主要功能.本文旨在解析实现的程序,能够让读者快速了 ...

  8. python访问mysql_python连接mysql

    首先需要导入驱动模块 打开cmd导入模块 pip install mysqldb(pymysql) python2.x版本--------->mysqldb python3.x版本------- ...

  9. python连接mysql_Python 连接mysql与impala

    前言: 机器学习平台开发初期,需要进行基于python的算法组件的开发(编写不同模型算法的python脚本,并以Azkaban调度的方式来运行模型). 由于以前没有学过python,所以在最初的pyt ...

最新文章

  1. gcc中-pthread和-lpthread的区别
  2. 调用.NET XML Web Services返回数据集合一
  3. 文档过期打不开怎么办_网络上下载文档,常见的3个问题,一招教你快速解决!...
  4. 关于HOOK API Lib 0.1 For Delphi
  5. armbian安装图形桌面_必看贴:Centos7安装Xrdp远程桌面服务
  6. python绘制表格界面_python 读取 excel 生成 html 页面
  7. CodeForces 516E Drazil and His Happy Friends(数学+最短路)
  8. .NET不死,为什么企业招聘都要java?
  9. 【干货】房地产基础知识及开发流程.pdf(附下载链接)
  10. linux系统设置服务开机启动3种方法,Linux开机启动程序详解
  11. 如何修改macOS文件的默认打开方式?
  12. qt中如何模拟按钮点击_怎么在qt中实现一个按钮列表?
  13. Win10 使用 Virtual Box 安装 Ubuntu 虚拟机
  14. 基于nrf52832 mpu6050应用实例(7)
  15. 考出面试者基本功的 10 个简单编程题
  16. MySQL容器部署及数据持久化(主从复制)
  17. 2022年第五届全国青少年人工智能创新挑战赛
  18. 史上最全大数据学习资源整理
  19. Infragistics Ignite UI for Web
  20. 拼音输入法,提高码字效率

热门文章

  1. 假如BERT系论文变成Commit History
  2. sklearn 3. 实例:随机森林在乳腺癌数据上的调参
  3. 深度学习-吴恩达-笔记-7-超参数调试、Batch正则化和程序框架
  4. java jar 启动项目,SpringBoot项目运行jar包启动的步骤流程解析
  5. 第1章 Ext JS介绍与快速入门[2/4]
  6. [Ext JS 7]的开发模式
  7. [ExtJS 6]Grid分页工具栏无效问题解决
  8. Eclipse 好用常用插件集合
  9. 自动化测试工具selenium 之Selenium-IDE
  10. arm 跑马灯 linux,ARM开发板(S3C2440)上LED灯驱动及跑马灯的实现