Python连接MySQL数据库(简单便捷)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: Python连接MySQL数据库(简单便捷)

🐒,本文中,使用到的工具有:Pycharm,Anaconda,MySQL 5.5,spyder(Anaconda)

什么是 PyMySQL?

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb。

一、🏔环境准备

1、安装pymysql:

进行Python连接mysql数据库之前,需要先安装一下pymysql。

直接在终端执行下面的命令即可。(在此处我将指定1.0.2版本)

pip install pymysql==1.0.2

2、查询安装:

下载完成后,在终端输入 pip list 即可看到下图:

pip list

可以看到我们的PyMySQL是1.0.2版本的。

3、Anaconda下载pymysql:

打开Anaconda,选择 Environments 点击右上方的的搜索框 输入 pymysql

点击方框,即可下载

方式一🏔:

       此处我们可以选择 spyder 或者 pycharm 首先为大家介绍一下 spyder 我们只需要直接导入 pymysql 库即可

方式二🏔:

4、Pycharm下载pymysql

打开 Pycharm 选择文件,点击设置,

下划,选择python解释器,这里我的Pycharm已经配置了Anaconda环境

如果没有查询到 pymysql 可以在 Pycharm 终端中下载 pymysql 库

以上我们的环境就准备好了,下面我们进行编写程序 ☀

二、🏔代码编写,连接数据库

1、导入数据库表

import pymysql

数据库连接:

连接数据库前,请先确认以下事项:

  • 连接数据库使用的用户名为 "root" ,密码为 "dai324542",创建了数据库 runoob
  • 你可以可以自己设定或者直接使用root用户名及其密码
db = pymysql.connect(host='localhost',
                     user='root',
                     password='dai324542',
                     database='runoob',
                     charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("数据库连接成功!")
# 关闭数据库连接
db.close()

2、创建数据库表

# 创建表
sql="""CREATE TABLE test (
          FIRST_  CHAR(20) NOT NULL,
          SECOND_  CHAR(20),
          THIRD_ INT,
          FOURTH_ CHAR(1),
          FIFTH_ FLOAT )"""
# 运行sql语句
cursor.execute(sql)

这里我们所运用的sql语句是不是很熟悉了😊

下面即是运行结果了,再mysql中可以刷新看到,我输出了一个提示 victory

3、数据库插入操作

此处我只是随便进行了一个举例,通过更改创建表时的操作可以插入不同类型的数据

try:
    sql = "insert into test(FIRST_,SECOND_,THIRD_,FOURTH_,FIFTH_) values ('MAC','MOTH','20','M','2000')"
    # 运行sql语句
    cursor.execute(sql)
    # 修改
    db.commit()
    # 关闭游标
    cursor.close()
    # 关闭连接
    db.close()
    print("victory!")
except:
    print("false")

4、查询其中一个表的数据

# 查询语句
try:
    cursor = db.cursor()
    sql = "select * from student"
    cursor.execute(sql)
    result = cursor.fetchall()
    for data in result:
        print(data)
except Exception:
    print("查询失败")

5、删除表中的一条数据

# SQL 删除语句
sql = "DELETE FROM student WHERE Sno='20111107'"
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 向数据库提交
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()
# 关闭连接
db.close()
# 成功提示
print("victory!")

注意:Python中的MySQL默认事务打开,需要我们手动提交事务,否则操作无效

写到这里,这篇博客就又又又结束了,很感谢大家的观看,如果对大家有所帮助希望可以留下一个小小的👍,🙇‍。因才学疏浅,如果各位大佬发现其中存在错误,敬请指出,(ง •_•)ง!

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL与NoSQL的主要区别在于数据结构、查询语言和可扩展性。MySQL是关系型数据库,依赖预定义的数据表结构,使用SQL进行复杂查询,适合垂直扩展。而NoSQL提供灵活的存储方式(如JSON、哈希表),无统一查询语言,支持横向扩展,适用于处理大规模、非结构化数据和高并发场景。选择哪种取决于应用需求、数据模型及扩展策略。
10 0
|
2天前
|
SQL 关系型数据库 MySQL
第十三章 Python数据库编程
第十三章 Python数据库编程
|
3天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
3天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用Navicate连接Mysql过程详解
使用Navicate连接Mysql过程详解
13 0
|
7天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
129 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
7天前
|
SQL 关系型数据库 MySQL
Python与MySQL数据库交互:面试实战
【4月更文挑战第16天】本文介绍了Python与MySQL交互的面试重点,包括使用`mysql-connector-python`或`pymysql`连接数据库、执行SQL查询、异常处理、防止SQL注入、事务管理和ORM框架。易错点包括忘记关闭连接、忽视异常处理、硬编码SQL、忽略事务及过度依赖低效查询。通过理解这些问题和提供策略,可提升面试表现。
27 6
|
11天前
|
SQL 关系型数据库 MySQL
DQL语言之连接查询(mysql)
DQL语言之连接查询(mysql)
|
12天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
30 1
|
13天前
|
SQL 关系型数据库 数据库
Python中SQLite数据库操作详解:利用sqlite3模块
【4月更文挑战第13天】在Python编程中,SQLite数据库是一个轻量级的关系型数据库管理系统,它包含在一个单一的文件内,不需要一个单独的服务器进程或操作系统级别的配置。由于其简单易用和高效性,SQLite经常作为应用程序的本地数据库解决方案。Python的内置sqlite3模块提供了与SQLite数据库交互的接口,使得在Python中操作SQLite数据库变得非常容易。
|
14天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
21 0