Python中的SQL2025 年 1 月 5 日 | 阅读 9 分钟 SQL 代表结构化查询语言。SQL 是一种用于在关系型数据库中进行查询的编程语言。SQL 在数据科学领域被广泛使用,并且 SQL 与 Python 一起使用可以使工作更加轻松。结构化查询语言用于组织和查询数据。此外,SQL 还用于对模型结果进行即席分析。有很多工具可以在 Python 中使用 SQL。 SQL 是一种数据库语言,专门用于在 MySQL、MS Access、SQL Server、Oracle、Sybase、Postgres 以及许多其他关系型数据库中检索和管理数据。SQL 于 1970 年代由 IBM 设计。 SQL 支持基本命令,例如用于创建表的 CREATE 命令,用于选择和检索数据的 SELECT 命令,以及用于将数据插入或添加到关系型数据库的 INSERT 命令。UPDATE 命令用于更新表中的记录;DELETE 用于删除关系型数据库中的记录或表,DROP 用于完全删除表。 数据定义语言 (DDL)数据定义语言用于定义数据库的结构。例如,DDL 用于创建表和修改数据库对象(包括表、视图、模式索引等)的结构。DDL 命令包括 CREATE 用于创建新表、表视图;ALTER 命令用于修改现有数据库对象(如表);DROP 命令用于删除整个表、表视图;TRUNCATE 命令用于一次性截断整个表。 数据操纵语言 (DML)SQL 中的数据操纵语言用于在数据库中添加、删除和修改数据。DML 命令包括 SELECT,用于从表中检索特定记录;INSERT 命令,用于将记录插入数据库表;UPDATE 命令用于修改关系型表中的记录;以及 DELETE 命令,用于删除表中的记录。 数据控制语言数据控制语言命令用于控制对表中记录的访问。DCL 命令包括 GRANT,它授予用户权限;REVOKE 用于撤销用户的授权。 SQL 在数据科学领域被广泛用于检索大量数据并对其进行处理。如今,大多数公司都是数据驱动的。数据存储在关系型数据库中,并通过数据库管理系统的帮助来管理和处理这些数据。数据库管理系统使工作变得轻松且有条理。因此,将编程语言与数据库管理工具集成非常重要。SQL 对存储在数据库中的数据执行各种操作,例如插入记录、删除记录等等。 psycopg2、mysql.connector 等模块是用于将 SQL 与 Python 连接并简化工作的模块。 让我们看一个 Python 中 SQL 的简单代码示例 代码 输出 Table Created Successfully 说明 在上面的代码中,导入了 mysql.connector 模块,并建立了连接,主机为 localhost,用户为 root,密码为 123456,数据库为 covid-liver。因此,这些是在连接 MySQL 服务器时输入的参数。为连接创建了一个游标对象,并运行 SQL 查询来创建一个带有某些字段的表。使用 SQL 查询执行了游标对象,表已成功创建。 插入记录的代码。 代码 输出 Record inserted. 说明 在上面的代码中,记录被插入到数据库表中,首先使用 Python 连接到数据库,然后将数据插入到表中。 在 Python 中使用 SQL 还有许多其他方法,例如:
要使用 Python 连接到 SQL,请导入有助于将数据库与 Python 连接的 Python 库,并创建一个游标对象,以便创建 SQL 命令。 让我们看看如何将 SQLite 连接到本地数据库。为此,请通过在命令提示符中键入以下命令来安装 sqlite 模块 命令 上面的命令可帮助您在 Python 中安装 sqlite 模块,该模块用于将本地数据库与 Python 连接。 Pandas 查询Pandas 查询有助于直接在 Python 中查询数据帧,而无需连接到数据库,因为我们只是进行查询,数据已被系统读取。 这是将 sqlite3 与 Python 连接的简单代码 代码 输出 Connected to the database 说明 在上面的代码中,导入了 sqlite3 模块,并通过调用 connection 方法建立连接,传入了数据库,数据库名称为 covid-liver.db。为连接创建了一个游标对象,并连接了数据库。 游标对象有助于连接数据库并执行 SQL 查询。游标对象充当数据库连接和 SQL 查询之间的中间件。游标对象有助于从数据库中获取数据。所有命令都通过游标对象执行。 使用 SQLite3 创建表连接到数据库后,会创建游标对象。让我们看看如何使用 Python 在数据库中创建表以及如何执行其他查询。 创建 SQL 命令对象以执行 SQL 查询。在 Python 中执行命令非常容易。调用游标的 execute() 方法,并将 SQL 命令传递给对象。执行命令后,应关闭连接。 让我们看看如何使用 SQLite3 在 Python 中创建表 代码 输出 Table created 说明 在上面的代码中,导入了 sqlite3 模块,并通过将数据库名称传递给 connect 方法来建立连接。建立连接后,创建游标对象来执行查询。将 SQL 命令作为注释输入,并将此命令传递给 execute 方法,然后创建表。创建表后,关闭连接。 用于打印数据库中表的代码 代码 输出 emp employee 说明 在上面的代码中,导入了 sqlite3 模块,并建立了与 covid-liver 数据库的连接,然后创建了游标对象。执行命令以获取数据库中的表。使用 fetchall() 方法获取数据库中的所有表,并通过 for 循环打印所有表。表以索引 0 打印,因为它给出的是元组对象。数据库中的表名是 emp 和 employee。打印完数据库中的所有表后,关闭连接。 让我们看看如何使用 Python 将记录插入 SQL 表。 在 SQL 表中插入记录,使用 Python要将记录插入 SQL 表,我们可以将命令写成字符串,并通过 execute() 方法将记录添加到表中。 代码 说明 在上面的代码中,导入了 sqlite3 模块,通过 connect() 方法建立了连接,并将数据库传递给 connect() 方法。创建了连接的游标,并输入了两个带有数据的 SQL 命令。通过 execute() 方法,将记录插入表中。执行命令后,提交并关闭连接。 让我们看看如何一次插入多个数据,并且数据由用户输入 代码 输出 (2, 'Nikhil', 'Aggarwal', 'M', '2019-08-24') (3, 'Nisha', 'Rawat', 'F', '2020-01-01') (4, 'Abhinav', 'Tomar', 'M', '2018-05-14') (5, 'Raju', 'Kumar', 'M', '2015-02-02') (6, 'Anshul', 'Aggarwal', 'F', '2018-05-14') 说明 在上面的代码中,导入了 sqlite3 模块,使用 connect 方法建立连接,并将数据库传递给 connect() 方法。创建了连接的游标,并将主键作为列表输入。用户的名字和姓氏以及性别以及用户输入数据的日期都作为列表输入。由于用户数为 5,因此通过迭代每个用户的数据(如主键、名字、姓氏、性别以及他们输入数据的日期)来逐个插入数据。在 for 循环中执行。插入所有数据后,提交连接并关闭连接。 插入数据后,让我们看看如何显示表中的数据 代码 输出 (2, 'Nikhil', 'Aggarwal', 'M', '2019-08-24') (3, 'Nisha', 'Rawat', 'F', '2020-01-01') (4, 'Abhinav', 'Tomar', 'M', '2018-05-14') (5, 'Raju', 'Kumar', 'M', '2015-02-02') (6, 'Anshul', 'Aggarwal', 'F', '2018-05-14') 说明 在上面的代码中,导入了 SQLite3 模块,建立了连接,并创建了连接的游标。将 SQL 查询输入到字符串中,并通过 fetchall() 方法获取数据,然后打印表中的所有数据。 让我们看看如何使用 Python 更新 SQL 表中的数据 使用 Python 更新 SQL 表中的数据以下是使用 Python 更新 SQL 中数据语法的示例 语法 上面的语法用于更新表中的记录。UPDATE 关键字用于更新数据,其中表名和列名是要更新的列值,WHERE 子句用于设置条件。 代码 输出 (2, 'Nikhil', 'Aggarwal', 'M', '2019-08-24') (3, 'Nisha', 'Jyoti', 'F', '2020-01-01') (4, 'Abhinav', 'Tomar', 'M', '2018-05-14') (5, 'Raju', 'Kumar', 'M', '2015-02-02') (6, 'Anshul', 'Aggarwal', 'F', '2018-05-14') 说明 在上面的代码中,传递给 execute() 方法的命令用于将 last_name 更新为 Jyoti,其中 employee 的 first_name 是 Nisha,这是条件,表已更新。 结论SQL 在数据分析和数据科学领域被广泛使用,程序员需要在这些领域处理数据并从中查找有价值的信息。还有许多其他模块有助于将 SQL 与 Python 连接。 |
我们请求您订阅我们的新闻通讯以获取最新更新。