Python连接MySQL数据库(pymysql的使用)
本文Python版本3.5.3,mysq版本5.7.23
基本使用
# 导入pymysql模块
import pymysql #连接数据库
conn = pymysql.connect(
database="数据库名",
user="用户名",
password="密码",
host="数据的地址,
port=3306, # 端口3306是固定的
charset="utf8") # 只能是utf8,千万不能是utf-8.在数据库中只能是utf8 #得到一个可以执行SQL的游标对象
cursor = conn.cursor() #定义需要执行的SQL语句
sql="""
create table user(
id int auto_increment primary key,
name char(10) not null unique,
age tinyint not null
)engine=innodb default charset=utf8;
"""
#执行语句
cursor.execute(sql)
#关闭游标对象
cursor.close()
#关闭数据库连接
conn.close()
对数据进行增删改查
# 导入pymysql模块
import pymysql #连接数据库
conn = pymysql.connect(
database="db",
user="root",
password="123456",
host="localhost",
port=3306,
charset="utf8") #得到一个可以执行SQL的游标对象
cursor = conn.cursor() #定义需要执行的SQL语句
sql="""
insert into user(name,age) values(%s,%s);
"""
name = "曹操",
age = 34
data = [("aaa", 18), ("bbb", 20), ("cccc", 21)] try:
print(sql)
#插入一条数据SQL语句,只能插入单条
# cursor.execute(sql,(name,age)) # 防止SQL注入 #批量插入多天SQL语句
cursor.executemany(sql,data) #第二个参数可以是列表或数组
# 提交事务)
conn.commit()
except Exception as e:
# 有异常,回滚事务
conn.rollback()
print(e)
#关闭游标对象
cursor.close()
#关闭数据库连接
conn.close()
删
# 导入pymysql模块
import pymysql #连接数据库
conn = pymysql.connect(
database="db",
user="root",
password="123456",
host="localhost",
port=3306,
charset="utf8") #得到一个可以执行SQL的游标对象
cursor = conn.cursor() #定义需要执行的SQL语句
sql="""
delete from user where id=%s
""" try:
cursor.execute(sql,[4])
# 提交事务
conn.commit()
except Exception as e:
# 有异常,回滚事务
conn.rollback()
print(e)
#关闭游标对象
cursor.close()
#关闭数据库连接
conn.close()
改
# 导入pymysql模块
import pymysql #连接数据库
conn = pymysql.connect(
database="db",
user="root",
password="123456",
host="localhost",
port=3306,
charset="utf8") #得到一个可以执行SQL的游标对象
cursor = conn.cursor() #定义需要执行的SQL语句
sql="""
update user set age=%s where name=%s;
"""
name="刘备"
age=18 try:
cursor.execute(sql,(age,name))
# 提交事务
conn.commit()
except Exception as e:
# 有异常,回滚事务
conn.rollback()
print(e)
#关闭游标对象
cursor.close()
#关闭数据库连接
conn.close()
查
# 导入pymysql模块
import pymysql #连接数据库
conn = pymysql.connect(
database="db",
user="root",
password="123456",
host="localhost",
port=3306,
charset="utf8") # 得到一个可以执行SQL的游标对象
# 增加参数后结果返回字典格式的数据
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #定义需要执行的SQL语句
sql="""
select * from user where id=2;
""" sql1="""
select * from user;
""" # 执行查询数据的SQL语句
cursor.execute(sql)
# 获取单条查询数据
ret = cursor.fetchone() # 获取多条查询数据
cursor.execute(sql1)
ret1 = cursor.fetchall() #关闭游标对象
cursor.close()
#关闭数据库连接
conn.close() # 打印查询结果
print(ret)
print(ret1)
得到的数据为字典类型的数据,在数据的传输过程中比较好
# 可以获取指定数量的数据
cursor.fetchmany(4)
Python连接MySQL数据库(pymysql的使用)的更多相关文章
- 使用python连接mysql数据库——pymysql模块的使用
安装pymysql pip install pymysql 使用pymysql 使用数据查询语句 查询一条数据fetchone() from pymysql import * conn = conne ...
- pymysql模块使用---Python连接MySQL数据库
pymysql模块使用---Python连接MySQL数据库 浏览目录 pymysql介绍 连接数据库 execute( ) 之 sql 注入 增删改查操作 进阶用法 一.pymysql介绍 1.介绍 ...
- Python连接MySQL数据库的多种方式
上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...
- python 连接Mysql数据库
1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...
- Python连接MySQL数据库之pymysql模块使用
安装PyMySQL pip install pymysql PyMySQL介绍 PyMySQL是在python3.x版本中用于连接MySQL服务器的一个库,2中则使用mysqldb. Django中也 ...
- Mysql(九):Python连接MySQL数据库之pymysql模块使用
Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用. PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服 ...
- python入门(十七)python连接mysql数据库
mysql 数据库:关系型数据库mysql:互联网公司 sqllite:小型数据库,占用资源少,手机里面使用oracle:银行.保险.以前外企.sybase:银行+通信 互联网公司key:valuem ...
- python连接mysql数据库,并进行添加、查找数据
1.删除MySQL数据表中的记录 DELETE FROM table_name WHERE condition; python操作mysql1数据库 import pymysql # 连接mysql数 ...
- Python连接MySQL数据库
连接MySQL数据库 源码: import MySQLdb #导入MySQLdb模块 print '连接数据库</br>' #连接MySQL数据库 connect the database ...
随机推荐
- python第二十三课——dict中的函数
dic1 = {...} dic2 = {...} dic1.update(dic2) 1.update(dict):dic1调用update传入dic2,如果dic2中的内容在dic1中不存在,那么 ...
- 1503. [NOI2004]郁闷的出纳员【平衡树-splay】
Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的 工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经 ...
- 【洛谷】【堆】P1801 黑匣子_NOI导刊2010提高(06)
[题目描述:] Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命令只有两 ...
- 1875: [SDOI2009]HH去散步
Time Limit: 20 Sec Memory Limit: 64 MB Submit: 2333 Solved: 1204 [Submit][Status][Discuss] Descripti ...
- [luogu2312] 解方程
题面 秦九韶公式 看了上面这个之后大家应该都会了, 就是读入的时候边读入边取模, 从\(1\)到\(m\)间将每一个数带进去试一下就可以了, 复杂度是\(O(nm)\)的. 古人的智慧是无 ...
- 简单的XSS手动测试
好吧,我也是初学者,写这个随笔,主要也是为了记录,自学到的点. 简单的案例,见http://www.cnblogs.com/trhimily/p/3898915.html 总结一下主要的点: 1. u ...
- Java泛型学习一
Java泛型 所谓泛型,就是变量类型的参数化.泛型是java1.5中引入的一个重要特征,通过引入泛型,可以使编译时类型安全,运行时更少抛出ClassCastException的可能.一提到参数化,最熟 ...
- mysql因为服务器异常关机倒是启动不了 找不到mysql.sock
今天mysql服务器突然异常关机,查看云平台发现该vm处于为开机状态切状态是无法启动,经过协调, 服务器启动了.但是进行service mysql start 启动时.提示错误: Starting M ...
- python js 处理弹窗图片
内置函数 : driver.execute_script() 2.自定义弹窗 由于alert弹窗不美观,现在大多数网站都会使用自定义弹窗,使用Selenium自带的方法就驾驭不了了,此时就要搬出JS大 ...
- ucos串口通讯模块设计
在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率.缩短开发周期.uCOS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8~32位 ...