IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Python操作数据库篇 -> 正文阅读

[大数据]Python操作数据库篇

Python操作Mysql数据库

安装pymysql

Linux操作系统:pip3 install pymysql

Windows操作系统:pip install pymysql

使用

说明:首先在虚拟机内的Ununtu系统里安装mysql和pymysql,创建数据库mydatabase,在该数据库内创建students数据表并添加数据,如图1所示

?图1


查询数据

# 导入
import pymysql

# 创建连接
conn = pymysql.connect(host='192.168.23.45', port=3306, user='root', password='abcdefg', database='mydatabase',

                       charset='utf8')
# 获取游标对象
cursor = conn.cursor()

sql = 'select * from students;'
# 执行sql语句 result受影响的行数
result = cursor.execute(sql)
print(result)

# 通过游标获取查询的结果
# print(cursor.fetchone())
# print(cursor.fetchone())
# print(cursor.fetchall())
# print(cursor.fetchall())
# print(cursor.fetchall())
eles = cursor.fetchall()
for ele in eles:
    print(ele)

# 关闭游标
cursor.close()
# 关闭连接
conn.close()
'''
运行结果:
3
(1, '张三', 30, Decimal('175.65'), '男', 10)
(2, '李四', 33, Decimal('180.00'), '女', 45)
(3, '王五', 25, Decimal('170.00'), '女', 66)
'''

增加数据

# 导入
import pymysql

# 创建连接
conn = pymysql.connect(host='192.168.23.45', port=3306, user='root', password='abcdefg', database='mydatabase',
                       charset='utf8')

# 获取游标对象
cursor = conn.cursor()
sql= 'insert into students values(0,"赵六",18,161.9,"男",90);'
# 执行sql语句
result = cursor.execute(sql)
print(result)

# 提交(对于增删改需要加上commit提交)
conn.commit()

# 关闭游标
cursor.close()
# 关闭连接
conn.close()
'''
再执行查询运行结果如下:
4
(1, '张三', 30, Decimal('175.65'), '男', 10)
(2, '李四', 33, Decimal('180.00'), '女', 45)
(3, '王五', 25, Decimal('170.00'), '女', 66)
(4, '赵六', 18, Decimal('161.90'), '男', 90)
'''

删除数据

# 导入
import pymysql

# 创建连接
conn = pymysql.connect(host='192.168.23.45', port=3306, user='root', password='abcdefg', database='mydatabase',
                       charset='utf8')

# 获取游标对象
cursor = conn.cursor()
# sql= 'insert into students values(0,"赵六",18,161.9,"男",90);'
sql = "delete from students where name='张三';"
# 执行sql语句
result = cursor.execute(sql)
print(result)

# 提交(对于增删改需要加上commit提交)
conn.commit()

# 关闭游标
cursor.close()
# 关闭连接
conn.close()
'''
再执行查询运行结果如下:
3
(2, '李四', 33, Decimal('180.00'), '女', 45)
(3, '王五', 25, Decimal('170.00'), '女', 66)
(4, '赵六', 18, Decimal('161.90'), '男', 90)
'''

改:更新数据

# 导入
import pymysql

# 创建连接
conn = pymysql.connect(host='192.168.23.45', port=3306, user='root', password='abcdefg', database='mydatabase',
                       charset='utf8')

# 获取游标对象
cursor = conn.cursor()
# sql= 'insert into students values(0,"赵六",18,161.9,"男",90);'
# sql = "delete from students where name='张三';"
sql = "update students set age=18 where name='李四';"
# 执行sql语句
result = cursor.execute(sql)
print(result)

# 提交(对于增删改需要加上commit提交)
conn.commit()

# 关闭游标
cursor.close()
# 关闭连接
conn.close()
'''
再执行查询运行结果如下:
3
(2, '李四', 18, Decimal('180.00'), '女', 45)
(3, '王五', 25, Decimal('170.00'), '女', 66)
(4, '赵六', 18, Decimal('161.90'), '男', 90)
'''

按条件查询

# 导入pymysql包
import pymysql


# 创建连接
conn = pymysql.connect(host='192.168.23.45', port=3306, user='root', password='abcdefg', database='mydatabase',
                       charset='utf8')
# 获取游标对象
cursor = conn.cursor()

# 不安全的方式
# 根据id查询学生信息
# find_name = input("请输入您要查询的学生姓名:")
# sql = "select * from students where name='%s'" % find_name
# # 显示所有的数据
# cursor.execute(sql)
# content = cursor.fetchall()
# for i in content:
#     print(i)

# 安全的方式
# 根据id查询学生信息
find_name = input("请输入您要查询的学生姓名:")
sql = "select * from students where name=%s"
# 显示所有的数据
cursor.execute(sql, [find_name])
content = cursor.fetchall()
for i in content:
    print(i)

# 关闭游标和连接
cursor.close()
conn.close()
'''
运行结果:
请输入您要查询的学生姓名:李四
(2, '李四', 12, Decimal('180.00'), '女', 45)
'''

回滚

# 导入
import pymysql

# 创建连接
conn = pymysql.connect(host='192.168.23.45', port=3306, user='root', password='abcdefg', database='mydatabase',
                       charset='utf8')

# 获取游标对象
cursor = conn.cursor()
sql1 = "update students set age=100 where name='李四';"
# 执行sql语句
print(cursor.execute(sql1))

# 回滚
# 此时sql1语句不在执行
conn.rollback()

sql2 = 'select * from students;'
print(cursor.execute(sql2))
eles = cursor.fetchall()
for ele in eles:
    print(ele)

# 提交(对于增删改需要加上commit提交)
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
'''
1
3
(2, '李四', 33, Decimal('180.00'), '女', 45)
(3, '王五', 25, Decimal('170.00'), '女', 66)
(4, '赵六', 18, Decimal('161.90'), '男', 90)
'''

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:53:46  更:2021-09-07 10:55:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:16:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码