一、Python连接MySQL数据库

  1.导入模块

  1. #导入模块
  2. import pymysql

  2.打开数据库连接

  1. #打开数据库连接
  2. #注意:这里已经假定存在数据库testdb,db指定了连接的数据库,当然这个参数也可以没有
  3. db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='testdb', charset='utf8')

  3.创建游标对象cursor

  1. #使用cursor方法创建一个游标
  2. cursor = db.cursor()

二、数据库基本操作

使用execute()方法来实现对数据库的基本操作。

  1.查询数据库版本

  1. #查询数据库版本
  2. cursor.execute("select version()")
  3. data = cursor.fetchone()
  4. print(" Database Version:%s" % data)

  2.创建数据库

  1. #创建数据库test
  2. cursor.execute("drop database if exists test") #如果数据库已经存在,那么删除后重新创建
  3. sql = "create database test"
  4. cursor.execute(sql)

  3.创建数据表

  1. #创建数据库表
  2. cursor.execute("drop table if exists employee") #如果数据表已经存在,那么删除后重新创建
  3. sql = """
  4. CREATE TABLE EMPLOYEE (
  5. FIRST_NAME CHAR(20) NOT NULL,
  6. LAST_NAME CHAR(20),
  7. AGE INT,
  8. SEX CHAR(1),
  9. INCOME FLOAT )
  10. """
  11. cursor.execute(sql)

  4.查询操作

  1. #查询数据表数据
  2. sql = "select * from employee"
  3. cursor.execute(sql)
  4. data = cursor.fetchone()
  5. print(data)

  5.插入操作

  1. #插入数据
  2. sql = "insert into employee values ('李','梅',20,'W',5000)"
  3. cursor.execute(sql)
  4. db.commit()
  5. #查看插入后的结果
  6. sql = "select * from employee"
  7. cursor.execute(sql)
  8. data = cursor.fetchone()
  9. print(data)

  6.指定条件查询数据

  1. #指定条件查询数据表数据
  2. sql = " select * from employee where income > '%d' " % (1000)
  3. cursor.execute(sql)
  4. data = cursor.fetchone()
  5. print(data)

  7.更新操作

  1. #更新数据库
  2. sql = " update employee set age = age+1 where sex = '%c' " % ('W')
  3. cursor.execute(sql)
  4. db.commit()
  5. #查看更新后的结果
  6. sql = "select * from employee"
  7. cursor.execute(sql)
  8. data = cursor.fetchone()
  9. print(data)

   8.删除操作

  1. #删除数据
  2. sql = " delete from employee where age > '%d' " % (30)
  3. cursor.execute(sql)
  4. db.commit()
  5. #查看更新后的结果
  6. sql = "select * from employee"
  7. cursor.execute(sql)
  8. data = cursor.fetchone()
  9. print(data)

三、关闭数据库连接

  1. db.close()

四、其他

  1.说明

  • 上例中"sql=..."语句,是经典的MySQL语句的形式,将数据库语句写在双引号内,形成类似字符串的形式;
  • 使用cursor对象的execute()方法具体执行数据库的操作;
  • 对于插入、更新、删除等操作,需要使用db.commit()来提交到数据库执行,对于查询、创建数据库和数据表的操作不需要此语句。

  2.为有效避免因为错误导致的后果,使用以下方式来执行数据库的操作:

  1. try:
  2. # 执行 SQL 语句
  3. cursor.execute(sql)
  4. # 提交修改
  5. db.commit()
  6. except:
  7. # 发生错误时回滚
  8. db.rollback()

PyMySQL - Python3 MySQL数据库连接 - 基本操作的更多相关文章

  1. Python3 MySQL 数据库连接 -PyMySQL

    Python 3  操作mysql http://www.runoob.com/python3/python3-mysql.html Python3 MySQL 数据库连接 本文我们为大家介绍 Pyt ...

  2. 吴裕雄--天生自然python学习笔记:Python3 MySQL 数据库连接 - PyMySQL 驱动

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...

  3. Python3 MySQL 数据库连接

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...

  4. Python3 MySQL 数据库连接 - PyMySQL 驱动

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...

  5. Python3 MySQL 数据库连接 - PyMySQL 驱动 笔记

    sql插入语句(推荐): str_mac = "nihao" # SQL 插入语句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ L ...

  6. Python3.x使用PyMysql连接MySQL数据库

    Python3.x使用PyMysql连接MySQL数据库 由于Python3.x不向前兼容,导致Python2.x中的很多库在Python3.x中无法使用,例如Mysqldb,我前几天写了一篇博客Py ...

  7. Python3 - MySQL适配器 PyMySQL

    本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一 ...

  8. Python3.5 MySQL 数据库连接

    Python3.5  MySQL 数据库连接 在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查 为什么使用PyMySQL? PyMySQL是在Pyhton3.x版本中用 ...

  9. Python3.x:使用PyMysql连接Mysql数据库

    Python3.x:使用PyMysql连接Mysql数据库 Python3.x完全不向前兼容,导致Python2.x中可以正常使用的库,到了Python3就用不了: 比如说mysqldb,目前MySQ ...

随机推荐

  1. 自制无线共享工具C++源代码及创建过程

    // wire.cpp : 定义控制台应用程序的入口点.// #include <iostream>#include <string.h>using namespace std ...

  2. jQuery 首页搜索区域模块随页面滑动而变化

    /*搜索区块的颜色变化*/ function search(){ var searchBox = document.querySelector('.m_head'); var bannerBox = ...

  3. 网络基础编程_5.4聊天室-IOCP服务器

    聊天室-IOCP服务器 main 创建完成端口内核对象(CreateIoCompletionPort) 获取核心数并创建线程(GetSystemInfo + CreateThread) 创建套接字并绑 ...

  4. 「二叉搜索树 / set / 朝鲜树 / 替罪羊树」快速排序

    要求 给定n个数,对这n个数进行排序 这题当然可以直接调用sort #include<cstdio> #include<vector> #define ll long long ...

  5. 06CSS列表

    CSS列表 列表样式——list-style-type list-style-type:<属性值> disc   黑圆点 circle 空心圆点 square   小黑方块 decimal ...

  6. python 调用exe程序

    #!/usr/bin/python #-*- coding:utf-8 -*- import os, subprocess import tkMessageBox import msg_box def ...

  7. Spring boot 配置tomcat后 控制台不打印SQL日志

    在pom.xml中配置tomcat启动处加上: <dependency> <groupId>org.springframework.boot</groupId> & ...

  8. 一键分享到QQ空间、QQ好友、新浪微博、微信代码

    通过qq空间.qq聊天.新浪微博和微信二维码分享平台提供的接口,实现把网页中对应的图片.标题.描述的信息参数用javascript获取后传进接口中,实现一键分享. 使用到的接口(测试时需要登录,网址和 ...

  9. POJ 1664 放苹果( 递推关系 )

    链接:传送门 思路:苹果m个,盘子n个.假设 f ( m , n ) 代表 m 个苹果,n个盘子有 f ( m , n ) 种放法. 根据 n 和 m 的关系可以进一步分析: 特殊的 n = 1 || ...

  10. node new Buffer()详解

    new Buffer(size) size {Number} 分配一个 size 字节大小的新 Buffer.size 必须小于等于 require('buffer').kMaxLength(在64位 ...