Python基础——PyCharm版本——第九章、MySQL操作(核心4)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: Python基础——PyCharm版本——第九章、MySQL操作(核心4)

安装MySQL依赖包

如果pip版本不够【python -m pip install --upgrade pip】,先更新pip到最新版本。


image.png


安装语句:【pip install pymysql】

image.png


测试数据库以及数据表:

CREATE TABLE `userinfo` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `createDate` datetime NOT NULL,
  `userName` varchar(32) NOT NULL,
  `introduce` varchar(200) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

image.png

image.png

链接测试

import pymysql  # 导入pymysql库
# 创建数据库连接,注意密码参数passwd不要写成password
conn = pymysql.connect(host='127.0.0.1',
                       port=3306,
                       user='root',
                       passwd='root',
                       db='test',
                       charset='utf8')
print(conn)

image.png


使用pymysql执行SQL语句的步骤如下:

创建数据库连接,并返回一个数据库连接对象

使用数据库连接对象中的cursor()函数获取游标对象

调用游标对象中的execute()函数执行SQL语句,该函数返回影响的行数

提交数据库操作,如果不提交将无法保存新建或者修改的数据

关闭游标,释放资源

关闭连接,释放资源

SQL语句测试

建表测试:

import pymysql  # 导入pymysql库
import time
# 创建数据库连接,注意密码参数passwd不要写成password
conn = pymysql.connect(host='127.0.0.1',
                       port=3306,
                       user='root',
                       passwd='root',
                       db='test',
                       charset='utf8')
cursor = conn.cursor()  # 获取游标对象
def GetNow(localTime):
    """获取当前时间"""
    return time.strftime("%y-%m-%d %H:%M:%S", localTime)
# 建表语句
sql = '''
CREATE TABLE `users` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `createDate` datetime NOT NULL,
  `userName` varchar(32) NOT NULL,
  `introduce` varchar(200) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
'''
rows = cursor.execute(sql)  # 执行SQL语句
conn.commit()  # 提交
print("创建表不会返回行数:", rows)
cursor.close()  # 关闭游标对象
conn.close()  # 关闭数据库连接

image.png

增删改测试:

import pymysql  # 导入pymysql库
import time
# 创建数据库连接,注意密码参数passwd不要写成password
conn = pymysql.connect(host='127.0.0.1',
                       port=3306,
                       user='root',
                       passwd='root',
                       db='test',
                       charset='utf8')
cursor = conn.cursor()  # 获取游标对象
def GetNow(localTime):
    """获取当前时间"""
    return time.strftime("%y-%m-%d %H:%M:%S", localTime)
# 增删改SQL
sql = str.format("insert into userinfo values(0,'{0}','{1}','{2}')",
                 GetNow(time.localtime()),
                 "wangyuyan",
                 "王语嫣")
rows = cursor.execute(sql)  # 执行SQL语句
conn.commit()  # 提交数据库连接,如果是增、删、改操作,则必须提交
print("执行成功")
cursor.close()  # 关闭游标对象
conn.close()  # 关闭数据库连接
if rows > 0:
    print("操作成功")
select查询测试:
import pymysql  # 导入pymysql库
import time
# 创建数据库连接,注意密码参数passwd不要写成password
conn = pymysql.connect(host='127.0.0.1',
                       port=3306,
                       user='root',
                       passwd='root',
                       db='test',
                       charset='utf8')
cursor = conn.cursor()  # 获取游标对象
def GetNow(localTime):
    """获取当前时间"""
    return time.strftime("%y-%m-%d %H:%M:%S", localTime)
# 增删改SQL
sql = str.format("select * from userinfo")
rows = cursor.execute(sql)  # 执行SQL语句
print("信息行数:", rows)
result = cursor.fetchall()  # 获取所有信息
cursor.close()  # 关闭游标对象
conn.close()  # 关闭数据库连接
print("为了保证数据安全故而数据个数为:", type(result))
for row in result:
    print(row[0], row[1], row[2], row[3])



image.png

聚合函数测试:

import pymysql  # 导入pymysql库
import time
# 创建数据库连接,注意密码参数passwd不要写成password
conn = pymysql.connect(host='127.0.0.1',
                       port=3306,
                       user='root',
                       passwd='root',
                       db='test',
                       charset='utf8')
cursor = conn.cursor()  # 获取游标对象
def GetNow(localTime):
    """获取当前时间"""
    return time.strftime("%y-%m-%d %H:%M:%S", localTime)
# 增删改SQL
sql = str.format("select sum(id) from userinfo")
rows = cursor.execute(sql)  # 执行SQL语句
print("信息行数:", rows)
result = cursor.fetchall()  # 获取所有信息
cursor.close()  # 关闭游标对象
conn.close()  # 关闭数据库连接
print("为了保证数据安全故而数据个数为:", type(result))
print(result[0][0])  # 第一个数据的第一个值肯定就对对应返回的信息



image.png

image.png

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Java UED Python
【10月更文挑战第4天】「Mac上学Python 4」入门篇4 - PyCharm高效开发环境配置与使用技巧
本篇将详细介绍如何高效地使用PyCharm进行Python开发,内容涵盖PyCharm的主题设置、字体调整、常用快捷键、虚拟环境的管理、库安装与调试技巧等。通过本篇的学习,用户将能够充分利用PyCharm的功能,提升Python开发效率。
555 2
【10月更文挑战第4天】「Mac上学Python 4」入门篇4 - PyCharm高效开发环境配置与使用技巧
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
4863 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
SQL 关系型数据库 MySQL
vb6读取mysql,用odbc mysql 5.3版本驱动
通过以上步骤,您可以在VB6中使用ODBC MySQL 5.3驱动连接MySQL数据库并读取数据。配置ODBC数据源、编写VB6代码
515 32
|
关系型数据库 MySQL Linux
MySQL版本升级(8.0.31->8.0.37)
本次升级将MySQL从8.0.31升级到8.0.37,采用就地升级方式。具体步骤包括:停止MySQL服务、备份数据目录、下载并解压新版本的RPM包,使用`yum update`命令更新已安装的MySQL组件,最后启动MySQL服务并验证版本。整个过程需确保所有相关RPM包一同升级,避免部分包遗漏导致的问题。官方文档提供了详细指导,确保升级顺利进行。
1480 16
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
1306 15
|
SQL 关系型数据库 MySQL
Python中使用MySQL模糊查询的方法
本文介绍了两种使用Python进行MySQL模糊查询的方法:一是使用`pymysql`库,二是使用`mysql-connector-python`库。通过这两种方法,可以连接MySQL数据库并执行模糊查询。具体步骤包括安装库、配置数据库连接参数、编写SQL查询语句以及处理查询结果。文中详细展示了代码示例,并提供了注意事项,如替换数据库连接信息、正确使用通配符和关闭数据库连接等。确保在实际应用中注意SQL注入风险,使用参数化查询以保障安全性。
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
330 5
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
300 1
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
1183 1
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
254 1

推荐镜像

更多