用python操作MySQL
1.下载PyMySQL
在cmd
中执行一下命令:
pip install PyMySQL
2.连接对象
使用数据库之前需要先连接数据库。成功连接数据库后会获得连接对象。
一般连接方式有两种。
(1)
import pymysql #导入库
connection = pymysql.connect(host = 'localhost', #就写这个就好user = 'root', #数据库用户名,可以登录MySQL查看password = '******', #密码是数据库的密码db = 'test_db', #数据库的名称charset = 'utf8',#不能是 utf-8cursorclass = pymysql.cursors.DictCursor #游标类型)
(2)
import pymysql #导入库# 打开数据库连接
connection = pymysql.connect("localhost", "root", "******", "test", charset='utf8' )
在上个例子中connection
就是连接对象。
连接对象的方法
一下是常用的方法:
方法 | 说明 |
---|---|
cursor() | 获取游标对象,操作数据库 |
commit() |
提交事务(在添加记录时,必须要用上)
|
rollback() | 回滚事务 |
close() | 关闭数据库连接 |
游标对象
获取游标对象
cursor = connection.cursor() #connection 是上文提到的连接对象
游标对象的常用方法
方法 | 说明 |
---|---|
execute() | 执行数据库操作,SQL语句 |
executemany() | 用于批量操作 |
fetchone() | 获取查询结果集中的下一条 |
fetchmany (size) | 获取指定数量的记录 |
fetall() | 获取结构集的所有记录 |
close() | 关闭当前游标 |
创建数据表
import pymysqlconnection = pymysql.connect(host = 'localhost',user = 'root',password = '20205863llc@',db = 'test_db',charset = 'utf8',#不能是 utf-8cursorclass = pymysql.cursors.DictCursor)
cursor = connection.cursor()
#SQL 创建数据表语句
sql2 = '''
CREATE TABLE books(
id int NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
category varchar(50) NOT NULL,
price decimal(10.2) DEFAULT '0',
publish_time date DEFAULT NULL,
PRIMARY KEY(id)
);
'''
#执行该语句
cursor.execute(sql2)
cursor.close()
connection.close()
向数据表中插入数据
相关MySQL语句可以参考这篇文章
MySQL
使用cursor.execute()执行SQL语句后,默认不会提交,需要手动提交。
import pymysqlconnection = pymysql.connect(host = 'localhost',user = 'root',password = '****',db = 'test_db', #数据库名charset = 'utf8',#不能是 utf-8cursorclass = pymysql.cursors.DictCursor)
cursor = connection.cursor()#SQL 语句
sql1 ='''
insert into pymysql_1 (id) values (2);
'''
# pymysql_1 是数据库 test_db 的一个数据表
#执行该语句
cursor.execute(sql1)
#提交事务,记得是连接对象
connection.commit()
cursor.close()
connection.close()
插入多条记录:
import pymysql
#打开数据库连接
connection = pymysql.connect(host = 'localhost',user = 'root',password = '*****',db = 'test_db',charset = 'utf8',#不能是 utf-8cursorclass = pymysql.cursors.DictCursor)#获取操作游标
cursor = connection.cursor()
sql ='''
select * from tmp3;
'''
#数据列表
data = [("零基础学python",'Python','79.80','2021-8-4'),
("零基础学C++",'c++','69.80','2021-8-4'),
("零基础学PHP",'PHP','69.80','2021-8-4'),
("零基础学HTML",'HTNL','79.80','2021-8-4'),
("零基础学Java",'Java','69.80','2021-8-4'),
]#执行SQL语句
try:cursor.executemany("insert into books(name,category,price,publish_time) values(%s,%s,%s,%s)",data)connection.commit() #提交记录
except:#发生错误时回滚connection.rollback()
cursor.close()
connection.close()
查询操作
对于查询操作,执行select 查询SQL语句生成一个结果集,需要使用,
,fetchone()或fetchmany 或fetchall()
import pymysql
#打开数据库连接
connection = pymysql.connect(host = 'localhost',user = 'root',password = '20205863llc@',db = 'test_db',charset = 'utf8',#不能是 utf-8cursorclass = pymysql.cursors.DictCursor)sql ='''
select * from books order by price;
'''#使用with 方法 在使用后会自动关闭游标对象
with connection.cursor() as cursor:cursor.execute(sql)data1 =cursor.fetchall() #获取全部数据
#遍历图书数据
for book in data1:print(f'图书:{book["name"]},价格{book["price"]}') #列表中的索引记得是双引号connection.close()
用python操作MySQL相关推荐
- 15.python操作mysql
15.python操作mysql 导入包 from pymysql import* 1. 创建 Connection 连接 conn=conne(host='192.168.13.130',port= ...
- python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)...
python操作mysql⑥新闻管理后台功能的完善(增.删.改.查) 安装表单验证 D:\python\python_mysql_redis_mongodb\version02>pip inst ...
- Python操作MySQL之SQLAlchemy
Python操作MySQL之SQLAlchemy 原文:https://www.cnblogs.com/ccorz/p/5711955.html SQLAlchemy是Python编程语言下的一款OR ...
- python操作mysql操作步骤
1.安装mysql pip install pymysql 2.导入pymysql from pymysql import * 3.创建数据库连接 conn = connect(host='local ...
- python2连接mysql_mysql-2:python操作mysql
1.python操作mysql 安装MySQL-Python的包: pip install pymysql--import pymysql # pip install MySQLClient--imp ...
- python mysql倒序_day40:MySQL:python操作mysql:pymysql模块SQL注入攻击
目录 part1:用python连接mysql 1.用python连接mysql的基本语法 创建连接conn→创建游标对象cursor→执行sql语句execute→获取数据fetchone→释放游标 ...
- linux下使用python操作mysql
linux下使用python操作mysql 文章目录 linux下使用python操作mysql 一.Python 中MySQL的几个模块对象 1.模块 2.Connection 对象 3.Curso ...
- Python 操作 MySQL 的5种方式(转)
Python 操作 MySQL 的5种方式 不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Pytho ...
- Python操作Mysql实例代码教程在线版(查询手册)_python
实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...
- python mysql返回,python操作mysql数据-执行语句返回值直接返回字典类型
fetchall()将结果放在二维数组里面,每一行的结果在元组里面 import pymysql def export(table_name): conn =pymysql.connect(host ...
最新文章
- ThreadPoolExecutor使用详解
- 【金三银四】java多线程并发编程pdf
- 2.1.3 计算机网络之编码与调制
- 工艺流程计算机仿真设计,450kt/a合成氨反应器及生产过程计算机仿真设计
- 用计算机计算板书,用计算器计算教案板书设计
- python 列表推导_说说在 Python 中如何使用列表推导
- 基于JAVA+SpringBoot+Mybatis+MYSQL的园区招商管理系统
- 浏览器的工作原理整理
- 【Stimulsoft Reports Silverlight教程】使用报表组件
- R语言自然语言处理:情感分析
- 利用计算机模拟,科学家试图利用计算机模拟整个宇宙的演化
- 从烂漫少女到已为人母:八年青春 梦断互联网
- 气味识别以及气味数字化存储技术
- BT技术原理(BitTorrent)
- c语言结构体平面向量加法公式,高中平面向量学不好怎么办?这些公式帮你秒杀向量题目...
- Excel 插件使用教程
- 4十4十4写成乘法算式_乘法口诀和乘法算式怎么写
- 新建SVN仓库并上传项目
- 初学SNMP,在spring boot 下使用snmp4j 做本地测试调通的记录
- 华师大 OJ 3024
热门文章
- python 并行、并发以及多线程的概念 tensorflow图像识别程序多线程并行
- python enumerate()函数
- python numpy.mean() axis参数使用方法【sum(axis=*)是求和,mean(axis=*)是求平均值】
- COCO数据集annotation标注信息详解======转载!
- Elasticsearch 常用运维命令(持续更新)
- mysql有个数据用or语句有相同条件_MySql带OR关键字的多条件查询语句
- zookeeper在window下的搭建
- 你对Java网络编程了解的如何?Java NIO 网络编程 | Netty前期知识(二)
- 反需求函数和边际收益_边际收益
- android用什么测试类,android – 使用firebase对类进行JUnit测试