SQL语法知识回顾

一、SQL****语言的分类

由于数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等等。所以,操作数据库的SQL语言,也基于功能,可以划分为4类:

数据定义:DDL(Data Definition Language)

  • 库的创建删除、表的创建删除等

数据操纵:DML(Data Manipulation Language)

  • 新增数据、删除数据、修改数据等

数据控制:DCL(Data Control Language)新增用户、删除用户、密码修改、权限管理等

  • 数据查询:DQL(Data Query Language)基于需求查询和计算数据

• SQL 语言,大小写不敏感
• SQL 可以单行或多行书写,最后以 ; 号结束
• SQL 支持注释:
• 单行注释: -- 注释内容( -- 后面一定要有一个空格)
• 单行注释: # 注释内容( # 后面可以不加空格,推荐加上)
• 多行注释: /* 注释内容 */

二、DDL****库管理

三、DDL表管理

四、DML语言

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。

关键字:插入INSERT、删除DELETE 、更新UPDATE

数据插入 INSERT

数据删除****DELETE

数据更新 UPDATE

五、DQL语言

基础查询

|--------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| 基础数据查询 | 基础数据过滤 |
| | |

分组聚合

结果排序

可以对查询的结果,使用ORDER BY 关键字,指定某个列进行排序,语法:

六、Python执行SQL语句操作MySQL数据库软件

除了使用图形化工具以外,我们也可以使用编程语言来执行SQL从而操作数据库。在Python中,使用第三方库:pymysql 来完成对MySQL数据库的操作。

安装:pip install pymysql

创建到MySQL的数据库链接

python 复制代码
"""
演示使用pymysql库进行数据插入的操作
"""
from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",   # 主机名(IP)
    port=3306,          # 端口
    user="root",        # 账户
    password="123456",  # 密码
    autocommit=True     # 自动提交(确认)
)

# print(conn.get_server_info())
# 执行非查询性质SQL
cursor = conn.cursor()      # 获取到游标对象
# 选择数据库
conn.select_db("world")
# 执行sql
cursor.execute("insert into student values(10002, '林俊节', 31, '男')")
# # 通过commit确认
# conn.commit()
# 关闭链接
conn.close()

如何获取链接对象?

  • from pymysql import Connection 导包
  • Connection(主机,端口,账户,密码)即可得到链接对象
  • 链接对象.close() 关闭和MySQL数据库的连接

如何执行SQL查询?

  • 通过连接对象调用cursor()方法,得到游标对象
  • 游标对象.execute()执行SQL语句
  • 游标对象.fetchall()得到全部的查询结果封装入元组内

自动****commit

如果不想手动commit确认,可以在构建链接对象的时候,设置自动commit的属性。

如图代码进行设置,即可自动提交无需手动commit了。

相关推荐
四维碎片7 分钟前
【Qt】乌班图安装Qt环境
开发语言·数据库·qt
wuyunhang12345616 分钟前
MySQL----触发器
数据库·mysql
B站_计算机毕业设计之家18 分钟前
大数据实战:Python+Flask 汽车数据分析可视化系统(爬虫+线性回归预测+推荐 源码+文档)✅
大数据·python·数据分析·flask·汽车·线性回归·预测
晚枫~20 分钟前
零基础快速上手Playwright自动化测试
javascript·python·测试工具·c#·自动化
ptc学习者30 分钟前
OGG 安装注意事项
java·开发语言·数据库
鸽鸽程序猿1 小时前
【MySQL】索引
数据库·mysql
zym大哥大1 小时前
Redis-Zest
数据库·redis·缓存
该用户已不存在1 小时前
Python项目的5种枚举骚操作
后端·python
mortimer2 小时前
从 Python+venv+pip 迁移到 uv 全过程 及 处理 torch + cuda 的跨平台指南
pytorch·python·macos
berryyan2 小时前
Windows WSL 环境下配置 Claude Code 非官方账号2233.ai完整教程
人工智能·python