Python MySQL Connector是一个 Python 驱动程序,有助于集成 Python 和 MySQL。这个 Python MySQL 库允许在 Python 和 MySQL 数据类型之间进行转换。MySQL Connector API 使用纯 Python 实现,不需要任何第三方库。

Python MySQL 教程将帮助您学习如何从基础到高级将 MySQL 与 Python 结合使用,包括借助优秀的 Python MySQL 示例详细解释的所有必要函数和查询。那么,让我们开始吧。

安装

要安装Python-mysql-connector模块,必须在他们的系统上预装 Python 和 PIP。如果 Python 和 pip 已安装,请在终端中键入以下命令。

pip3 install mysql-connector-python

注意:如果 Python 不存在,请查看如何在Windows和Linux上安装 Python ?并按照提供的说明进行操作。

连接到 MySQL 服务器

我们可以使用 connect() 方法连接到 MySQL 服务器。

# importing required libraries
import mysql.connectordataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password"
)print(dataBase)# Disconnecting from the server
dataBase.close()

输出:

<mysql.connector.connection_cext.CMySQLConnection 对象在 0x7f73f0191d00>

注意:有关更多信息,请参阅使用 MySQL-Connector Python 连接 MySQL 数据库。

创建数据库

连接到 MySQL 服务器后,让我们看看如何使用 Python创建 MySQL 数据库。为此,我们将首先创建一个 cursor() 对象,然后将 SQL 命令作为字符串传递给 execute() 方法。创建数据库的 SQL 命令是——

CREATE DATABASE DATABASE_NAME

示例:使用 Python 创建 MySQL 数据库

# importing required libraries
import mysql.connectordataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password"
)# preparing a cursor object
cursorObject = dataBase.cursor()# creating database
cursorObject.execute("CREATE DATABASE gfg")

输出:

创建表

对于创建表,我们将遵循类似的方法,将 SQL 命令编写为字符串,然后将其传递给游标对象的 execute() 方法。用于创建表的 SQL 命令是 -

CREATE TABLE
(column_name_1 column_Data_type,column_name_2 column_Data_type,::column_name_n column_Data_type
);

示例:使用 Python 创建 MySQL 表

# importing required libraries
import mysql.connectordataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)# preparing a cursor object
cursorObject = dataBase.cursor()# creating table
studentRecord = """CREATE TABLE STUDENT (NAME VARCHAR(20) NOT NULL,BRANCH VARCHAR(50),ROLL INT NOT NULL,SECTION VARCHAR(5),AGE INT)"""# table created
cursorObject.execute(studentRecord)# disconnecting from server
dataBase.close()

输出:

将数据插入表格

将数据插入 MySQL 表使用Insert into query。

句法:

 INSERT INTO table_name (column_names) VALUES (data)

示例 1:插入单行

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
sql = "INSERT INTO STUDENT (NAME, BRANCH, ROLL, SECTION, AGE)\
VALUES (%s, %s, %s, %s, %s)"
val = ("Ram", "CSE", "85", "B", "19")
   
cursorObject.execute(sql, val)
dataBase.commit()
   
# disconnecting from server
dataBase.close()

输出:

示例 2:插入多行

要一次插入多个值,使用 executemany() 方法。此方法遍历参数序列,将当前参数传递给 execute 方法。

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
sql = "INSERT INTO STUDENT (NAME, BRANCH, ROLL, SECTION, AGE)\
VALUES (%s, %s, %s, %s, %s)"
val = [("Nikhil", "CSE", "98", "A", "18"),
       ("Nisha", "CSE", "99", "A", "18"),
       ("Rohan", "MAE", "43", "B", "20"),
       ("Amit", "ECE", "24", "A", "21"),
       ("Anil", "MAE", "45", "B", "20"),
       ("Megha", "ECE", "55", "A", "22"),
       ("Sita", "CSE", "95", "A", "19")]
   
cursorObject.executemany(sql, val)
dataBase.commit()
   
# disconnecting from server
dataBase.close()

输出:

获取数据

我们可以通过以下方式对 MySQL 表使用select 查询-

  • 为了从表中选择特定的属性列,我们编写属性名称。
从表名中选择 attr1、attr2
  • 为了从表中选择所有属性列,我们使用星号“*”符号。
选择 * FROM 表名

示例:使用Python从 MySQL 表中选择数据

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT NAME, ROLL FROM STUDENT"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

输出:

哪里子句

MySQL数据库中使用where子句根据需要的条件过滤数据。您可以使用 where 子句获取、删除或更新 MySQL 数据库中的特定数据集。

句法:

选择第 1 列,第 2 列,...。来自[表名]的第N列,其中[条件];

示例:使用 Python 的 MySQL 中的 Where 子句

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT * FROM STUDENT where AGE >=20"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

输出:

('罗汉','MAE',43,'B',20)
('阿米特','ECE',24,'A',21)
('阿尼尔','MAE',45,'B',20)
('Megha','ECE',55,'A',22)

按条款排序

OrderBy用于按升序或降序排列结果集。默认情况下,除非提到“DESC”,否则它始终按升序排列,它按降序排列。“ASC”也可以用来明确地按升序排列。但是,通常不会这样做,因为默认已经这样做了。

句法:

选择第 1 列,第 2 列
FROM 表名
按列名 ASC|DESC 排序;

示例:使用 Python 的 MySQL 中的 Order By 子句

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT * FROM STUDENT ORDER BY NAME DESC"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

输出:

限制条款

Limit 子句在SQL 中用于控制或限制从生成的查询返回的结果集中的记录数。默认情况下,SQL 从顶部开始给出所需的记录数,但它允许使用 OFFSET 关键字。OFFSET 允许您从自定义行开始并获得所需数量的结果行。

句法:

SELECT * FROM 表名 LIMIT 限制;
SELECT * FROM tablename LIMIT 限制 OFFSET 偏移量;

示例:使用 Python 的 MySQL 中的限制子句

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "SELECT * FROM STUDENT LIMIT 2 OFFSET 1"
cursorObject.execute(query)
   
myresult = cursorObject.fetchall()
   
for x in myresult:
    print(x)
 
# disconnecting from server
dataBase.close()

输出:

('Nikhil', 'CSE', 98, 'A', 18)
('Nisha','CSE',99,'A',18)

更新数据

更新查询用于更改数据库中的现有值。通过使用更新,可以更正或更新特定值。它只影响数据而不影响表的结构。此命令提供的基本优点是它保持表格准确。

句法:

更新表名
SET =“新值”
WHERE =“旧值”;

示例:使用 Python 更新 MySQL 表

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "UPDATE STUDENT SET AGE = 23 WHERE Name ='Ram'"
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

输出:

从表中删除数据

我们可以使用Delete 查询从 MySQL 中的表中删除数据。

句法:

从 TABLE_NAME 中删除 ATTRIBUTE_NAME = ATTRIBUTE_VALUE

示例:使用 Python 从 MySQL 表中删除数据

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query = "DELETE FROM STUDENT WHERE NAME = 'Ram'"
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

输出:

删除表

删除命令影响表的结构而不是数据。它用于删除已经存在的表。对于不确定要删除的表是否存在的情况,使用 DROP TABLE IF EXISTS 命令。这两种情况都将在以下示例中处理。

句法:

DROP TABLE 表名;
如果存在表名,则删除表;

首先,让我们看看我们数据库中的表列表。

我们可以看到有两个学生表,所以让我们删除第二个表。

示例 1:使用 Python 在 MySQL 中删除表

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query ="DROP TABLE Student;"
 
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

输出:

示例 2:删除表(如果存在)

  • Python3
# importing required libraries
import mysql.connector
  
dataBase = mysql.connector.connect(
  host ="localhost",
  user ="user",
  passwd ="password",
  database = "gfg"
)
 
# preparing a cursor object
cursorObject = dataBase.cursor()
  
query ="Drop Table if exists Employee;"
 
cursorObject.execute(query)
dataBase.commit()
 
# disconnecting from server
dataBase.close()

上面的例子,不会产生任何错误和输出,因为我们使用了 Drop Table is exists 查询。如果我们将简单地使用 Drop table Employee 那么ProgrammingError: 1051 (42S02): Unknown table 'gfg.Employee'被提出。

Python MySQL 练习

使用表格

  • 如何使用 Python 将值插入 MySQL 服务器表?
  • 如何使用 Python 显示 MySQL 中的所有表?
  • 如何使用 Python 在 MySQL 中获取表的大小?
  • 如何在 Python 中重命名 MySQL 表?
  • 如何使用 Python 在 MySQL 中复制表?
  • 如何使用 Python 在 MySQL 中复制表定义?
  • 使用 Python 获取 INSERT 到 MySQL 数据库后的 id
  • 如何使用 Python 在 MySQL 中使用 IF 语句
  • 使用 Python 从 MySql 中的表中删除元素
  • 使用 Python 授予 MySQL 表和列权限

在列上工作

  • 如何在 Python 中计算 MySQL 表中的行数?
  • 使用 Python 计算 SQL 表列
  • 如何在 Python 中向 MySQL 表中添加列?
  • 如何使用 Python 获取 MySQL 表的列的最小值和最大值?
  • 如何使用 Python 跨 MySQL 表的列执行算术运算?
  • 如何使用 Python 连接 MySQL 表的列值?
  • 使用 Python 向 MySQL 中的列添加注释
  • 使用 Python 授予 MySQL 表和列权限

Python MySQL 应用程序和项目

  • 使用 Tkinter 在 Python 中创建 MySQL 数据库登录页面
  • 在 Python 中使用 MySQL-Connector 和 XAMPP 从数据库中提取数据

Python MySQL 教程相关推荐

  1. python mysql教程视频_第四课:MySQL环境安装-(崔庆才_Python3爬虫入门到精通课程视频 34课)总结...

    输入localhost密码123456 Linux下安装mysql 命令输入Sudo su接着sudo apt-get install mysql-server mysql-client 安装设置密码 ...

  2. Python MySQL示例教程

    Welcome to Python MySQL example tutorial. MySQL is one of the most widely used database and python p ...

  3. ❤️ 万字Python MySQL从入门到精通详细教程❤️ 再也不用担心学不会数据库了❤️

    文章目录 前言 ⭐集合三万字基础教程⭐ 一.SQL详细教程 二.mysql入门详细教程 ⭐转python mysql⭐ 三.Python MySQL入门连接 3.1基本环境准备 3.2连接 四.Pyt ...

  4. python实用教程答案 郑阿奇_《》 mysql实用教程郑阿奇实验报告答案

    <> mysql实用教程郑阿奇实验报告答案 python实用教程郑阿奇2020-09-28 19:50:10人已围观 SQL Server 实用教程(第3版)课后实验答案 郑阿奇主编的 邮 ...

  5. Python入门教程:很多人推荐学 Python 入 IT ,如果学完 Python 找不到工作怎么办...

    Python入门教程:很多人推荐学 Python 入 IT ,但是如果学完 Python 找不到工作怎么办,这也是很多人担心的问题. 很多人推荐通过学习 Python 入行 IT 一是因为 Pytho ...

  6. 大学python用什么教材-Python大学教程(普通高等教育十三五规划教材)

    导语 内容提要 吕云翔.赵天宇.张元编著的<Python大学教程>介绍了使用Python语言进行程序设计的方法及其应用. 全书共14章,分为三部分.第一部分为基础篇(第1-5章),主要介绍 ...

  7. python下载教程pdf-Python教程PDF合集下载

    Python教程PDF合集下载,大量Python学习资料大合辑,目录如下: BanditAlgorithms.pdf FlaskWeb开发基于Python.pdf fluentpython.pdf P ...

  8. python基础教程是什么意思-python基础教程都有什么?

    分享一下传智播客的python基础教程 第一阶段 Python核心编程 可掌握的核心能力 1.掌握Python基础语法,具备基础的编程能力; 2.建立起编程思维以及面向对象程序设计思想.解决的现实问题 ...

  9. python快速编程入门黑马-新手如何快速入门Python编程?/开发python入门教程

    Python从入门到实践的教程是什么? 第一阶段Python与Linux数据这是Python的入段,也是帮助零基础学员打好基础的重要阶段,让零基础学员可以具备基础的编程能力,并掌握MySQL进阶内容. ...

  10. python核心教程百度云_Python核心技术与实战 共44讲 中文pdf高清版

    人工智能时代下,Python毫无疑问是最热的编程语言.有人夸它功能强大还上手轻松,有人说它学习曲线不那么陡峭,但是更多的人,在推开Python的大门后却发现,Python入门容易但精通却不易,Pyth ...

最新文章

  1. 重点:怎样正确的使用QThread类(注:包括推荐使用QThread线程的新方法QObject::moveToThread)...
  2. java 关于分页的实现
  3. java爬虫框架动态_java爬虫框架webmagic
  4. phpstorm知识点
  5. 【剑指offer 07】用迭代和递归两种方法重构二叉树(python实现)
  6. oracle之单行函数2
  7. 李飞飞之后谷歌再失华裔高管,谷歌AI中国中心总裁李佳离职创业
  8. 子div撑不开父div的几种解决方法
  9. 苹果开发者中心宕机8天终于回归
  10. wireshark检测iphone-ios是否感染XcodeGhost病毒
  11. 如何在开源世界打造自己的明星 Project?
  12. Environment 的使用
  13. 为知笔记Linux一键安装版
  14. Android 伪装IP 亲测可行
  15. SAP中记账汇率和预算汇率的应用配置分析
  16. mysqlclient安装失败解决方案
  17. Leetcode 875:爱吃香蕉的珂珂 Koko Eating Bananas
  18. shell脚本-----99乘法表过程解析
  19. 因缺失增量信息而导致recoverseg恢复失败的情况
  20. 【Golang实战】——XPath解析网页

热门文章

  1. 计算机存储信息的单位
  2. 密码库LibTomCrypt学习记录——(2.2)分组密码算法的工作模式——ECB模式
  3. nc windows安装教程
  4. h5 富文本输入框_Html富文本编辑器
  5. 个性化hexo博客,添加评论系统,分享,友情链接功能
  6. 计算机网络-第2章 数据通信基础
  7. Linux下安装Solr7.2.1以及配置Solr(CentOS7)
  8. 盘点VB编程重要知识点集合。
  9. html动态留言墙代码,JavaScript实现动态留言板
  10. 《高质量程序设计指南---C++/C语言》 林锐、韩永泉