本文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的使用)的更多相关文章

  1. 使用python连接mysql数据库——pymysql模块的使用

    安装pymysql pip install pymysql 使用pymysql 使用数据查询语句 查询一条数据fetchone() from pymysql import * conn = conne ...

  2. pymysql模块使用---Python连接MySQL数据库

    pymysql模块使用---Python连接MySQL数据库 浏览目录 pymysql介绍 连接数据库 execute( ) 之 sql 注入 增删改查操作 进阶用法 一.pymysql介绍 1.介绍 ...

  3. Python连接MySQL数据库的多种方式

    上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...

  4. python 连接Mysql数据库

    1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...

  5. Python连接MySQL数据库之pymysql模块使用

    安装PyMySQL pip install pymysql PyMySQL介绍 PyMySQL是在python3.x版本中用于连接MySQL服务器的一个库,2中则使用mysqldb. Django中也 ...

  6. Mysql(九):Python连接MySQL数据库之pymysql模块使用

    Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用. PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服 ...

  7. python入门(十七)python连接mysql数据库

    mysql 数据库:关系型数据库mysql:互联网公司 sqllite:小型数据库,占用资源少,手机里面使用oracle:银行.保险.以前外企.sybase:银行+通信 互联网公司key:valuem ...

  8. python连接mysql数据库,并进行添加、查找数据

    1.删除MySQL数据表中的记录 DELETE FROM table_name WHERE condition; python操作mysql1数据库 import pymysql # 连接mysql数 ...

  9. Python连接MySQL数据库

    连接MySQL数据库 源码: import MySQLdb #导入MySQLdb模块 print '连接数据库</br>' #连接MySQL数据库 connect the database ...

随机推荐

  1. python第二十三课——dict中的函数

    dic1 = {...} dic2 = {...} dic1.update(dic2) 1.update(dict):dic1调用update传入dic2,如果dic2中的内容在dic1中不存在,那么 ...

  2. 1503. [NOI2004]郁闷的出纳员【平衡树-splay】

    Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的 工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经 ...

  3. 【洛谷】【堆】P1801 黑匣子_NOI导刊2010提高(06)

    [题目描述:] Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命令只有两 ...

  4. 1875: [SDOI2009]HH去散步

    Time Limit: 20 Sec Memory Limit: 64 MB Submit: 2333 Solved: 1204 [Submit][Status][Discuss] Descripti ...

  5. [luogu2312] 解方程

    题面 ​ 秦九韶公式 ​ 看了上面这个之后大家应该都会了, 就是读入的时候边读入边取模, 从\(1\)到\(m\)间将每一个数带进去试一下就可以了, 复杂度是\(O(nm)\)的. ​ 古人的智慧是无 ...

  6. 简单的XSS手动测试

    好吧,我也是初学者,写这个随笔,主要也是为了记录,自学到的点. 简单的案例,见http://www.cnblogs.com/trhimily/p/3898915.html 总结一下主要的点: 1. u ...

  7. Java泛型学习一

    Java泛型 所谓泛型,就是变量类型的参数化.泛型是java1.5中引入的一个重要特征,通过引入泛型,可以使编译时类型安全,运行时更少抛出ClassCastException的可能.一提到参数化,最熟 ...

  8. mysql因为服务器异常关机倒是启动不了 找不到mysql.sock

    今天mysql服务器突然异常关机,查看云平台发现该vm处于为开机状态切状态是无法启动,经过协调, 服务器启动了.但是进行service mysql start 启动时.提示错误: Starting M ...

  9. python js 处理弹窗图片

    内置函数 : driver.execute_script() 2.自定义弹窗 由于alert弹窗不美观,现在大多数网站都会使用自定义弹窗,使用Selenium自带的方法就驾驭不了了,此时就要搬出JS大 ...

  10. ucos串口通讯模块设计

    在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率.缩短开发周期.uCOS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8~32位 ...