Python 进阶知识全篇-Python MySQL - mysql-connector

如题所述

MySQL 是广泛使用的数据库管理系统,如果你对 MySQL 不够熟悉,建议先阅读我们的 MySQL 教程。此教程将带你深入了解如何通过 mysql-connector 来连接和操作 MySQL。

mysql-connector 是 MySQL 官方提供的驱动程序,能够帮助你轻松实现 Python 与 MySQL 之间的交互。你只需要使用 pip 命令安装它,具体命令如下:

python -m pip install mysql-connector

为验证安装是否成功,可以尝试运行以下测试代码:

import mysql.connector

执行此代码后若未出现错误提示,说明安装已成功。

若你的 MySQL 版本为 8.0,则需注意密码验证方式已从 mysql_native_password 更改为 caching_sha2_password。因此,在安装驱动后,还需对 my.ini 配置文件进行修改,并执行相应的 SQL 命令以确保密码验证方式符合新版本要求。更多详细操作,可以参考:阙赞:Python MySQL8.0 错误创建数据库连接。

连接数据库的操作可以通过以下 Python 代码实现:

import mysql.connector

尝试连接数据库,如果数据库不存在,代码将输出相应的错误信息。

数据库的创建则使用 "CREATE DATABASE" 语句。以下代码示例创建了一个名为 runoob_db 的数据库:

创建数据库前,可以使用 "SHOW DATABASES" 命令查看当前是否存在特定数据库:

执行此命令后,你将看到数据库列表。若数据库已存在,尝试再次创建将收到错误信息。

为了实现数据表的创建,我们使用 "CREATE TABLE" 语句。例如,以下代码创建了一个名为 sites 的数据表,包含字段 name 和 url:

执行此代码后,数据库中将出现名为 sites 的数据表。

可以使用 "SHOW TABLES" 命令查看数据表是否已成功创建。

通常,我们会为主键设置一个 INT AUTO_INCREMENT PRIMARY KEY,确保起始值为 1,并逐步递增。如果表已创建,可通过 ALTER TABLE 命令添加主键。

插入数据的关键操作使用 "INSERT INTO" 语句。以下代码插入了一条数据至 sites 表:

执行后,数据表中应新增一条记录。

批量插入数据时,利用 executemany() 方法,该方法接收元组列表作为参数,包含要插入的数据。下面代码示例批量插入多条记录至 sites 表:

执行后,输出应为插入记录成功的信息。

在数据插入后,若需获取新记录的 ID,可使用以下代码:

执行此代码后,输出应为插入记录成功,并显示其 ID。

查询数据使用 SELECT 语句,以下代码示例展示如何获取 sites 表中的所有数据:

执行后,输出结果将包含所有记录。

若仅需读取特定字段的数据,可以通过指定字段来获取。同样,利用 SELECT 语句,以下代码展示如何获取 sites 表中指定字段的数据:

执行后,输出结果将只包含指定字段。

如果只读取一条数据,可以使用 fetchone() 方法。以下代码示例展示如何仅读取第一条数据:

执行此代码后,输出结果应为一条记录。

使用 where 语句可以读取特定条件的数据。以下代码示例读取 name 字段为 'SHUAIGEGE' 的记录:

执行后,输出结果应为符合条件的记录。

通配符 % 可以用来匹配包含特定字符串的数据。以下代码示例读取包含 'google' 的记录:

执行后,输出结果应为包含 'google' 的所有记录。

为了防止 SQL 注入攻击,使用 %s 占位符来转义查询条件。以下代码示例展示如何安全地执行查询:

执行此代码后,输出结果应为安全查询到的数据。

数据查询结果可以通过 ORDER BY 语句进行排序,默认为升序,关键字为 ASC。若需设置降序排序,使用 DESC 关键字。以下代码示例展示如何按 name 字段升序排序查询结果:

执行后,输出结果应为按 name 字段升序排序后的所有记录。

降序排序的实现方法与升序类似,只需将 ASC 替换为 DESC 关键字。以下代码示例展示如何按 name 字段降序排序查询结果:

执行后,输出结果应为按 name 字段降序排序后的所有记录。

限制查询结果的数量可通过 LIMIT 语句实现,该语句允许指定返回的具体记录数。以下代码示例展示如何获取前 3 条记录:

执行后,输出结果应为前 3 条记录。

OFFSET 关键字用于指定起始位置,从而获取特定范围内的记录。以下代码示例展示如何从第二条记录开始获取前 3 条记录:

执行后,输出结果应为从第二条记录开始的前 3 条记录。

删除记录时,使用 DELETE FROM 语句,确保使用 WHERE 条件语句来指定要删除的记录,避免误删整个表。以下代码示例展示如何删除 name 为 'stackoverflow' 的记录:

执行后,输出结果应为删除的记录数量。

为了防止 SQL 注入攻击,使用 %s 占位符转义删除条件。以下代码示例展示如何安全地执行删除操作:

执行后,输出结果应为删除的记录数量。

更新表数据使用 UPDATE 语句,确保使用 WHERE 条件语句指定更新的数据行。以下代码示例展示如何将 name 为 'Zhihu' 的记录更新为 'ZH':

执行后,输出结果应为更新的记录数量。

使用 %s 占位符转义更新条件,以防止 SQL 注入攻击。以下代码示例展示如何安全地执行更新操作:

执行后,输出结果应为更新的记录数量。

删除表使用 DROP TABLE 语句,确保使用 IF EXISTS 关键字来判断表是否存在,避免操作不存在的表。以下代码示例展示如何删除名为 sites 的表:
温馨提示:内容为网友见解,仅供参考
无其他回答

Python 进阶知识全篇-Python MySQL - mysql-connector
python -m pip install mysql-connector 为验证安装是否成功,可以尝试运行以下测试代码:import mysql.connector 执行此代码后若未出现错误提示,说明安装已成功。若你的 MySQL 版本为 8.0,则需注意密码验证方式已从 mysql_native_password 更改为 caching_sha2_password。因此,在安装驱动后,还需对 my...

如何使用Python连接MySQL数据库mysqlconnet
一,使用Python连接MySQL数据库 为了开始连接MySQL数据库,我们首先需要具备操作MySQL的credential(凭据)。在MySQL Connector中,这些凭据指的是主机名、用户名、密码等信息。以下是连接MySQL数据库的示例代码:import mysql.connector mydb = mysql.connector.connect(host=”localhost”,user=&#...

Python数据库操作全攻略:从连接到ORM实践
SQLite是一个轻量级的数据库,其数据库文件存储在本地。Python内置了sqlite3模块,方便与SQLite数据库交互。以下代码创建了名为example.db的SQLite数据库文件,并建立了连接。对于MySQL,需要使用mysql-connector-python包连接数据库(安装:pip install mysql-connector-python)。代码展示了如何使用数据库地址、...

好学编程:Python 打造桌面应用程序的终极指南,必备库大盘点!
2. 数据库管理存储和管理数据是关键。Python 提供了多种数据库库:sqlite3:轻量级嵌入式,适合小型数据库,易于集成。psycopg2:PostgreSQL 的专业连接者,适合复杂数据处理。MySQL Connector:MySQL 的强大伙伴,确保数据同步的稳定性。pymongo:MongoDB 的友好接口,适合非结构化数据。3. 网络通信与数据交换...

如何用python进行mysql的数据更新(大批量)?
使用Python与MySQL进行大批量数据更新操作,可以采用SQL的UPDATE语句配合Python的mysql-connector-python库中的MySQLCursor.executemany()方法来实现。具体步骤如下:首先确保Python环境中安装了mysql-connector-python库,如果未安装可以通过pip安装:pip install mysql-connector-python 然后建立与MySQL数据库的连接...

python读取mysql数据写入ES总结
准备工作: mysql库的安装。 python中mysql库用的是mysql-connector,安装执行如下命令:第一步: 连接mysql,读取数据。通过执行sql语句,读取mysql数据。至此,获得mysql的原始数据raw_data 。接下来对数据进行预处理,按日期进行分组聚合,然后重命名行和列名,得到dataFrame格式的数据。第二步: 连接...

安装mysql-connector-python-1.0.12-py3.2时出现了这种情况
回答:因为你装的python版本不对,mysql connector 的这个模块对版本要求很严格。 你可以安装个python 3.2版本试试。

mysql-connector-python mysql-python 有什么不同
前者是MySQL,也就是Oracle公司官方近两年才开始提供的连接器;后者是SUN公司存在的年代的一个开源项目,存在多年。两者功能接近,但 mysql-python 项目已几近不维护。

如何使用python连接mysql数据库
在 Python 语言环境下我们这样连接数据库。In [1]: from mysql import connector In [2]: cnx = connector.connect(host="172.16.192.100",port=3306,user="appuser",password="xxxxxx")但是连接数据库的背后发生了什么呢?答案 当我们通过驱动程序(mysql-connector-python,pymysql)连接 MySQL ...

如何解压python mysql-connector-python-cext
直接1、安装mysql 首先到mysql官网下载文件:mysql-installer-community.msi 安装过程同一般exe文件,直接下一步即可; 2、安装MySQL-python 直接根据web.py给出 的链接,下载文件MySQL-python.tar.gz 解压到任意目录 然后在cmd命令行行下进行安装;...

相似回答
大家正在搜