1、数据库操作

1.1准备工作:

1、安装一个mysql数据库软件
2、创建一个数据库,test
3、在python的环境安装一个模块:

MySQLdb

1.2 安装mysql的连接包

第一种:工具安装
Python3.x版本:Pip install mysqlclient
Python2.x 版本:pip install mysql-python

错误
在win7-64bit的环境下会有错误:unable to find vcvarsall.bat
解决方案:
基本等于误解
第二种:手动安装
(1)先wheel
需要下载安装包:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
根据对应的python版本下载安装包
Pip instal xxxxxxx.whl
(2)安装mysqlclient
下载地址:
http://www.lfd.uci.edu/~gohlke/pythonlibs/

下载后的内容:

选择版本:
在网上有很多安装mysql的操作方法,简单概述就是:
Python2.x 安装mysql-python (如果是Python2.x就安装mysql-python)
Python3.x 安装mysqlclient (如果是Python3.x就安装mysqlclient)
安装步骤:

1.2.1 首先要在cmd下安装wheel包:

D:\baiduDownload\software\python>pip install wheel

1.2.2 接着进入*.whl安装包所在的目录,用cd命令

D:\baiduDownload\software\python>cd /D D:/baiduDownload/software/python

1.2.3 使用 pip install *.whl安装mysqlclient

D:\baiduDownload\software\python>pip install mysqlclient

2、编写python操作数据的代码

import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("192.168.106.100","root","123456","bigdata")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()

运行结果:

3、python创建数据库表

import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("192.168.106.100","root","123456","bigdata")
#使用cursor()方法获取操作游标
cursor = db.cursor()
# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (FIRST_NAME  CHAR(20) NOT NULL,LAST_NAME  CHAR(20),AGE INT,SEX CHAR(1),INCOME FLOAT)"""
cursor.execute(sql)
# 关闭数据库连接
db.close()

4、插入数据

import MySQLdb
#打开数据库连接
db = MySQLdb.connect("192.168.106.100","root","123456","bigdata")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,LAST_NAME, AGE, SEX, INCOME)VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:# 执行sql语句cursor.execute(sql)# 提交到数据库执行db.commit()
except:# Rollback in case there is any errordb.rollback()
# 关闭数据库连接
db.close()

上面的代码可以写成:

import MySQLdb
#打开数据连接
db = MySQLdb.connect("192.168.106.100","root","123456","bigdata")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \LAST_NAME, AGE, SEX, INCOME) \VALUES ('%s', '%s', '%d', '%c', '%d' )" % \('Mac', 'Mohan', 20, 'M', 2000)
try:# 执行sql语句cursor.execute(sql)# 提交到数据库执行db.commit()
except:# 发生错误时回滚db.rollback()
# 关闭数据库连接
db.close()

5、查询数据

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall():接收全部的返回结果行.
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

import MySQLdb
#打开数据库连接
db = MySQLdb.connect("192.168.106.100","root","123456","bigdata")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \WHERE INCOME > '%d'" % (1000)
try:# 执行SQL语句cursor.execute(sql)# 获取所有记录列表results = cursor.fetchall()for row in results:fname = row[0]lname = row[1]age = row[2]sex = row[3]income = row[4]# 打印结果print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \(fname, lname, age, sex, income ))
except:print("Error: unable to fecth data")
# 关闭数据库连接
db.close()

执行后的结果:

6 更新数据库内容

import MySQLdb
db = MySQLdb.connect("192.168.106.100","root","123456","bigdata")# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
try:# 执行SQL语句cursor.execute(sql)# 提交到数据库执行db.commit()
except:# 发生错误时回滚db.rollback()
# 关闭数据库连接
db.close()

执行后前的结果是:

更新后的结果:

7 数据库删除操作

删除作用于删除数据表中的数据
删除数据表EMPLOYEE中AGE大于20的所有数据:

import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("192.168.106.100","root","123456","bigdata")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:# 执行SQL语句cursor.execute(sql)# 提交修改db.commit()
except:# 发生错误时回滚db.rollback()
# 关闭连接
db.close()

数据删除前的操作:

Python3.x的mysqlclient的安装、Python操作mysql,python连接MySQL数据库,python创建数据库表,带有事务的操作,CRUD相关推荐

  1. 【SQL数据库】数据库的创建、查询、插入等操作使用方法(结合黑皮书教材网站(db-book中的例子)在MySQL Workbench和shell中实现查询操作

    SQL 数据库的创建.查询.插入等操作使用方法(结合黑皮书教材网站中的例子) 注:数据来源: https://www.db-book.com/university-lab-dir/sample_tab ...

  2. Centos6.8下安装Mysql5.6.14,连接mysql及增删改查,通过Mysql-Front远程连接(开启端口、允许远程连接)

    Centos6.8下安装Mysql5.6.14,连接mysql及增删改查,并能通过Mysql-Front远程连接(开启端口.允许远程连接) 概述: 通过源代码安装高版本的5.6.14. 正文: 一:卸 ...

  3. Java中使用mysql驱动连接mysql以及mysql的安装

    好久不见,随着Java课程的推进小编其实也在不断的学习之中,同时也遇到很多问题,下面就由小编为大伙们详细的说一下Java中使用mysql驱动连接mysql数据库以及mysql的安装以及使用数据库连接池 ...

  4. python web框架flask连接mysql数据库操作

    最近在用flask框架做一个python web项目,其中要连接数据库,所以总结如下: 如何用pycharm快速创建一个flask项目我就不详细说了,可以先创建虚拟环境,不过大部分的事pycharm都 ...

  5. python 事务操作_Python实现连接mysql数据库及事务处理【冰斌棒】

    Python实现连接mysql数据库及事务处理[冰斌棒] 3年前 (2018-02-02)    作者:冰斌棒    分类:冰斌棒18程序计划    阅读次数:774 评论(0) import pym ...

  6. python使用PyMySQL的连接MySQL数据库

    如何实现将100000条数据插入到MySQL数据库?如果使用MySQL客户端来完成这个操作,那么这个工作量无疑是巨大的,可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删 ...

  7. Centos7安装mysql5.7及django连接mysql

    目录 1.下载MySQL官方的 Yum Repository 2. 配置数据库 2.1启动数据库 2.2 查看数据库状态 2.3 找出root用户的初始密码 2.4 修改初始密码 2.4.1 登录My ...

  8. python连接数据库步骤_Python连接mysql数据库

    Python中连接MySQL的库主要有三个,Python-MySQL,PyMySQL和SQLAlchemy,其中Python-MySQL已经停止更新,且只支持Python2,目前使用最广泛的是PyMy ...

  9. centos jdbc配置mysql_CentOS安装glassfish4.0配置jdbc连接mysql

    版本glassfish-4.0.zip 1.解压,拷贝到指定安装路径 unzip glassfish-4.0.zip cp cp glassfish4 /usr/local/ -rf 2.设置glas ...

最新文章

  1. GNN 系列(三):GraphSAGE
  2. [官方教程] [ES4封装教程]1.使用 VMware Player 创建适合封装的虚拟机
  3. PIL Image resize 调整大小谜之操作
  4. 苏嵌第一天,shell中一些基础知识
  5. [Catalan]求解随机出栈可能数(洛谷P1044题题解,Java语言描述)
  6. ppt格式刷快捷键_为什么别人PPT做的比你快?因为你没掌握这些!
  7. Vmware10组建局域网
  8. ES6深入浅出-1 新版变量声明:let 和 const-1.视频 概述
  9. callback函数 matlab,matlab GUI 自主设计时callback回调函数问题
  10. Unity任意版本Vuforia插件下载
  11. 简易数字时钟 按键可校准
  12. 火狐老是跳出提示“Firefox正在安装组件,以便播放此页面上......”
  13. 我的世界服务器物品代码,我的世界指令代码大全 2021通用指令代码汇总[多图]...
  14. android ocr 身份证识别
  15. 图片的合成(个人练习,不喜勿喷!)
  16. 【R语言爬虫】R语言提交post请求抓取盈盈理财数据
  17. centos8在线文档编辑ONLYOFFICE安装
  18. umijs介绍及基本用法、配置式路由、约定式路由、路由传参等
  19. 手把手教你撸最新Youtube视频 拖拽动画效果
  20. C语言的除法运算:整除/和求余%

热门文章

  1. 使用parted给大于2T的磁盘分区
  2. VTK:baking烘焙阴影贴图用法实战
  3. wxWidgets:通过组合现有小部件制作新的可重用小部件
  4. boost::detail::spinlock_pool相关的测试程序
  5. boost::log::static_type_dispatcher用法的测试程序
  6. boost::hana::first用法的测试程序
  7. boost::hana::length用法的测试程序
  8. boost::format模块演示添加到 printf 语法的功能
  9. ITK:创建三角形四边形网格
  10. ITK:创建一个RGB图像