python专区--PyMySQL
目录
- 准备数据库
- PyMySQL 模块应用
- 连接数据库
- 游标
- 创建表
- 插入数据
- 查询数据
- 修改数据
- 删除记录
- 练习 :员工表 (EMPLOYEE) 相关操作
准备数据库
- 安装 mariadb-server
- 启动服务
- 创建名为haha 的数据库【utf8】
[root@localhost ~]# yum -y install gcc
[root@localhost ~]# yum -y install mariadb-server
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# ss -ntulp | grep mysql
[root@localhost ~]# mysql
# 创建数据库 haha
# none:表示当前在哪个数据库操作
MariaDB [(none)]> CREATE DATABASE haha CHARSET utf8;
PyMySQL 模块应用
连接数据库
创建连接是访问数据库的第一步
import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root',db='haha', charset='utf8'
)
游标
- 游标(cursor)就是游动的标识
- 通俗的说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行
cur = conn.cursor() # 创建游标【对数据库进行增删改查】
创建表
# 建立部门表,员工表,工资表
# 定义创建departments【部门表】sql命令
create_dep = '''CREATE TABLE departments(dep_id INT, dep_name VARCHAR(50)
)'''
cur.execute(create_dep) # 执行sql语句create_dep
插入数据
对数据库表做修改操作,必须要 commit
#向部门表中插入数据
insert_dep = 'INSERT INTO departments VALUES (%s, %s)' # 定义插入数据的变量,%s为占位符
cur.execute(insert_dep, (1, '人事部')) # 执行sql语句insert_dep, 插入一条记录
cur.executemany( # executemany(), 执行sql语句insert_dep, 同时插入多条记录insert_dep, [(2, '运维部'), (3, '开发部'), (4, '测试部'), (5, '财务部'), (6, '市场部')]
)
conn.commit()
查询数据
可以取出表中一条、多条或全部记录
sql4 = "SELECT * FROM departments"
cur.execute(sql4)
result = cur.fetchone()
print(result)result2 = cur.fetchmany(2)
print(result2)result3 = cur.fetchall()
print(result3)
修改数据
通过 update 修改某一字段的值
# 更新部门表【departments】中的数据
update_dep = 'UPDATE departments SET dep_name=%s WHERE dep_name=%s'
cur.execute(update_dep, ('人力资源部', '人事部'))
conn.commit()
删除记录
通过 delete 删除记录
#删除部门表【departments】中的id为6的数据
del_dep = 'DELETE FROM departments WHERE dep_id=%s'
cur.execute(del_dep, (6,))
conn.commit()
练习 :员工表 (EMPLOYEE) 相关操作
需求:
- 员工表有 FIRST_NAME VARCHAR(20),LAST_NAME VARCHAR(20),AGE INT,SEX VARCHAR(1),INCOME FLOAT字段
- 使用 PyMySQL 创建该表
- 使用 PyMySQL 添加以下三条数据
- ‘Mac’, ‘A’, 20, ‘M’, 20000
- ‘Tom’, ‘B’, 20, ‘F’, 30000
- ‘Bob’, ‘C’, 20, ‘M’, 40000
- 使用 PyMySQL 查询所有用户信息,并打印结果
- 将 FIRST_NAME 为 Mac 的用户工资改成 10000
- 删除 FIRST_NAME 为 Tom 的用户信息
import pymysql
# 打开数据库连接
db = pymysql.connect(host='127.0.0.1', port=3306, user='root',db='haha', charset='utf8'
)
# 使用 cursor() 方法创建一个游标对象 cursor
cur = db.cursor()##########################################################
# 创建表
sql = """CREATE TABLE EMPLOYEE (FIRST_NAME VARCHAR(20) NOT NULL,LAST_NAME VARCHAR(20),AGE INT, SEX VARCHAR(1),INCOME FLOAT
)"""
cur.execute(sql)
##########################################################
# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,LAST_NAME, AGE, SEX, INCOME)VALUES (%s, %s, %s, %s, %s)"""
cur.executemany( # executemany(), 执行sql语句, 同时插入多条记录sql, [('Mac', 'A', 20, 'M', 20000), ('Tom', 'B', 20, 'F', 30000), ('Bob', 'C', 20, 'M', 40000)]
)
db.commit()
##########################################################
sql = "SELECT * FROM EMPLOYEE"
cur.execute(sql)
result = cur.fetchone()
print(result)
result2 = cur.fetchmany(2)
print(result2)
##########################################################
sql = 'UPDATE EMPLOYEE SET INCOME=%s WHERE FIRST_NAME=%s'
cur.execute(sql, (10000, 'Mac'))
db.commit()
##########################################################
sql = 'DELETE FROM EMPLOYEE WHERE FIRST_NAME=%s'
cur.execute(sql, ("Tom",))
db.commit()
# 关闭数据库连接
cur.close()
db.close()
python专区--PyMySQL相关推荐
- 记录python使用pymysql连接mysql数据库,使用impyla、ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅)
记录python使用pymysql连接mysql数据库,使用impyla.ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅) 连接mysql ...
- 【Python之pymysql库学习】一、分析fetchone()、fetchmany()、fetchall()(保姆级图文+实现代码)
目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 实现效果 实现思路 其 ...
- 【Python之pymysql库学习】二.游标cursor的相关知识(保姆级图文+实现代码)
目录 读取的数据类型 读取的数据转为字典类型效果 读取的数据转为字典类型实现思路 读取的数据转为字典类型实现代码 关于游标的重置 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新 ...
- 【Python之pymysql库学习】三.sql语句的相关知识(保姆级图文+实现代码)
目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 实现效果 把给读取数据 ...
- Python进阶----pymysql模块的使用,单表查询
Python进阶----pymysql模块的使用,单表查询 一丶使用pymysql 1.下载pymysql包: pip3 install pymysql 2.编写代码 ...
- Python安装pymysql
Python安装pymysql 环境:jupyter Notebook(Anaconda) 1. 未安装pymysql 2. 打开cmd(命令提示符) 3. 出现错误 开始我简单粗暴的直接在cmd中输 ...
- Python使用pymysql往数据库插入数据和查询数据
Python使用pymysql往数据库插入数据和查询数据 第一步:导入import pymysql连接数据库 #连接数据库try:db = pymysql.connect(host='127.0.0. ...
- python使用PyMySQL的连接MySQL数据库
如何实现将100000条数据插入到MySQL数据库?如果使用MySQL客户端来完成这个操作,那么这个工作量无疑是巨大的,可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删 ...
- 导入python库linux_Linux下Python安装PyMySQL成功,但无法导入的问题
今天使用 Nginx 部署 Django应用.安装python库都显示成功安装. 尝试启动 uwsgi 服务,竟然报错 Traceback (most recent call last): File ...
最新文章
- elasticsearch 索引 red 状态恢复 green
- Linux┊详解udev
- jenkins maven没有使用全局设置文件地址_Jenkins手把手图文教程「基于Jenkins 2.164.1」...
- [python3] pyton socket 同步通信举例
- 时间加减计算器_小学生苦练加减乘除计算“基本功”,有没有必要?
- Safari new Date()
- 【云计算】Kubernetes、Marathon等框架需要解决什么样的问题?
- 在线JSON美化格式化工具
- Linux系统常用命令(一)
- Unity3D 内存释放 垃圾回收
- 最全Spring常用注解详解
- 2018 年 8 月面试路:6 天 21 家公司
- codeforces 558 D Guess Your Way Out! II
- 5种2D Attention整理(Non-Local、Criss-Cross、SE、CBAM、Dual-Attention)
- python3吧_基于python3 抓取贴吧图片与评论 图片下载保存
- 路演 - roadshow
- B 站递给 GitHub 的 DMCA 文件被公布,蹩脚的英语引发争议
- 异常捕获与自定义迭代器
- PTF渗透测试框架使用
- sklearn数据集分割方法汇总
热门文章
- gis里创建要素面板怎么打开_规划用地CAD转gis文件并制作用地平衡表
- 2021-2025年中国化工制造软件行业市场供需与战略研究报告
- [Linux] Linux网络之数据链路层详解
- java jni 结构体_JAVA 的JNI,传参为结构体问题: 我在网上找的资料://返回一个结构 public native DiskInfo getStruct();...
- winserver2016远程桌面出现函数不支持情况解决
- 在怀俄明大学天气数据网站下载探空数据详细步骤
- table 竖直排列(垂直排列)
- html5弹球游戏的实现,使用html+css+js实现弹球游戏
- windows10飞思卡尔BDM驱动安装教程
- TMS320C645x DSP SRIO寄存器(五)——LSU和其他特殊事件中断