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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
261 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
1月前
|
Java UED Python
【10月更文挑战第4天】「Mac上学Python 4」入门篇4 - PyCharm高效开发环境配置与使用技巧
本篇将详细介绍如何高效地使用PyCharm进行Python开发,内容涵盖PyCharm的主题设置、字体调整、常用快捷键、虚拟环境的管理、库安装与调试技巧等。通过本篇的学习,用户将能够充分利用PyCharm的功能,提升Python开发效率。
146 2
【10月更文挑战第4天】「Mac上学Python 4」入门篇4 - PyCharm高效开发环境配置与使用技巧
|
2月前
|
SQL 关系型数据库 MySQL
MySQL操作利器——mysql-connector-python库详解
MySQL操作利器——mysql-connector-python库详解
644 0
|
1月前
|
Python Windows
查看Python版本
【10月更文挑战第8天】查看Python版本
24 2
|
1月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
319 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
391 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
64 1
|
2月前
|
开发者 Python
Python 的主流版本:Python 3.x
Python 的主流版本:Python 3.x
|
2月前
|
关系型数据库 MySQL Python
mysql之python客户端封装类
mysql之python客户端封装类
|
2月前
|
SQL 关系型数据库 MySQL
30天拿下Python之使用MySQL
30天拿下Python之使用MySQL
45 0
下一篇
无影云桌面