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了。

相关推荐
cookqq3 分钟前
mongodb源码分析session执行handleRequest命令find过程
数据库·sql·mongodb·nosql
Bro_cat5 分钟前
MongoDB 入门指南:安装、配置与 Navicat 连接教程
数据库·mongodb
不太可爱的大白9 分钟前
洞悉 MySQL 查询性能:EXPLAIN 命令 type 字段详解
数据库·mysql
敲键盘的小夜猫12 分钟前
大模型智能体核心技术:CoT与ReAct深度解析
人工智能·python
岁忧13 分钟前
LeetCode 高频 SQL 50 题(基础版)之 【高级字符串函数 / 正则表达式 / 子句】· 下
sql·leetcode·正则表达式
华科云商xiao徐19 分钟前
Python利用Scrapy框架部署分布式爬虫
python·scrapy
小前端大牛马19 分钟前
java教程笔记(十四)-线程池
java·笔记·python
l1t41 分钟前
DeepSeek辅助实现的DuckDB copy to自定义函数
数据库·c++·人工智能
老歌老听老掉牙44 分钟前
旋量理论:刚体运动的几何描述与机器人应用
python·算法·机器学习·机器人·旋量
懵逼的小黑子1 小时前
mysql修改字段类型
数据库·mysql