PyMySQL - Python3 MySQL数据库连接 - 基本操作
一、Python连接MySQL数据库
1.导入模块
- #导入模块
- import pymysql
2.打开数据库连接
- #打开数据库连接
- #注意:这里已经假定存在数据库testdb,db指定了连接的数据库,当然这个参数也可以没有
- db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='testdb', charset='utf8')
3.创建游标对象cursor
- #使用cursor方法创建一个游标
- cursor = db.cursor()
二、数据库基本操作
使用execute()方法来实现对数据库的基本操作。
1.查询数据库版本
- #查询数据库版本
- cursor.execute("select version()")
- data = cursor.fetchone()
- print(" Database Version:%s" % data)
2.创建数据库
- #创建数据库test
- cursor.execute("drop database if exists test") #如果数据库已经存在,那么删除后重新创建
- sql = "create database test"
- cursor.execute(sql)
3.创建数据表
- #创建数据库表
- cursor.execute("drop table if exists employee") #如果数据表已经存在,那么删除后重新创建
- sql = """
- CREATE TABLE EMPLOYEE (
- FIRST_NAME CHAR(20) NOT NULL,
- LAST_NAME CHAR(20),
- AGE INT,
- SEX CHAR(1),
- INCOME FLOAT )
- """
- cursor.execute(sql)
4.查询操作
- #查询数据表数据
- sql = "select * from employee"
- cursor.execute(sql)
- data = cursor.fetchone()
- print(data)
5.插入操作
- #插入数据
- sql = "insert into employee values ('李','梅',20,'W',5000)"
- cursor.execute(sql)
- db.commit()
- #查看插入后的结果
- sql = "select * from employee"
- cursor.execute(sql)
- data = cursor.fetchone()
- print(data)
6.指定条件查询数据
- #指定条件查询数据表数据
- sql = " select * from employee where income > '%d' " % (1000)
- cursor.execute(sql)
- data = cursor.fetchone()
- print(data)
7.更新操作
- #更新数据库
- sql = " update employee set age = age+1 where sex = '%c' " % ('W')
- cursor.execute(sql)
- db.commit()
- #查看更新后的结果
- sql = "select * from employee"
- cursor.execute(sql)
- data = cursor.fetchone()
- print(data)
8.删除操作
- #删除数据
- sql = " delete from employee where age > '%d' " % (30)
- cursor.execute(sql)
- db.commit()
- #查看更新后的结果
- sql = "select * from employee"
- cursor.execute(sql)
- data = cursor.fetchone()
- print(data)
三、关闭数据库连接
- db.close()
四、其他
1.说明
- 上例中"sql=..."语句,是经典的MySQL语句的形式,将数据库语句写在双引号内,形成类似字符串的形式;
- 使用cursor对象的execute()方法具体执行数据库的操作;
- 对于插入、更新、删除等操作,需要使用db.commit()来提交到数据库执行,对于查询、创建数据库和数据表的操作不需要此语句。
2.为有效避免因为错误导致的后果,使用以下方式来执行数据库的操作:
- try:
- # 执行 SQL 语句
- cursor.execute(sql)
- # 提交修改
- db.commit()
- except:
- # 发生错误时回滚
- db.rollback()
PyMySQL - Python3 MySQL数据库连接 - 基本操作的更多相关文章
- Python3 MySQL 数据库连接 -PyMySQL
Python 3 操作mysql http://www.runoob.com/python3/python3-mysql.html Python3 MySQL 数据库连接 本文我们为大家介绍 Pyt ...
- 吴裕雄--天生自然python学习笔记:Python3 MySQL 数据库连接 - PyMySQL 驱动
什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...
- Python3 MySQL 数据库连接
什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...
- Python3 MySQL 数据库连接 - PyMySQL 驱动
什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...
- Python3 MySQL 数据库连接 - PyMySQL 驱动 笔记
sql插入语句(推荐): str_mac = "nihao" # SQL 插入语句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ L ...
- Python3.x使用PyMysql连接MySQL数据库
Python3.x使用PyMysql连接MySQL数据库 由于Python3.x不向前兼容,导致Python2.x中的很多库在Python3.x中无法使用,例如Mysqldb,我前几天写了一篇博客Py ...
- Python3 - MySQL适配器 PyMySQL
本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一 ...
- Python3.5 MySQL 数据库连接
Python3.5 MySQL 数据库连接 在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查 为什么使用PyMySQL? PyMySQL是在Pyhton3.x版本中用 ...
- Python3.x:使用PyMysql连接Mysql数据库
Python3.x:使用PyMysql连接Mysql数据库 Python3.x完全不向前兼容,导致Python2.x中可以正常使用的库,到了Python3就用不了: 比如说mysqldb,目前MySQ ...
随机推荐
- 自制无线共享工具C++源代码及创建过程
// wire.cpp : 定义控制台应用程序的入口点.// #include <iostream>#include <string.h>using namespace std ...
- jQuery 首页搜索区域模块随页面滑动而变化
/*搜索区块的颜色变化*/ function search(){ var searchBox = document.querySelector('.m_head'); var bannerBox = ...
- 网络基础编程_5.4聊天室-IOCP服务器
聊天室-IOCP服务器 main 创建完成端口内核对象(CreateIoCompletionPort) 获取核心数并创建线程(GetSystemInfo + CreateThread) 创建套接字并绑 ...
- 「二叉搜索树 / set / 朝鲜树 / 替罪羊树」快速排序
要求 给定n个数,对这n个数进行排序 这题当然可以直接调用sort #include<cstdio> #include<vector> #define ll long long ...
- 06CSS列表
CSS列表 列表样式——list-style-type list-style-type:<属性值> disc 黑圆点 circle 空心圆点 square 小黑方块 decimal ...
- python 调用exe程序
#!/usr/bin/python #-*- coding:utf-8 -*- import os, subprocess import tkMessageBox import msg_box def ...
- Spring boot 配置tomcat后 控制台不打印SQL日志
在pom.xml中配置tomcat启动处加上: <dependency> <groupId>org.springframework.boot</groupId> & ...
- 一键分享到QQ空间、QQ好友、新浪微博、微信代码
通过qq空间.qq聊天.新浪微博和微信二维码分享平台提供的接口,实现把网页中对应的图片.标题.描述的信息参数用javascript获取后传进接口中,实现一键分享. 使用到的接口(测试时需要登录,网址和 ...
- POJ 1664 放苹果( 递推关系 )
链接:传送门 思路:苹果m个,盘子n个.假设 f ( m , n ) 代表 m 个苹果,n个盘子有 f ( m , n ) 种放法. 根据 n 和 m 的关系可以进一步分析: 特殊的 n = 1 || ...
- node new Buffer()详解
new Buffer(size) size {Number} 分配一个 size 字节大小的新 Buffer.size 必须小于等于 require('buffer').kMaxLength(在64位 ...