# python连接Mysql数据库

>Auth: 王海飞

>Data:2018-04-17

>Email:779598160@qq.com

>github:https://github.com/coco369/knowledge

#### 设计背景

使用python连接数据库,使用py脚本形式去更新表的数据,实现CRUD操作

#### 事务

事务机制具备四点:原子性,一致性,隔离性,持久性,简称ACID特性

```

原子性(atomicity):一个事务是不可分割的一个整体,执行操作的话,要做就要一起做,不做的话就都不做

一致性(consistency):数据库的状态从一个状态变到另外一个状态

隔离性(isolation):一个事务在执行的时候不能被其他的事务干扰。即各各事务之间的操作是互不干扰的

持久性(durability):一个事务一旦提交以后,对数据库的变化就是永久性的

```

注解 理解原子性和一致性, 举个例子:

转账:张三给李四转账100元。那数据库假设需要 张三扣100,李四加100,记录一条流水。

如果流水没记录成功,那整体回滚,张三也没转账成功,李四也没多钱。这就是原子性的体现。

而张三必须扣100,李四必须加100,这个就是一致性了,如果因为某些逻辑原因,导致张三扣了100,流水记录100转账,而李四只加了60。然后这3条操作都成功了,那原子性就符合了,但是一致性就不符合了

#### 连接数据库

##### py2.x版本中连接数据库

确保已经安装PyMySQL库

##### py3.x版本中连接数据库

###### 安装PyMySQL

```

pip install PyMySQL

```

###### 前提条件

1. 确保已经创建了数据库TEST

2. 确保已经在数据库TEST中已经创建了表STUDENT

3. 确保连接数据库的密码和数据库名称,以及端口和数据库的IP地址

4. 确认以及安装了PyMySQL模块了

###### 测试例子

1. 简单的访问,查询一条数据

```

# -*- encoding:utf-8 -*-

import pymysql

# 打开数据库连接(connect, Connect, Connection)

#db = pymysql.connect("localhost IP地址","root账号","password密码","TEST数据库", 3306 端口)

db = pymysql.Connect(host='localhost', port=3306, user='root', passwd='123456', db='srs', charset='utf8')

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询

cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.

data = cursor.fetchone()

print ("Database version : %s " % data)

# 关闭数据库连接

db.close()

```

注意其中获取数据的方法有如下几种:

fetchone(): 该方法获取下一个查询结果集。结果集是一个对象

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

2. 获取访问数据库,并且插入数据

```

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

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

cursor = db.cursor()

# SQL 插入语句

sql = """INSERT INTO STUDENT(s_name, s_tel)

VALUES (%s, %s)""" % ('张三', '15664322132')

try:

# 执行sql语句

cursor.execute(sql)

# 提交到数据库执行

db.commit()

except:

# 如果发生错误则回滚

db.rollback()

# 关闭数据库连接

db.close()

```

注意,其中在执行插入,以及修改,删除语句的时候需要使用commit提交到数据库

3. 事务

提交:

commit()方法游标的所有更新操作,

回滚:

rollback()方法回滚当前游标的所有操作

一键复制

编辑

Web IDE

原始数据

按行查看

历史

烽火mysql数据库安装_sql/mysql3.md · zack烽火/knowledge - Gitee.com相关推荐

  1. mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...

    今天小编跟大家讲解下有关Windows Server 2016 MySQL数据库安装配置详细安装教程 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Windows Server 2016 ...

  2. 第二百七十五节,MySQL数据库安装和介绍

    MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...

  3. mysql数据库安装在unix_Linux下的数据库二:在Linux/Unix平台安装MySQL

    推荐使用RPM工具来进行Linux下的MySQL数据库安装.目前的MySQL rpm安装文件包是在SuSE Linux 7.3系统平台上打造而成的,但是在绝大多数支持RPM和glibc的其他Linux ...

  4. ubuntu14.04使用MySQL数据库安装配置Hive 1.2.1

    ubuntu14.04使用MySQL数据库安装配置Hive 1.2.1 一.准备Mysql已经安装好.本人装的是navicat,图形化界面.     并在本地用root用户建立了test数据库   二 ...

  5. MySQL数据库安装Version5.7.25

    1.说明 MySQL数据库大版本5.7的安装没有较大变化, 所以MySQL数据库Version5.7.25安装请参考: MySQL数据库安装Version5.7 上面文章中MySQL安装使用Versi ...

  6. MySQL安装叫重启_MySQL重启命令和MySQL数据库安装目录的操作过程

    以下的文章主要描述的是MySQL重启命令和MySQL数据库安装目录的实际操过程,其实MySQL重启命令和MySQL数据库安装目录的实现并不是一件很难的事情,只要你了解了其实际操作中的步骤即可. 今天第 ...

  7. 《大型数据库技术》MySQL数据库安装配置及基础使用

    文章目录 1.下载安装MySQL 1.1 搜索MySQL下载页面 1.2 查看各种MySQL版本 1.3 安装配置MySQL 2.数据库基本操作 2.1 创建数据库 2.2 创建关系表 2.3 插入数 ...

  8. windows服务器上安装的有mysql环境怎么创建数据库_Windows环境MySQL数据库安装方法...

    1.下载Windows版本的MySQL 1.1.首先需要下载Windows版本的mysql安装文件,然后安装MySQL数据库环境,安装成功后还需要对MySQL数据库进行相关配置.具体操作步骤如下: 1 ...

  9. mysql数据库 安装后 闪_MYSQL数据库Mysql数据库安装完成后需要进行的6个后续操作...

    <MYSQL数据库Mysql数据库安装完成后需要进行的6个后续操作>要点: 本文介绍了MYSQL数据库Mysql数据库安装完成后需要进行的6个后续操作,希望对您有用.如果有疑问,可以联系我 ...

  10. MySQL数据库安装

    MySQL数据库安装 为了安装MySQL ,连爬带滚地忙活了两天,感觉自己真的不是一般的菜啊.在孔大佬和百度网友的帮助指导下,终于装好了MySQl,还学会了连接上SQLyog图形化界面.不过真的不得不 ...

最新文章

  1. Github上十大热门可视化面板!再也不用担心画图啦!
  2. 塑料:泡两天澡我就消失了?酶降解塑料居然可以这么快 | Nature
  3. 哪些是能安装mysql的文件_安装mysql详细步骤有哪些?
  4. 云炬随笔20180607
  5. linux系统中查看gcc内置宏定义的命令方法
  6. Android permission 访问权限一览
  7. C# —— 进程与线程的理解
  8. ListView原理简单介绍(着重介绍getView被调用的一系列过程)
  9. 位图文件(BMP)格式以及Linux下C程序实现(转)
  10. 封装自己的Flex工具_SocketTool
  11. 基于flowplayer的视频缩略图的视频预览
  12. 用protues作RC桥式振荡电路仿真,无法形成正弦波,求解惑
  13. String.indexOf 用法
  14. Anaconda更新报404:UnavailableInvalidChannel: The channel is not accessible or is invalid.error404
  15. 第2阶段 第12讲 XMLHTTP协议
  16. 企业人事管理系统V0.2.0
  17. 《2020版JavaScript基础入门教程全集》,助你一臂之力!
  18. 【什么是哈希, 什么是哈希冲突,怎么解决哈希冲突? 】
  19. js数字时钟 js桌面时钟 js获得系统当前时间
  20. 亿唐高管反思六年烧钱:转型Web2.0重提专注

热门文章

  1. python 让电脑发出声音代码,用python录制输出声音
  2. windows 如何录制电脑自身内部的声音,无需 (Stereo mix )立体声混合选项
  3. 想自学PLC编程该按什么步骤来?
  4. Excel进行数据分析的常用知识的学习整理
  5. 腾达ap设置说明_腾达(Tenda)路由器如何设置AP模式
  6. 5节锂电池升压充电管理芯片
  7. eyoucms使用入门 一
  8. 有道词典的本地/扩展/离线词库
  9. adc0832工作原理详解_adc0834工作原理及AD转换
  10. 碳化硅纳米线,SiC纳米线(SiC nanowires),SiC短纤维(SiC fiber),SiC晶须(SiC whiskers)的主要应用方向,检测XRD图谱