首页 > 数据库 >Python操作MySQL就是这么简单

Python操作MySQL就是这么简单

时间:2023-04-19 17:39:33浏览次数:49  
标签:8.0 SQL Python 数据库 MySQL pymysql cursor 简单

Python操作MySQL就是这么简单

MySQL是一个流行的关系型数据库管理系统,被广泛用于开发Web应用程序和其他数据驱动的应用程序。本文将为您介绍如何下载、安装和启动MySQL 8.0。

下载MySQL 8.0

在开始安装之前,您需要从MySQL官方网站下载MySQL 8.0。您可以访问: MySQL官方网址1MySQL官方网站2下载社区免费版。在此页面上,您将看到适用于各种操作系统的下载链接。选择适合您的操作系统的下载链接,并将MySQL 8.0下载到您的计算机。

访问:https://www.mysql.com/downloads/
Python操作MySQL就是这么简单_数据库
然后点击downloads,在页面下滑到MySQL Community (GPL) Downloads »

Python操作MySQL就是这么简单_数据库_02
根据电脑情况,下载对应版本,这里以Windows为例
Python操作MySQL就是这么简单_mysql_03

安装MySQL 8.0

安装MySQL 8.0的过程有点复杂,但不必担心,我们将为您提供详细的步骤。

步骤1:运行安装程序
双击下载的MySQL 8.0安装程序文件,该文件通常为 .msi或 .dmg格式。这将启动MySQL 8.0的安装向导。

步骤2:选择安装类型

在安装向导中,您将被要求选择MySQL 8.0的安装类型。您可以选择完全安装或自定义安装。对于大多数用户来说,完全安装是最好的选择。

步骤3:选择安装位置

在选择安装类型后,您将被要求选择MySQL 8.0的安装位置。默认情况下,MySQL将安装在C:\Program Files\MySQL\MySQL Server 8.0路径下,但您可以更改此位置。单击“下一步”按钮以继续。

步骤4:配置MySQL 8.0

接下来,您将被要求配置MySQL 8.0。您需要设置root用户的密码和端口号。此外,您还需要选择MySQL 8.0的身份验证方式。默认情况下,MySQL 8.0将使用原生身份验证方式。单击“下一步”按钮以继续。

步骤5:安装MySQL 8.0

现在,您已经完成了MySQL 8.0的配置,单击“安装”按钮以开始安装MySQL 8.0。

步骤6:完成安装

安装程序将显示安装进度条,直到安装完成。单击“完成”按钮以退出安装向导。

启动MySQL 8.0

一旦您已经安装MySQL 8.0,现在可以启动MySQL 8.0。在Windows上,您可以在开始菜单中找到MySQL 8.0。单击“开始”按钮,然后在搜索框中键入“MySQL 8.0”。选择“MySQL 8.0 Command Line Client”或“MySQL 8.0 Command Line Client - Unicode”,这将打开MySQL 8.0的命令行界面。

Python操作MySQL就是这么简单_SQL_04

在Mac上,您可以在应用程序文件夹中找到MySQL 8.0。双击“MySQL”文件夹,然后双击“MySQL 8.0 Command Line Client”或“MySQL 8.0 Command Line Client - Unicode”图标,这将打开MySQL 8.0的命令行界面。

在Linux上,您可以通过终端打开MySQL 8.0的命令行界面。打开终端并输入以下命令以启动MySQL 8.0:

mysql -u root -p

这将提示您输入MySQL root用户的密码。输入密码后,您将进入MySQL 8.0的命令行界面。

如果MySQL 8.0已经启动,您可以在终端或命令提示符下输入以下命令来连接到MySQL:

mysql -u root -p

这将提示您输入MySQL root用户的密码。输入密码后,您将进入MySQL 8.0的命令行界面。

MySQL 8.0的常用命令

在MySQL 8.0的命令行界面中,您可以使用以下命令执行各种任务:

SHOW DATABASES:显示所有数据库。
CREATE DATABASE database_name:创建一个新的数据库。
USE database_name:选择要使用的数据库。
SHOW TABLES:显示当前数据库中的所有表。
CREATE TABLE table_name:创建一个新的表。
INSERT INTO table_name (column1, column2, column3,…) VALUES (value1, value2, value3,…):向表中插入一条新记录。
SELECT * FROM table_name:选择表中的所有记录。
UPDATE table_name SET column_name = new_value WHERE some_column = some_value:更新表中的记录。
DELETE FROM table_name WHERE some_column = some_value:从表中删除记录。

python的 pymysql库操作方法

pymysql是一个Python与MySQL数据库进行交互的第三方库,它提供了一个类似于Python内置库sqlite3的API,可以方便地执行SQL查询和修改操作。本文将介绍pymysql库的安装方法,连接数据库的方法,以及执行SQL查询和修改操作的方法。

安装pymysql库

要使用pymysql库,您需要首先在您的Python环境中安装该库。您可以使用pip命令来安装pymysql库。在终端或命令提示符下输入以下命令来安装pymysql库:

pymysql是一个Python与MySQL数据库进行交互的第三方库,它提供了一个类似于Python内置库sqlite3的API,可以方便地执行SQL查询和修改操作。本文将介绍pymysql库的安装方法,连接数据库的方法,以及执行SQL查询和修改操作的方法。

安装pymysql库

要使用pymysql库,您需要首先在您的Python环境中安装该库。您可以使用pip命令来安装pymysql库。在终端或命令提示符下输入以下命令来安装pymysql库:

pip install pymysql

连接到MySQL数据库

在使用pymysql库之前,您需要连接到MySQL数据库。您可以使用pymysql库中的connect()函数来连接到MySQL数据库。下面是连接到MySQL数据库的一个例子:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="mydatabase")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 执行SQL查询
cursor.execute("SELECT VERSION()")

# 获取一条查询结果
data = cursor.fetchone()

# 输出查询结果
print("Database version : %s " % data)

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

在这个例子中,我们使用connect()函数连接到名为mydatabase的MySQL数据库,然后使用cursor()方法获取操作游标。使用游标的execute()方法执行一个SQL查询,并使用fetchone()方法获取查询结果。最后,我们关闭了数据库连接。

执行SQL查询和修改操作

使用pymysql库,您可以方便地执行各种SQL查询和修改操作。下面是一个简单的例子,它演示了如何创建一个新表并向其中插入一条记录:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="mydatabase")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 创建一个新表
sql = "CREATE TABLE mytable (id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, age INT(11) NOT NULL, PRIMARY KEY (id))"
cursor.execute(sql)

# 向新表中插入一条记录
sql = "INSERT INTO mytable (name, age) VALUES ('John Doe', 30)"
cursor.execute(sql)

# 提交修改操作
db.commit()

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

在这个例子中,我们首先使用cursor()方法获取操作游标,然后使用execute()方法执行两个SQL语句。第一个SQL语句用于创建一个名为mytable的新表,它包含三个列:id、name和age。第二个SQL语句用于向新表中插入一条记录,其中包含两个值:name为’John Doe’,age为30。最后,我们使用commit()方法提交修改操作并关闭了数据库连接。

可以使用pymysql库来执行各种SQL查询和修改操作,例如SELECT、INSERT、UPDATE和DELETE等。在执行SQL查询操作时,可以使用fetchall()方法来获取所有查询结果,也可以使用fetchone()方法来获取一条查询结果。当执行SQL修改操作时,需要使用commit()方法来提交修改,否则修改不会生效。

操作案例

下面是一个更复杂的例子,它演示了如何使用pymysql库执行一个完整的CRUD操作(增加、读取、更新和删除):

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="mydatabase")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 创建一个新表
sql = "CREATE TABLE IF NOT EXISTS mytable (id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, age INT(11) NOT NULL, PRIMARY KEY (id))"
cursor.execute(sql)

# 插入一条记录
sql = "INSERT INTO mytable (name, age) VALUES (%s, %s)"
val = ("John Doe", 30)
cursor.execute(sql, val)

# 获取插入记录的id
new_id = cursor.lastrowid
print("Inserted record with id: ", new_id)

# 查询记录
sql = "SELECT * FROM mytable WHERE id = %s"
val = (new_id,)
cursor.execute(sql, val)
result = cursor.fetchone()
print("Selected record: ", result)

# 更新记录
sql = "UPDATE mytable SET age = %s WHERE id = %s"
val = (35, new_id)
cursor.execute(sql, val)
db.commit()
print("Updated record with id: ", new_id)

# 删除记录
sql = "DELETE FROM mytable WHERE id = %s"
val = (new_id,)
cursor.execute(sql, val)
db.commit()
print("Deleted record with id: ", new_id)

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

在这个例子中,我们首先创建一个名为mytable的新表。然后,我们插入一条记录,使用lastrowid属性获取插入记录的id,并打印出来。接着,我们查询刚刚插入的记录,并打印出查询结果。然后,我们更新刚刚插入的记录的age值,并提交修改操作。最后,我们删除刚刚插入的记录,并提交删除操作。

注意事项

在使用pymysql库时,需要注意以下几点:

在执行SQL查询和修改操作时,需要使用正确的SQL语法。
在使用execute()方法执行SQL语句时,可以使用%s来代替SQL语句中的参数,然后将参数以元组的形式传递给execute()方法。
在执行SQL修改操作时,需要使用commit()方法来提交修改。
在使用完游标后,需要关闭游标和数据库连接,以释放资源。

需要注意的是,当我们使用pymysql库进行数据交互时,需要注意以下几点:

pymysql库需要和MySQL服务器版本相对应,不同版本的pymysql库和MySQL服务器不一定兼容。
在进行数据库操作前,需要先确保MySQL服务器处于运行状态。
连接MySQL数据库时需要提供正确的用户名和密码。
在执行SQL语句时,需要使用正确的语法,避免出现语法错误。
在执行SQL修改操作时,需要使用commit()方法来提交修改操作,否则修改不会生效。
在使用完数据库连接后,需要关闭数据库连接,以释放资源。
总之,pymysql库是Python开发中非常重要的一部分。使用pymysql库,开发人员可以轻松地进行数据库操作,提高数据处理效率,让数据处理变得更加简单易用。

小结

在本文中,我们介绍了pymysql库的安装方法,连接MySQL数据库的方法,以及执行SQL查询和修改操作的方法。使用pymysql库能够轻松地与MySQL数据库进行交互,并可以执行各种CRUD操作,使得开发人员可以更加方便地处理数据。同时,pymysql库的语法简单易懂,适合初学者使用。

标签:8.0,SQL,Python,数据库,MySQL,pymysql,cursor,简单
From: https://blog.51cto.com/guog/6207011

相关文章

  • 数据分析的基本知识介绍,通过Python创建一些漂亮的数据可视化
    近一年势头不灭的Python在数据分析领域,是专家们的必备技能。随着IT行业的增长,对有经验的数据科学家的需求也水涨船高,而Python也一跃而成最受欢迎的语言。介绍数据分析的基本知识,并利用Python创建一些漂亮的数据可视化。概要为什么要学数据科学中的Python?Python简介为数据......
  • 零基础开始学Python,主要划分为哪四个阶段?
    零基础开始,Python要学到什么程度才能找到理想的工作呢,主要分为四个阶段1、第一阶段(一般岗位叫数据专员)基本学会excel(VBA最好学会;会做透视表;熟练用筛选、排序、公式),做好PPT。这样很多传统公司的数据专员已经可以做了2、第二阶段(数据专员~数据分析师)这一阶段要会SQL,懂业务,加上第一阶......
  • Mysql操作多表查询的方法
    多表查询是指在关系型数据库中,通过同时查询多个数据表来检索相关数据的操作。这种查询方式通常用于需要在多个数据表中搜索和比较数据的情况,以获取更完整和准确的结果。在多表查询中,使用联接(join)操作将多个表连接在一起,并使用条件语句来指定要检索的数据。联接操作可以使用不同的方......
  • python当中如果有一个列表里面是多个字典,且有一对键值对相同,想要求不同的键对应的值之
    a=[{"id":1,"count":29},{"id':1,"count":39}]ids=list(set([u["id"]foruina]))#[1,]b=[]foridinids:count=0foruina:ifidinu.get('id'):count......
  • python当中的""和None,记一次小坑
    在模型类当中,比如定义了,可以传入空值:classPerson(models.Model):name=models.CharField(verbose_name='姓名',max_length=32)age=models.IntegerField(verbose_name='年龄',blank=True,null=True)在执行相应的增删改查中,如果age要传空值,则可......
  • Linux课程(大数据、JavaEE,Python通用版)
    尚硅谷Linux课程(大数据、JavaEE,Python通用版)整理:韩顺平Linux课程笔记第1章LINUX开山篇1.1本套LINUX课程的内容介绍1.2LINUX的学习方向1.2.1Linux运维工程师.1.2.2Linux嵌入式开发工程师.123在linux下做各种程序开发.1.2.4示意图.1.3LINUX的应用领域......
  • 普罗米修斯MySQL监控
    1.下载MySQL的exporter下载地址:https://prometheus.io/download/ 2.上传到需要监控的MySQL的机器上进行解压 解压安装tar-xzvfmysqld_exporter-0.14.0.linux-amd64.tar.gz 为了后续使用方便将名称修改为:mysqld_exporterexportDATA_SOURCE_NAME='root:123456......
  • Python常用的web开发工具,你了解多少?
    Python作为一门高级的编程语言,其在web开发领域有着十分优异的表现,自带众多Pythonweb开发应用框架,利用它们你可以轻松构建高端web应用程序。本文为大家盘点Python常用的web开发工具,快来看看你了解多少!1.CubicWebCubicWeb的最重要的支柱就是代码的可重用性。CubicWeb......
  • python计算list的均值,方差,众数,中位数的最好方法
    可以使用Python的统计模块statistics来计算列表的均值、方差、中位数等,下面是一些示例代码:importstatistics#定义一个列表my_list=[1,2,3,4,5]#计算均值mean=statistics.mean(my_list)print("均值:",mean)#计算方差variance=statistics.variance(m......
  • MySQL 查看数据库表容量大小
    1.查看所有数据库容量大小selecttable_schemaas'数据库',sum(table_rows)as'记录数',sum(truncate(data_length/1024/1024,2))as'数据容量(MB)',sum(truncate(index_length/1024/1024,2))as'索引容量(MB)'frominformation_schema.t......