当前位置: 首页 > news >正文

SQL语法知识回顾

  一、SQL语言的分类

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

数据定义:DDL(Data Definition Language)

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

数据操纵:DML(Data Manipulation Language)

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

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

  • 数据查询:DQLData 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的数据库链接


"""
演示使用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了。

http://www.lryc.cn/news/163155.html

相关文章:

  • Java基础二十七(泛型)
  • Python入门教程36:urllib网页请求模块的用法
  • LeetCode 每日一题 2023/9/4-2023/9/10
  • C# Onnx Yolov8 Seg 分割
  • Postman接口测试流程
  • 探索GreatADM:如何快速定义监控
  • C# 参数名加冒号,可以打乱参数顺序
  • AVL树 模拟实现(插入)
  • Java面试整理(三)《JavaSE》
  • LeetCode 1282. Group the People Given the Group Size They Belong To【哈希表】1267
  • Vue2项目练手——通用后台管理项目第八节
  • leetcode872. 叶子相似的树(java)
  • 【Linux从入门到精通】信号(初识信号 信号的产生)
  • Golang综合项目实战(一)
  • springmvc 获取项目中的所有请求路径
  • 【React学习】React高级特性
  • 如何在Windows系统搭建filebrowser私人网盘并实现在外网访问本地内网
  • 蓝桥杯官网练习题(算式900)
  • 【C++从入门到精通】第1篇:C++基础知识(上)
  • liunx系统无sudo或管理员权限安装rar解压安装包
  • 浅析目标检测入门算法:YOLOv1,SSD,YOLOv2,YOLOv3,CenterNet,EfficientDet,YOLOv4
  • C++:类和对象(三)
  • 分布式系统第三讲:全局唯一ID实现方案
  • Ubuntu之apt-get系列--安装JDK8--方法/教程
  • npm 实现原理
  • 国家开放大学 练习题
  • Kotlin
  • 和未来合伙人的共同价值观 - 初期
  • 虚函数表存储的位置(解析C++内存分配及其编译分段)
  • JS如何正确销毁 VIDEO 和AUDIO 元素