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

SQL基础语句小结

🍎道阻且长,行则将至。🍓


目录

一、SQL概述

1.简介

2.格式语法

3.SQL分类

二、DDL操作数据库

1.创建数据库

2.查询与使用

3.删除数据库

三、DDL:操作表

        (1)数据类型

        (2)创建表

        (3)查询当前数据库的表 

        (4)删除表

        (5)修改表

四、DML:操作数据

        (1)添加数据

        (2)修改数据

        (3)删除数据

四、DQL

        (1)基础查询

        (2)条件查询

        (3)模糊查询

        (4)排序查询

        (5)聚合函数

        (6)分组查询

        (7)分页查询


一、SQL概述

1.简介

Structured Query Language,简称 SQL,即结构化查询语言,是一门操作关系型数据库的编程语言,它定义操作所有关系型数据库的统一标准,对于同一个需求,不同数据库操作的方式可能会存在一些不一样的地方,称为“方言”。

2.格式语法

SQL 语句可以单行或多行书写,以分号结尾。MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。 注释:

单行注释: -- 注释 (--后面要加空格 )或 #注释(MySQL 特有);

多行注释: /* 注释 */。

3.SQL分类

        (1)DDL(Data Definition Language)  数据定义语言

用来定义数据库对象:数据库,表,列等;

        (2)DML(Data Manipulation Language) 数据操作语言

对数据库中表的数据进行增删改;

        (3)DQL(Data Query Language) 数据查询语言

从数据库表中查询到我们想要的数据;

        (4)DCL(Data Control Language) 数据控制语言

定义数据库的访问权限和安全级别,及创建用户。

最常操作的是 DMLDQL ,因为我们开发中最常操作的就是数据。

二、DDL操作数据库

1.创建数据库

CREATE DATABASE 数据库名称;

创建数据库的时候先做判断,如果不存在再创建:

CREATE DATABASE IF NOT EXISTS 数据库名称;

2.查询与使用

  • 查询所有的数据库: SHOW DATABASES;5b1fc98a4a3b4f778ff21ae19f5f35c5.png
  • 使用数据库 :USE 数据库名称;7a86ebc77ff1454488e8bcb40bff21e4.png
  •  查看当前使用的数据库:SELECT DATABASE();3dccd099f0534e4589a3571828726ce0.png

3.删除数据库

DROP DATABASE 数据库名称;

DROP DATABASE IF EXISTS 数据库名称;

三、DDL:操作表

操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)

        (1)数据类型

MySQL 支持多种类型,可以分为三类:

数值:

tinyint : 小整数型,占一个字节
int	: 大整数类型,占四个字节eg : age int
double : 浮点类型使用格式: 字段名 double(总长度,小数点后保留的位数)eg : score double(5,2)

日期:

date : 日期值。只包含年月日eg :birthday date : 
datetime : 混合日期和时间值。包含年月日时分秒

字符串:

char : 定长字符串。优点:存储性能高缺点:浪费空间eg : name char(10)  如果存储的数据字符个数不足10个,也会占10个的空间
varchar : 变长字符串。优点:节约空间缺点:存储性能底eg : name varchar(10) 如果存储的数据字符个数不足10个,那就数据字符个数是几就占几个的空间	

        (2)创建表

CREATE TABLE 表名 (字段名1  数据类型1,字段名2  数据类型2,…字段名n  数据类型n
);

注意最后一行没有逗号

        (3)查询当前数据库的表 

SHOW TABLES;93d7cb4250da47c4a0cddc322f16a47d.png

DESC 表名称;  查看mysql数据库中表的结构。

        (4)删除表

DROP TABLE 表名;

DROP TABLE IF EXISTS 表名;

        (5)修改表

ALTER TABLE 表名 RENAME TO 新的表名;

ALTER TABLE 表名 ADD 列名 数据类型;                添加一列

ALTER TABLE 表名 DROP 列名;                             删除一列

ALTER TABLE 表名 MODIFY 列名 新数据类型;

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

四、DML:操作数据

DML主要是对数据进行增(insert)删(delete)改(update)操作。在命令行写sql语句特别不方便,尤其是编写创建表的语句, 【Navicat 官网链接】 Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案,为数据库管理、开发和维护提供了一款直观而强大的图形界面。

1cc98a07cd5f45b696454c07f2b80c40.png

        (1)添加数据

-- 指定列添加数据
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);
-- 全部列添加数据**
INSERT INTO 表名 VALUES(值1,值2,…);
-- 批量添加
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;

        (2)修改数据

UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;
-- 修改语句中不加[WHERE 条件]条件,将修改所有数据

        (3)删除数据

DELETE FROM 表名 [WHERE 条件] ;

四、DQL

DQL是对表中的数据进行查询。

        (1)基础查询

-- 查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据
-- 去除重复记录  DISTINCT 
SELECT DISTINCT 字段列表 FROM 表名;
-- 别名
AS 

        (2)条件查询

0026d5a1a88e4f49b994b67e957846e9.png

SELECT 字段列表 FROM 表名 WHERE 条件列表;

        (3)模糊查询

select * from stu where name like '李%';
-- (1)_ : 代表单个任意字符
-- (2)% : 代表任意个数字符

        (4)排序查询

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] …;-- 排序方式有两种,分别是:
-- ASC : 升序排列(默认)
-- DESC : 降序排列如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

        (5)聚合函数

0dd440be954f4ef7bda1629538a4bb0e.png

SELECT 聚合函数名(列名) FROM 表;
-- null 值不参与所有聚合函数运算

        (6)分组查询

SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

p:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

pp:where 和 having 区别:

执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。

        (7)分页查询

分页查询是将数据一页一页的展示

SELECT 字段列表 FROM 表名 LIMIT  起始索引 , 查询条目数;
-- 起始索引是从0开始

812c2c9f1b4b4ce4843f7030b2238b7e.gif

☕物有本末,事有终始,知所先后。🍭

相关文章:

SQL基础语句小结

🍎道阻且长,行则将至。🍓 目录 一、SQL概述 1.简介 2.格式语法 3.SQL分类 二、DDL操作数据库 1.创建数据库 2.查询与使用 3.删除数据库 三、DDL:操作表 (1)数据类型 (2)创建表 (3)查询当前数据库的表 (4)删除表 (5)修改表 四、DML…...

管理类书籍推荐

管理类书籍对于每一位想要获得管理能力提升或者实现职业生涯更上一层楼的企业管理者或领导者而言,都是不可或缺的一项重要学习工具。作为管理工作从事者的职场必需品,一本出色的管理类书籍可以为我们提供大量宝贵的经验与专业建议,从而让管理…...

win10 mingw 调用python

ubuntu调用pythonhttps://blog.csdn.net/qq_39942341/article/details/129333969 我这里mingw是用msys2的 opencv也是msys2装的 安装msys2和opencv可以参考这个https://blog.csdn.net/qq_39942341/article/details/129380197?spm1001.2014.3001.5502 环境变量里加入python路…...

教你使用三种方式写一个最基本的spark程序

当需要处理大规模数据并且需要进行复杂的数据处理时,通常会使用Hadoop生态系统中的Hive和Spark来完成任务。在下面的例子中,我将说明如何使用Spark编写一个程序来处理Hive中的数据,以满足某个特定需求。假设我们有一个Hive表,其中…...

软件设计师错题集

软件设计师错题集一、计算机组成与体系结构1.1 浮点数1.2 Flynn分类法1.3 指令流水线1.4 层次化存储体系1.4.1 程序的局限性1.5 Cache1.6 输入输出技术1.7 总线系统1.8 CRC循环冗余校验码二、数据结构与算法基础2.1 队列与栈2.2 树与二叉树的特殊性2.3 最优二叉树(哈…...

【华为机试真题详解 Python实现】静态扫描最优成本【2023 Q1 | 100分】

文章目录前言题目描述输入描述输出描述示例 1输入:输出:示例 2输入:输出:题目解析参考代码前言 《华为机试真题详解》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的…...

算法刷题总结 (四) 动态规划

算法总结4 动态规划一、动态规划1.1、基础问题11.1.1、509. 斐波那契数列1.1.2、70. 爬楼梯1.1.3、746. 使用最小花费爬楼梯1.2、基础问题21.2.1、62. 不同路径1.2.2、63. 不同路径Ⅱ1.2.3、343. 整数拆分1.2.4、96. 不同的二叉搜索树1.3、背包问题1.3.1、01背包1.3.1.1、单次选…...

Grafana 转换数据的工具介绍

转换数据 Grafana 可以在数据显示到面板前对数据进行处理 1、点击Transform选项卡 2、选择要使用的转换类型,不同的转换类型配置不同 3、要新增转换类型,点击Add transformation 4、使用右上角调式按钮可以调式转换 支持的转换类型: Add f…...

Linux 学习笔记

一、 概述 1. 操作系统 ① 计算机由硬件和软件组成 ② 操作系统属于软件范畴,主要作用是协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁 ③ 常见的操作系统 🤠 PC端:Windows、Linux、MacOS🤠 移动端&#…...

HTML注入专精整理

目录 HTML注入介绍 抽象解释 HTML注入的影响 HTML注入与XSS的区别 HTML元素流程图...

看完这篇我不信你不会二叉树的层序遍历【C语言】

目录 实现思路 代码实现 之前介绍了二叉树的前、中、后序三种遍历,采用的是递归的方式。今天我们来学习另外一种遍历方式——层序遍历。层序遍历不容小觑,虽然实现方法并不难,但是它所采取的思路是很值得学习的,与前三者不同&am…...

案例17-环境混用带来的影响

目录一、背景介绍背景事故二、思路&方案三、过程四、总结nginx做转发fastdfs(文件上传下载)五、升华一、背景介绍 本篇博客主要介绍开发中项目使用依赖项环境闭一只带来的恶劣影响,在错误中成长进步。 背景 本公司另外一个产品开发God…...

知识蒸馏论文阅读:DKD算法笔记

标题:Decoupled Knowledge Distillation 会议:CVPR2022 论文地址:https://ieeexplore.ieee.org/document/9879819/ 官方代码:https://github.com/megvii-research/mdistiller 作者单位:旷视科技、早稻田大学、清华大学…...

Sentinel架构篇 - 熔断降级

熔断降级 概念 除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用其它模块,可能是一个远程服务、数据库、或者第三方 API 等。然而,被依赖的服务的稳定性是不能保证的。如果依赖的服…...

shell脚本的一些记录 与jenkins的介绍

shell 脚本的执行 sh ***.sh shell脚本里面的命令 其实就是终端执行一些命令 shell 连接服务器 可以直接ssh连接 但是这样最好是无密码的 不然后面的命令就不好写了 换而言之有密码得 不好写脚本 需要下载一些expect的插件之类的才可以 判断语句 的示例 需要注意的是…...

JVM的了解与学习

一:jvm是什么 jvm是java虚拟机java Virtual Machine的缩写 jdk包含jre和java DevelopmentTools 二:什么是java虚拟机 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。java虚拟机有自己完善的硬体结构,如处理器、堆栈、寄存器等,还有…...

提升数字品牌的5个技巧

“品牌”或“品牌推广”的概念通常用于营销。因为建立您的企业品牌对于产品来说极其重要,品牌代表了您与客户互动的身份和声音。今天,让我们来看看在数字领域提升品牌的一些有用的技巧。如何在数字领域提升您的品牌?在了解这些技巧之前&#…...

java通过反射获取加了某个注解的所有的类

有时候我们会碰到这样的情况:有n个场景,每个场景都有自己的逻辑,即n个处理逻辑,这时候我们就需要通过某个参数的值代表这n个场景,然后去加载每个场景不同的bean对象,即不同的类,这些类中都有一个…...

Warshall算法

🚀write in front🚀 📜所属专栏:> 算法 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对我…...

vector中迭代器失效的问题及解决办法

目录 vector常用接口 vector 迭代器失效问题 vector中深浅拷贝问题 vector的数据安排以及操作方式,与array非常相似。两者的唯一差别在于空间的运用的灵活性。array 是静态空间,一旦配置了就不能改变;要换个大(或小) 一点的房子&#x…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

ES6从入门到精通:前言

ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...