SQL 常用语句

news2024/11/4 17:23:54

目录

我的测试环境

学习文档

进入数据库

基础通关测验

语句-- 查

展示数据库;

进入某个数据库;

展示表:

展示某个表   desc

查询整个表:

查询特定列:

范围查询

等于特定值

不等于

介于

特定字符查询 Like

关键字查询

字符长度查询

特定位置查询

AND  OR

排序

查找类似值

查询多个值

合并多表查询结果UNION

查询不同表中的不重复值;

查询某列空值/非空值

查询并计算

非空列的平均值

查询低于平均值的列值

Count 语句

查询某列非空值的值种类

查询某列非空值数量:

查询最大值:

查询最小值

列求和

某列的分组查询:

分组后对组名进行时筛选:having语句

某列以英文的大写查询

某列以英文的小写查询

查询多列  某一列小写/大写

查看某列中各个值的长度

查某个表的时间:

语句--增

创建表

在某个表中插入数据

数值取舍

语句--删

去除重复值

删除固定值

删除整个表

语句--改

改值  update


我的测试环境

MYSQL    :MySQL Server 8.0

Navicat

学习文档

SQL常用语句总结 - 知乎 (zhihu.com)

基础篇:数据库 SQL 入门教程-CSDN博客

SQL 教程 | 菜鸟教程

进入数据库

mysql -u root -p

基础通关测验

SQL 测验

语句-- 查

展示数据库;

show  databases;

进入某个数据库;

 use  test1022;

展示表:

展示某个表   desc

查询整个表:

select  * from person02;

查询特定列:

select name,email from person02;

语法重点:select  列名称,列名称  from 表名称;

范围查询

SELECT name FROM person02 WHERE name ='lisi';

SELECT address FROM person02 WHERE address ='beijing';

等于特定值

语法重点:

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值;

不等于

下面的运算符可在 WHERE 子句中使用:

操作符

描述

=

等于

<>

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

BETWEEN

在某个范围内

LIKE

搜索某种模式

介于

SELECT 序号 from person02 where 序号 between 1 and 30;

语法重点:

SELECT 列名称   from 表名称  where 列名称  between 1 and 2;

SELECT 列名称   from 表名称  where 列名称 not between 1 and 2;

数字的时候前后都包括

 SELECT name from person02 where name between 'b' and 'd';

查询字符时包括前边的不包括后边的

特定字符查询 Like

关键字查询

SELECT * from person02 where name like 'lisi';

语法重点:

SELECT * from 表名称 where列名称  like 'lisi';

SELECT * from 表名称 where列名称  like 'li%';

语法重点:

SELECT * from 表名称 where列名称  like '%';  -匹配开头

SELECT * from 表名称 where列名称  like '%%';  -匹配特定字符

字符长度查询

语法重点:匹配特定长度

SELECT * from 表名称 where列名称  like '___';  -匹配特定长度的值  _是一个字符

特定位置查询

语法重点:匹配特定位置

SELECT * from 表名称 where列名称  like '___%';

SELECT * from person02 where name like '__s%';

AND  OR

语法重点:

SELECT * FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值;

select * from person02 where name = 'lisi' and 序号='5';

 语法重点:

SELECT * FROM 表名称 WHERE 列 运算符 值 OR 列 运算符 值;

select * from person02 where name = 'lisi' or name='aa';

排序

语法重点:

SELECT * FROM 表名称 ORDER BY 1,2 DESC;

默认排序为 ASC 升序,DESC 代表降序。

以字母顺序显示 某列 名称:

select *from  person02 order by address;

语法重点:

select *from  表名称 order by 列名称;

查找类似值

语法重点:

SELECT 列名/(*) FROM 表名称 WHERE 列名称 LIKE ;

select address from person02 where name like 'a%';

查询多个值

语法重点:

SELECT 列名/(*) FROM 表名称 WHERE 列名称 IN (1,2,3);

select * from person02 where address in ('shanghai','beijing');

合并多表查询结果UNION

语法重点:

UNION 语法:

SELECT 列名 FROM A

UNION

SELECT 列名 FROM B;

 UNION 操作符默认为选取不同的值。如果查询结果需要显示重复的值,请使用 UNION ALL

UNION ALL 语法:

SELECT 列名 FROM A

UNION ALL

SELECT 列名 FROM B;

查询不同表中的不重复值;

select * from 表1

UNION
select * from 表
2;

 

select * from user01 union select * from user02;

UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

查询某列空值/非空值

语法重点:

select *  from person02 where 序号  is  null;

select *  from person02 where 序号  is  not null;

查询并计算

非空列的平均值

语法重点:

select avg(列名)  from 表名;

 select avg(phone)  from user01;

查询低于平均值的列值

语法重点:

select   * from  表名  where  列名字 < (select avg(列名字) from  );

select   * from  user01  where  phone < (select avg(phone) from  user01);

Count 语句

语法重点:

 select  count(*)  from 表名;

 select  count(*)  from person02;

查询某列非空值的值种类

语法重点:

SELECT COUNT(DISTINCT 列名) FROM 表名;

select  count(distinct address)  from  person02;

查询某列非空值数量:

语法重点:

SELECT COUNT(列名) FROM 表名;

select  count(address)  from person02;

查询最大值:

语法重点

select  max(列名)  from  表名;

select  max(phone)  from  user01;

查询最小值

语法重点

select  min(列名)  from  表名;

select  min(phone)  from  user01;

列求和

语法重点:

select  sum(列名)  from  表名;

select  sum(phone)  from  user01;

某列的分组查询:

语法重点:

SELECT 列名A, 统计函数(列名B) FROM 表名 WHERE 查询条件 GROUP BY 列名A;

select address,count(address)from  person02

    -> where address='beijing'

    -> group by address;

分组后对组名进行时筛选:having语句

语法重点:

SELECT 列名A, 统计函数(列名B)

FROM table_name

WHERE 查询条件

GROUP BY 列名A

HAVING 统计函数(列名B) 查询条件;

select name,count(phone)  from user01   where phone='10'  group by name  hav

ing sum(phone) >8;

 select lastname,count(phone)

    -> from user01

    -> where phone='10'

    -> group by lastname

    -> having sum(phone) >8;

某列以英文的大写查询

语法重点:

 select  upper(列名称)  from  表名称;

 select  upper(name)  from  person02;

注: 该查询不会影响源数据   单纯查的时候是这个现实

某列以英文的小写查询

语法重点:

select lower(列名) from 表名;

注: 该查询不会影响源数据   单纯查的时候是这个现实

查询多列  某一列小写/大写

语法重点:

select lower(列名称1),列名称2 from 表名称;

select upper(列名称1),列名称2 from 表名称;

 select upper(name),upper(address),email from person02;

查看某列中各个值的长度

语法重点:

 select  length(列名) from 表名;

 select  length(name) from person02;

查某个表的时间:

适用于 MySQL

select now();

语句--增

创建表

CREATE TABLE  user01

(

name  int,

LastName   int(255),

FirstName int(255),

email   int(255),

phone int(255)

);

也可写为 

CREATE TABLE  user02

(name  int,

LastName   int(255),

FirstName int(255),

email   int(255),

phone int(255) );

笔记 :

语法重点: 最后一行无,  

在某个表中插入数据

insert into person02 values ('22','zhanghds','4657qqcom','beijing');

insert into person02 values ('22','zhanghds','4657qqcom','beijing');

语法重点:insert into 表名称  values '',‘值2');

insert into person02 (name) values('王家');

语法重点:insert into 表名称  (列名称) values '');

数值取舍

语法重点:

select round(列名,精度) from 表名;

语句--删

去除重复值

select distinct  name from  person02;

select distinct  name from 表名称;

注:该语句只是just 不显示而已,不是在原来库中做删除  因为再查看还是有的

删除固定值

语法重点:

DELETE FROM 表名称 WHERE 列名称 = ;

select *from  person02 order by 序号 asc;

删除整个表

做删除操作一定要谨慎 ,最好是先做好备份!!

DELETE FROM 表名称;

delect from persons;

语法重点:

TRUNCATE TABLE 表名称;

truncate table persons;

删除表

语法重点:

drop tables 表名称;

drop tables persons;

语句--改

改值  update

语法重点:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;

update person02  set 序号='00' where email='333@qq.com';

为列名称和表名称指定别名(Alias),别名使查询程序更易阅读和书写。

语法重点:

表别名:

SELECT 表名称/(*) FROM 表名称 AS 别名;

列别名:

SELECT 列名称 as 别名 FROM 表名称;

NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

语法:

解释

CREATE TABLE 表
(
列 int NOT NULL
);

 

 End

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

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

相关文章

python在word的页脚插入页码

1、插入简易页码 import win32com.client as win32 from win32com.client import constants import osdoc_app win32.gencache.EnsureDispatch(Word.Application)#打开word应用程序 doc_app.Visible Truedoc doc_app.Documents.Add() footer doc.Sections(1).Footers(cons…

Centos环境下安装docker

本文演示离线版安装用于没有网络环境的系统 在线版安装可参考以下链接 https://www.runoob.com/docker/centos-docker-install.html 一、docker离线安装 1、下载docker离线安装包 docker下载地址&#xff1a; Docker版本下载 选择版本 下载后上传至服务器 百度网盘下载…

Java 中的 Map 集合及其子类详解:HashMap 和 TreeMap

Java 中的 Map 集合及其子类详解&#xff1a;HashMap 和 TreeMap 在 Java 编程中&#xff0c;Map 是一种用于存储键值对的集合结构。Java 提供了多种 Map 实现类&#xff0c;其中最常用的是 HashMap 和 TreeMap。 双列集合 在Java中&#xff0c;双列集合&#xff08;也称为映…

CoCode助力志晟信息成功通过CMMI五级复评!

热烈祝贺河北志晟信息技术股份有限公司在近期CMMI&#xff08;能力成熟度模型集成&#xff09;评估中&#xff0c;再次以卓越表现顺利通过CMMI成熟度五级的复评。 CoCode助力志晟信息通过CMMI五级 2024年9月1日至10日&#xff0c;CMMI评估组对志晟信息管理体系及其应用运行情况…

AD 授予委派full control权限后,部分用户无法unlock

文章目录 问题描叙根因解決方法&#xff1a; 问题描叙 通過委派方式授予被委派用戶full control 权限后&#xff0c;部分用户unlock是灰色显示&#xff1a; 根因 对比能正常unlock与无法unlock的用户&#xff0c;发现繼承無法unlock的用戶沒有"enable inheritance&quo…

css实现边框双色凹凸半圆

整体效果如下图&#xff1a; 结构代码&#xff1a; <div classline-outside-wrap><div classwrap><img src../img/avatar2x.png/><div classcontent-wrap></div></div></div> 内凹框实现&#xff1a; .content-wrap{width:100%;he…

算法深度剖析:前缀和

文章目录 前言一、一维前缀和模板二、二维前缀和模板三、寻找数组的中心下标四、除自身以外数组的乘积五、和为 K 的子数组六、和可被 K 整除的子数组七、连续数组八、矩阵区域和 前言 本章将深度剖析前缀和&#xff0c;以及总结前缀和模板。 前缀和是一种在算法和数据处理中…

关于我、重生到500年前凭借C语言改变世界科技vlog.14——常见C语言算法

文章目录 1.冒泡排序2.二分查找3.转移表希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 根据当前所学C语言知识&#xff0c;对前面知识进行及时的总结巩固&#xff0c;出了这么一篇 vlog 介绍当前所学知识能遇到的常见算法&#xff0c;这些算法是…

特定领域的Embeddings模型微调全面指南

假设你正在为医学领域构建一个问答系统。你希望确保当用户提出问题时&#xff0c;系统能够准确地检索相关的医学文章。但是通用的嵌入模型可能在处理医学术语的高度专业化词汇和细微差别时会遇到困难。 这时候&#xff0c;微调就能派上用场了&#xff01;&#xff01;&#xf…

视频推荐的算法(字节青训)

题目&#xff1a; 西瓜视频 正在开发一个新功能&#xff0c;旨在将访问量达到80百分位数以上的视频展示在首页的推荐列表中。实现一个程序&#xff0c;计算给定数据中的80百分位数。 例如&#xff1a;假设有一个包含从1到100的整数数组&#xff0c;80百分位数的值为80&#…

安卓13默认连接wifi热点 android13默认连接wifi

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 有时候我们需要让固件里面内置好,相关的wifi的ssid和密码,让固件起来就可以连接wifi,不用在手动操作。 2.问题分析 这个功能,使用普通的安卓代码就可以实现了。 3.代…

详解RabbitMQ三种队列类型

RabbitMQ 是一个强大的消息队列系统&#xff0c;它提供了多种队列类型以满足不同的使用需求。本文将探讨三种主要队列类型&#xff1a;经典队列、仲裁队列和流式队列&#xff0c;并讨论它们的区别和选型建议。 经典队列&#xff08;Classic Queues&#xff09; 简介&#xff…

CytoSPACE·空转和单细胞数据的高分辨率比对

1. 准备输入文件&#xff0c;需要四个文件&#xff0c;所有文件都应以制表符分隔的表格输入格式 (.txt) 提供。 a. scRNA-seq 基因表达文件 矩阵必须是基因&#xff08;行&#xff09;乘以细胞&#xff08;列&#xff09;。 第一行必须包含单个细胞 ID&#xff0c;第一列必须…

react使用Fullcalendar

前言&#xff1a; 最近在做项目时&#xff0c;遇到了需要用日历的项目。一开始考虑使用antd的日历组件。后来 调研技术库&#xff0c;发现了fullcalendar 库。经过对比 fullcalendar 更强大&#xff0c;更灵活。 其实 antd的日历组件 也不错&#xff0c;简单的需求用他也行。…

LabVIEW过程控制实验平台

A3000实验平台通过LabVIEW开发&#xff0c;实现了过程控制的虚拟仿真与实时通信&#xff0c;显著提高了教学与实验的互动性和效率。该平台采用模块化设计&#xff0c;支持多种控制策略的实验教学&#xff0c;克服了传统实验设备的不足。项目背景 目前高校过程控制实验设备普遍…

腾讯会议pc端3.29.11开启悬浮窗口

之前是&#xff1a;pc端每次最小化&#xff0c;它就自动收回到任务栏里了 版本&#xff1a;3.29.11 解决办法&#xff1a; 打开腾讯会议&#xff0c;点击左上角的【头像】。 单击【设置】。 选择【显示当前说话者】来管理麦克风浮窗。 再进入会议&#xff0c;点击最小化一哈&…

聊一聊:ChatGPT搜索引擎会取代谷歌和百度吗?

当地时间 10 月 31 日&#xff0c;OpenAI 正式推出了 ChatGPT 搜索功能&#xff0c;能实时、快速获取附带相关网页来源链接的答案。这一重大升级标志着其正式向谷歌的搜索引擎霸主地位发起挑战。 本周五我们聊一聊&#xff1a; 欢迎在评论区畅所欲言&#xff0c;分享你的观点~ …

贪心算法习题其四【力扣】【算法学习day.21】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…

python实战项目52:Selenium爬取steam黑神话悟空评论

python实战项目52:Selenium爬取steam黑神话悟空评论 一、思路分析二、完整代码一、思路分析 Selenium爬取steam游戏评论的思路非常简单,初始化Chromedriver,然后打开评论页面,循环下拉滚动条,每下拉一次滚动条获取一次页面源代码,使用xpath解析数据并保存数据。本文的主…

Claude 3.5 新功能 支持对 100 页的PDF 图像、图表和图形进行可视化分析

Claude 3.5 Sonnet发布PDF图像预览新功能&#xff0c;允许用户分析长度不超过100页的PDF中的视觉内容。 此功能使用户能够轻松上传文档并提取信息&#xff0c;特别适用于包含图表、图形和其他视觉元素的研究论文和技术文档。 视觉PDF分析&#xff1a;用户现在可以从包含各种视觉…