Python 数据库操作SQL基础

 更新时间:2023年06月09日 09:28:26   作者:移动安全星球  
在本章节中,我们将讨论 Python 数据库操作的基础知识,重点关注 SQL即Structured Query Language,结构化查询语言,SQL 是用于管理关系型数据库的标准编程语言,可以用来执行数据定义、数据操作和数据控制等任务

SQL 基础

SQL 主要分为以下几类操作:

  • 数据定义语言(DDL,Data Definition Language):用于定义数据库结构的操作,如创建、修改、删除表结构等。常用语句包括 CREATEALTERDROP 等。
  • 数据操作语言(DML,Data Manipulation Language):用于操作数据库中的数据,如插入、更新、删除数据等。常用语句包括 INSERTUPDATEDELETE 等。
  • 数据查询语言(DQL,Data Query Language):用于查询数据库中的数据。常用语句为 SELECT
  • 数据控制语言(DCL,Data Control Language):用于控制数据库访问权限和事务处理,如授权、撤销权限等。常用语句包括 GRANTREVOKECOMMITROLLBACK 等。

接下来,我们将学习 SQL 的基本语法和操作。

数据库和表的创建

创建一个数据库:

CREATE DATABASE mydb;

创建一个表:

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT NOT NULL,
    email VARCHAR(100)
);

数据的插入、查询、更新和删除

插入数据:

INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com');

查询数据:

SELECT * FROM users; -- 查询所有数据
SELECT * FROM users WHERE age > 25; -- 查询年龄大于 25 的用户
SELECT name, email FROM users; -- 只查询用户名和电子邮件

排序、分组和聚合:

SELECT * FROM users ORDER BY age DESC; -- 按年龄降序排序
SELECT age, COUNT(*) FROM users GROUP BY age; -- 按年龄分组,统计每个年龄段的用户数量
SELECT AVG(age) FROM users; -- 计算平均年龄

更新数据:

UPDATE users SET age = 31 WHERE name = 'Alice'; -- 将名为 Alice 的用户年龄更新为 31

删除数据:

DELETE FROM users WHERE id = 1; -- 删除 id 为 1 的用户

索引、连接和子查询

创建索引:

CREATE INDEX idx_users_email ON users (email); -- 为 email 列创建索引

连接表(以 INNER JOIN 为例):

-- 假设有另一个表 orders,包含 user_id 和 order_date 列
SELECT users.name, orders.order_date
FROM users
INNER JOIN orders ON users.id = orders.user_id;

子查询:

SELECT * FROM users WHERE age > (SELECT AVG(age) FROM users); -- 查询年龄大于平均年龄的用户

Python 中的数据库操作

为了在 Python 中操作数据库,我们需要使用相应的数据库适配器。以 MySQL 为例,我们可以使用 mysql-connector-python 库。首先,安装该库:

pip install mysql-connector-python

然后,你可以使用以下代码连接到 MySQL 数据库并执行 SQL 语句:

import mysql.connector
# 连接数据库
cnx = mysql.connector.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    database='mydb'
)
# 创建游标
cursor = cnx.cursor()
# 执行 SQL 语句
cursor.execute('SELECT * FROM users')
# 获取查询结果
result = cursor.fetchall()
for row in result:
    print(row)
# 关闭游标和连接
cursor.close()
cnx.close()

以上就是 Python 数据库操作及 SQL 基础的相关内容。为了更好地学习和理解这些知识点,建议你在实际项目中亲自动手操作,逐渐积累经验

更多关于Python操作SQL的资料请关注脚本之家其它相关文章!

相关文章

  • python进阶collections标准库使用示例详解

    python进阶collections标准库使用示例详解

    这篇文章主要为大家介绍了python进阶collections标准库使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • python copy模块中的函数实例用法

    python copy模块中的函数实例用法

    在本篇内容里小编给大家整理了关于python copy模块的基础知识点及实例用法,有需要的朋友们可以跟着学习下。
    2021-09-09
  • python解释器安装教程的方法步骤

    python解释器安装教程的方法步骤

    这篇文章主要介绍了python解释器安装教程的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python基于字典实现switch case函数调用

    Python基于字典实现switch case函数调用

    这篇文章主要介绍了Python基于字典实现switch case函数调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Flask之请求钩子的实现

    Flask之请求钩子的实现

    这篇文章主要介绍了Flask之请求钩子的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Python 字符串使用多个分隔符分割成列表的2种方法

    Python 字符串使用多个分隔符分割成列表的2种方法

    本文主要介绍了Python 字符串使用多个分隔符分割成列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • keras 读取多标签图像数据方式

    keras 读取多标签图像数据方式

    这篇文章主要介绍了keras 读取多标签图像数据方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 基于SQLAlchemy实现操作MySQL并执行原生sql语句

    基于SQLAlchemy实现操作MySQL并执行原生sql语句

    这篇文章主要介绍了基于SQLAlchemy实现操作MySQL并执行原生sql语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python 淘宝爬虫小实例

    python 淘宝爬虫小实例

    双十一即将到来,电商都在做活动打折,但打完折是不是真的优惠了,需要我们自己斟酌,毕竟我们不能一直关注着价格,也自然不能知道现在的价格比以前高了还是低了,今天让我们用Python来爬取一下淘宝吧
    2021-11-11
  • PyTorch零基础入门之构建模型基础

    PyTorch零基础入门之构建模型基础

    PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序,它是一个可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络
    2021-10-10

最新评论