使用Python操作MySQL数据库

news2024/10/2 8:20:28

准备

安装Python,打开命令提示符,我已经安装成功了

安装Mysql我也安装成功了

我在用户的86188下利用记事本写了一个.py的python代码,在命令提示符中运行

Python自带的集成式开发环境,在电脑搜索框直接IDEA你也会打开

一,建立连接

使用Python操作MySQL数据库之前,需要安装PyMySQL,它是Python中操作MYSQL的模块。在Windows操作系统的cmd中运行如下命令安装PyMySQL,注意不是在Python命令提示符后面,是在Windows下执行的

pip install PyMySQL

Mysql默认的端口号是3306,orcal是1521  这个需要知道

对于游标对象,代表数据库中的游标,用于指示抓取数据操作的上下文,主要是提供执行SQL语句,调用存储过程,获取查询结果等方法。

使用连接对象的cursor方法可以获取游标对象,游标对象的属性如下:

  • close() 关闭当前游标

  • execute()执行数据库操作,SQL语句或者数据库命令

import pymysql.cursors
connect=pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='123456',
    db='school',
    charset='utf8'
)
cursor=connect.cursor()
cursor.execute("SELECT VERSION()")
version=cursor.fetchone()
print("Mysql的版本是:%s"%version)
connect.close()



二,创建表

# mysql2.py
import pymysql.cursors

# 连接数据库
connect = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',  # 数据库用户名
    passwd='123456',  # 密码
    db='school',
    charset='utf8'
)

# 获取游标
cursor = connect.cursor()

# 如果表存在,则先删除
cursor.execute("DROP TABLE IF EXISTS student")

# 设定SQL语句

sql = """
create table student(
    sno char(5),
    sname char(10),
    ssex char(2),
    sage int);
"""

# 执行SQL语句
cursor.execute(sql)

# 关闭数据库连接
connect.close()

三,插入数据

# mysql3.py
import pymysql.cursors

# 连接数据库
connect = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',  # 数据库用户名
    passwd='123456',  # 密码
    db='school',
    charset='utf8'
)

# 获取游标
cursor = connect.cursor()

# 插入数据
sql = "INSERT INTO student(sno,sname,ssex,sage) VALUES ('%s', '%s', '%s', %d)"
data1 = ('95001','鹿晗','男',21)
data2 = ('95002','李钟硕','女',20)
cursor.execute(sql % data1)
cursor.execute(sql % data2)
connect.commit()
print('成功插入数据')

# 关闭数据库连接
connect.close()

四,修改数据

# mysql4.py
import pymysql.cursors

# 连接数据库
connect = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',  # 数据库用户名
    passwd='123456',  # 密码
    db='school',
    charset='utf8'
)

# 获取游标
cursor = connect.cursor()

# 修改数据
sql = "UPDATE student SET sage = %d WHERE sno = '%s' "
data = (21, '95002')
cursor.execute(sql % data)
connect.commit()
print('成功修改数据')

# 关闭数据库连接
connect.close()

五,查询数据

# mysql5.py
import pymysql.cursors

# 连接数据库
connect = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',  # 数据库用户名
    passwd='123456',  # 密码
    db='school',
    charset='utf8'
)

# 获取游标
cursor = connect.cursor()

# 查询数据
sql = "SELECT sno,sname,ssex,sage FROM student WHERE sno = '%s' "
data = ('95001',)    #元组中只有一个元素的时候需要加一个逗号
cursor.execute(sql % data)
for row in cursor.fetchall():
    print("学号:%s\t姓名:%s\t性别:%s\t年龄:%d" % row)
print('共查找出', cursor.rowcount, '条数据')

# 关闭数据库连接
connect.close()

六,删除数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/983348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AR眼镜: 与人并行的智能伙伴

AR眼镜: 与人并行的智能伙伴 增强现实(Augmented Reality,AR)眼镜是一种将虚拟信息与真实世界进行融合的设备,通过眼镜或头戴设备让用户能够看到真实世界,并在其上叠加数字内容和图像。目前工业级AR眼镜已…

python考研志愿填报模拟系统vue

本系统提供给管理员对学生、院校、研究生信息、专业信息、学院信息等诸多功能进行管理。本系统对于学生输入的任何信息都进行了一定的验证,为管理员操作提高了效率,也使其数据安全性得到了保障。本考研志愿填报模拟系统以Django作为框架,B/S模…

2022蓝帽杯半决赛

2022蓝帽杯取证题目解压密码附件 链接:https://pan.baidu.com/s/1AS0wVdjZxt46zaDcDzxdaQ 提取码:scpc –来自百度网盘超级会员V4的分享 解压密码7(G?fu9A8sdgfMsfsdrfE4q6#cf7af0fc1c 参考奇安信攻防社区-第六届“蓝帽杯”半决赛取证题目官方解析 20…

【项目测试报告】博客系统 + 在线聊天室

文章目录 一、项目介绍1.1 核心技术1.2 核心功能1.3 技术亮点1.4 前端页面设计登录页面注册页面博客广场页面搜索结果页面个人博客页面个人中心页面我的关注/粉丝页面聊天室页面写博客页面我的草稿修改博客页面博客详情页他人博客主页 二、功能测试2.1 登录测试用例2.2 注册测试…

OpenAI科学家Jason Wei专访:思维链灵感来源于冥想丨智源独家

导读 在大模型的研发道路上,思维链、指令微调和智能涌现等关键思想备受关注。正是思维链技术(Chain of Thought)让大模型能够涌现出一系列神奇的能力,成为了现代大语言模型产生「涌现」的底层技术。思维链旨在通过向大语言模型展示…

百度飞浆OCR识别表格入门python实践

1. 百度飞桨(PaddlePaddle) 百度飞桨(PaddlePaddle)是百度推出的一款深度学习平台,旨在为开发者提供强大的深度学习框架和工具。飞桨提供了包括OCR(光学字符识别)在内的多种功能,可…

【C++】内联函数 ① ( 内联函数引入 | 内联函数语法 )

文章目录 一、内联函数引入1、内联函数引入2、代码示例 - 宏代码片段 与 内联函数 二、内联函数语法1、内联函数语法说明2、代码示例 - 内联函数基本语法 一、内联函数引入 1、内联函数引入 " 内联函数 " 是 C 语言中的一种特殊函数 , 其目的是为了提高程序的执行效率…

vision transformer 详解

文章链接:https://arxiv.org/abs/2010.11929 代码地址:GitHub - google-research/vision_transformer Pytorch实现代码: https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_classification/vision_tran…

你还在找淘宝商品信息查询的接口吗?

你还在找淘宝商品信息查询的接口吗?,不用找了,我这有,免费测试 在很多行业,比如淘客、商品采集、刊登、数据分析行业都需要用到相关的商品接口,但是官方一般又没有开放这些接口,怎么办&#xff…

原生Js Canvas去除视频绿幕背景

Js去除视频背景 注: 这里的去除视频背景并不是对视频文件进行操作去除背景 如果需要对视频扣除背景并导出可以使用ffmpeg等库,这里仅作播放用所以采用这种方法 由于uniapp中的canvas经过封装,且 uniapp 的 drawImage 无法绘制视频帧画面&…

深度学习论文: Rethinking Mobile Block for Efficient Attention-based Models及其PyTorch实现

深度学习论文: Rethinking Mobile Block for Efficient Attention-based Models及其PyTorch实现 Rethinking Mobile Block for Efficient Attention-based Models PDF: https://arxiv.org/pdf/2301.01146.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTor…

管理学国际化与领导力视角

随着全球化的进程不断加速,管理学的国际化已经成为一个不可忽视的趋势。在这个多元化和全球化的时代,管理者需要具备跨文化的领导力,以适应不同国家和地区的商业环境,并有效地管理全球团队。本文将从管理学国际化和领导力的角度探…

【文件翻译重命名与复制】一键实现文件名翻译,轻松复制到指定文件夹!

亲爱的朋友们,您是否曾经遇到过需要将文件名进行翻译,并且复制到指定文件夹的情况?现在,我们为您带来了一款全新的文件翻译重命名与复制工具,让您一键实现文件名翻译,轻松复制到指定文件夹,提高…

Zabbix -- QQ邮箱报警

目录 一、创建监控项及触发器 1.1创建监控项 1.2 创建监控项的触发器 1.3 测试触发器 二、邮箱媒介设置 2.1 设置报警媒介类型 2.2 创建用户群组和用户 三、动作绑定 3.1 创建动作 3.2 动作操作 3.3 动作测试(发送邮件测试) 四、问题总结 4.1 邮件发送…

Vue3+Element Plus实现el-table跨行显示(非脚手架)

Vue3Element Plus实现el-table跨行显示 app组件内容使用:span-method"objectSpanMethod"自定义方法实现跨行显示查询方法初始化挂载新建一个html即可进行测试&#xff0c;完整代码如下效果图 app组件内容 <div id"app"><!-- 远程搜索 --><e…

Consul学习笔记之-初识Consul

文章目录 1. What is consul?2. Consul能干什么3. Consul的架构3.1 概念 4. Consul VS Eureka4.1 CAP4.2 对比 1. What is consul? 根据官方文档的定义&#xff1a; HashiCorp Consul is a service networking solution that enables teams to manage secure network connec…

无涯教程-JavaScript - CONVERT函数

描述 CONVERT功能将数字从一种测量系统转换为另一种。 如,CONVERT可以将以英里为单位的距离表转换为以公里为单位的距离表。 语法 CONVERT (number,from_unit,to_unit)争论 Argument描述Required/OptionalNumberThe value in from_units to convert.RequiredFrom_unitThe …

无涯教程-JavaScript - WEEKNUM函数

描述 WEEKNUM函数返回特定日期的星期数。数字代表一年中数字所在的星期。 有两个系统用于此功能- 系统1 -包含1月1日的一周是一年的第一周,并编号为第1周。 系统2 -包含一年中第一个星期四的那一周是一年中的第一周,并编号为第1周。此系统是ISO 8601中指定的方法,这就是欧洲…

云原生Kubernetes:Yaml文件编写

目录 一、理论 1.Kubernetes与yaml文件 二、实验 1.Kubernetes与yaml文件 三、问题 1.kubectl create 和 kubectl apply区别 四、总结 一、理论 1.​​​​​​​Kubernetes与yaml文件 &#xff08;1&#xff09;Kubernetes支持管理资源对象的文件格式 Kubernetes支持…

RabbitMQ:work结构

> 只需要在消费者端&#xff0c;添加Qos能力以及更改为手动ack即可让消费者&#xff0c;根据自己的能力去消费指定的消息&#xff0c;而不是默认情况下由RabbitMQ平均分配了&#xff0c;生产者不变&#xff0c;正常发布消息到默认的exchange > 消费者指定Qoa和手动ack …