SQL基础语句小结

news2025/1/31 3:03:56

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


目录

一、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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/396587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小鹏汽车「错失」智能化好牌

本周,作为小鹏品牌销售主力的P7正式迎来改款发布。3月6日,小鹏P7i迎来首发,作为P7的改款车型,在整车电子架构、三电系统、智能化硬件配置上都进行了全面升级。 基于和G9相同的双Orin-X计算平台两个盲区激光雷达,P7i实现…

RocketMQ基础篇(一)

目录一、发送消息类型1、同步消息2、异步消息3、单向消息4、顺序消费5、延迟消费二、消费模式1、集群模式2、广播模式3、消费模式扩展4、如何配置三、其他用法1、事务消息2、过滤消息1)Tag过滤2)SQL方式过滤源码放到了GitHub仓库上,地址 http…

HyperLPR3车牌识别-Android-SDK光速部署与使用

简介HyperLPR在2023年初已经更新到了v3的版本,该版本与先前的版本一样都是用于识别中文车牌的开源图像算法项目,最新的版本的源码可从github中提取:https://github.com/szad670401/HyperLPRHyperLPR-Android-SDK for JitPackHyperLPR3的官方源…

Prim算法和Kruskal算法到底哪个好?

Prim和Kruskal有啥区别?到底哪个好? 今天做了一道最小生成树的题,发现了一点猫腻! 题目在这里 : 《修路问题1》 文章目录Prim和Kruskal有啥区别?到底哪个好?先说结论PrimKruskal修路问题1——…

不好!有敌情,遭到XSS攻击【网络安全篇】

XSS:当一个目标的站点,被我们用户去访问,在渲染HTMl的过程中,出现了没有预期到的脚本指令,然后就会执行攻击者用各种方法注入并执行的恶意脚本,这个时候就会产生XSS。 涉及方: 用户&#xff0…

Linux端安装MySQL并实现远程连接Navicat

文章目录Linux端安装MySQL(centos版本)Linux端安装MySQL(centos版本) 1、先将MySQL需要的四个rpm安装包上传上去,这里可以使用Xftp软件或者是通过window端使用ftp文件传输方式上传到Linux端,这里选择Xftp来…

基于JavaWeb学生选课系统开发与设计(附源码资料)

文章目录1. 适用人群2. 你将收获3.项目简介4.技术实现5.运行部分截图5.1.管理员模块5.2.教师模块5.3.学生模块1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计或者是需要实战项目的Java开发学习者。 2. 你将收获 提供:项目源码、项目文档、数据库脚本…

远程办公18年,把一个开源工具变成了价值 75亿美元的跨国企业

把自己的兴趣做成了一份事业,把一个开源工具发展成为一家价值75亿美元的跨国企业,而且还是那种员工做梦都想进入的公司,真正实现了功成名就,这或许是所有程序员的梦想吧。 先来看看这家公司的福利: 员工拥有没有限制的…

git快速入门(1)

1 git的下载与安装1)下载git安装包下载路径:https://git-scm.com/我的操作系统是window,64位的,我下载的Git-2.33.0-64-bit.exe,从官网下载或者从网址下载链接:链接地址:https://pan.baidu.com/…

【MySQL】P8 多表查询(2) - 连接查询 联合查询

连接查询以及联合查询多表查询概述连接查询内连接隐式内连接显式内连接外连接左外连接右外连接自连接联合查询多表查询概述 建表语句见上一篇博文:https://blog.csdn.net/weixin_43098506/article/details/129402302 e.g.e.g.e.g. select * from emp, dept where e…

深入分析@Configuration源码

文章目录一、源码时序图1. 注册ConfigurationClassPostProcessor流程源码时序图2. 注册ConfigurationAnnotationConfig流程源码时序图3. 实例化流程源码时序图二、源码解析1. 注册ConfigurationClassPostProcessor流程源码解析(1)运行案例程序启动类Conf…

Python安装、断点调试

一、安装Python方法 1.1 在Microsoft Store微软商店中搜索Python安装(推荐) 或直接在cmd中Python运行 已经安装了就显示版本号, 如果没有安装过,会直接跳到微软商店 1.2 在python官网中找最新版下载安装 二、VSCODE中运行与断点…

容易混淆的嵌入式(Embedded)术语

因为做嵌入式开发工作虽然跳不出电子行业,但还是能接触到跨度较大的不同行当,身处不同的圈子。诸如医疗,银行,车载,工业;亦或者手机,PC,专用芯片;甚至可能横跨系统开发、…

Vue常见的事件修饰符

前言 vue一共给我们准备了6个事件修饰符,前三个比较常用,后三个少见,这里着重讲下前三个 1.prevent:阻止默认事件(常用) 2. stop:阻止事件冒泡(常用) 3. once:事件只触发一次(常用) 4.captrue:使用事件的捕捉模式(不常用) 5.self:只有event…

案例10---对生产环境的敬畏--生产环境

一:背景介绍 1:上午9:23,老师没有进行上课,但是却又很多的在线人员,并且在线人员的时间也不正确,用户反映问题。 2:开发人员发现用户上课情况异常。 3:10点整,询问项目…

Notepad++ 下载与安装教程

文章目录Notepad 下载与安装教程Notepad 简介一,Notepad 下载二,Notepad 安装Notepad 下载与安装教程 Notepad 简介 Notepad是程序员必备的文本编辑器,Notepad中文版小巧高效,支持27种编程语言,通吃C,C ,Java ,C#, XM…

Android Execution failed for task ‘:app:mergeDebugJavaResource

错误提示 FAILURE: Build failed with an exception.* What went wrong: Execution failed for task :app:mergeDebugJavaResource. > A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction> 2 files found with path k…

不写代码、年薪百万,带你玩赚ChatGPT提示工程-提示应用程序

文章目录前言一、数据生成二、PAL (Program-Aided Language Models): Code as Reasoning总结前言 随着ChatGPT的大火,提示工程在大模型中的重要性不言而喻,本文参考国外Prompt Engineering Guide完成国内中文版本的《提示工程指南》,希望能够…

一文读懂倒排序索引涉及的核心概念

基础概念相信对于第一次接触Elasticsearch的同学来说,最难理解的概念就是倒排序索引(也叫反向索引),因为这个概念跟我们之前在传统关系型数据库中的索引概念是完全不同的!在这里我就重点给大家介绍一下倒排序索引&…

DOTA双功能螯合剂127985-74-4,p-SCN-Bn-DOTA,实验室科研试剂

p-SCN-Bn-DOTA产品描述:p-SCN-Bn-DOTA用于标记多肽的双功能螯合剂,同时螯合放射性核素和连接单克隆抗体。DOTA 的全名是 1,4,7,10-Tetraazacyclododecane-1,4,7,10-tetraacetic acid,中文名称为 1,4,7,10-四氮杂环十二烷-四乙酸,其…