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

MySQL~SQL语句

一、SQL

1.什么是SQL?

Structured Query Language:结构化查询语言

每一种数据库操作的方式存在不一样的地方,称为“方言”。

2.SQL通用语法

  • SQL 语句可以单行或多行书写,以分号结尾

  • 可使用空格和缩进来增强语句的可读性

  • MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写

    3 种注释 解释说明代码

  • 单行注释: -- 注释内容 或 # 注释内容

    ***练习示例***

  • 多行注释: /* 注释 */

  • 文档注释

查询某个数据库中所有的表名称

show tables;

 查询表结构

desc 表名;

  • 1.1 SQL分类

  • 1) DDL (Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列等

    关键字:create、drop、alter 等

  • 2) DML (Data Manipulation Language)数据操作语言 用来对数据库中表的数据进行增删改

  • 关键字:insert、delete、update 等

  • 3) DQL (Data Query Language)数据查询语言 用来查询数据库中表的记录(数据)

    关键字:select、where 等

  • 4) DCL (Data Control Language)数据控制语言(了解) 用来定义数据库的访问权限和安全级别,及创建用户

    关键字:GRANT、REVOKE 等

    1.1.1 DDL 操作数据库、表

    操作数据库:CRUD

  • ① C(Create):创建

    • 创建数据库:

      create database 数据库名称;
    • 创建数据库,判断不存在,再创建:

      create database if not exists 数据库名称;

      创建数据库,并指定字符集

      create database 数据库名称 character set 字符集名;

      字符集 utf8

      ***练习示例***

      创建db4数据库,判断是否存在,并制定字符集为utf8

      create database if not exists db4 character set utf8;

      ② R(Retrieve):查询

    • 查询所有数据库的名称:

      show databases;

      查询某个数据库的字符集:查询某个数据库的创建语句

      show create database 数据库名称;

  • ③ U(Update):修改

  1. 修改表名

    alter table 表名 rename to 新的表名;
  2. 修改表的字符集

    alter table 表名 character set 字符集名称;
  3. 添加一列

    alter table 表名 add 列名 数据类型;
  4. 修改列名称 类型

    alter table 表名 change 
    列名 新列别 新数据类型;
    alter table 表名 modify 
    列名 新数据类型;
  5. 删除列

    alter table 表名 drop 列名;
  • ④ (Delete):删除

drop table 表名;
​
drop table  if exists 表名 ;

客户端图形化工具:SQLYog

1.1.2 DML 增删改表中数据

① 添加数据:

  • 语法:

    insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);

    注:

    1. 列名和值要一一对应

    2. 如果表名后不定义列名,则默认给所有列添加值

      insert into 表名 values(值1,值2,...值n)
    3. 除了数字类型,其他类型需使用引号(单双都可)引起来

② 删除数据:

  • 语法:

    delete from 表名 [where 条件]

  • 注:

    1. 如果不加条件,则删除表中所有记录

    2. 如果要删除所有记录

    3. delete from 表名; -- 不推荐使用

    4. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表

③ 修改数据:

  • 语法:

 update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];
注:如果不加任何条件,则会将表中所有记录全部修改。

1.1.3 DQL 查询表中的记录

select * from 表名;

1、常用语法

1、常用语法

select 字段列表

from 表名列表

where 条件列表

group by 分组字段

having 分组之后的条件

order by 排序

limit 分页限定

2、基础查询

  1. 多个字段的查询

    select 字段名1,字段名2... from 表名;

    注:

    如果查询所有字段,则可以使用*来替代字段列表。

  2. 去除重复:

    distinct

  3. 计算列

    • 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)

    • ifnull(表达式1,表达式2):

      null参与的运算,计算结果都为null

      • 表达式1:哪个字段需要判断是否为null

      • 如果该字段为null后的替换值。

  4. 起别名:

    • as:as也可以省略

3、条件查询

3.1 条件精准

where子句后跟条件

关系运算符 :<、>、 <= 、>= 、= 、!=、<>

逻辑运算符:and && 与 or || 或 not

BETWEEN...AND

IN( 集合)

3.2 条件模糊

LIKE:模糊查询

占位符:

_:单个任意字符

%:多个任意字符

IS NULL

and 或 &&

or 或 ||

not 或 !

4、练习示例

-- 查询年龄大于20岁--

SELECT * FROM student WHERE age > 20;
SELECT * FROM student WHERE age >= 20;

-- 查询年龄等于20岁--

SELECT * FROM student WHERE age = 20;

-- 查询年龄不等于20岁--

SELECT * FROM student WHERE age != 20;
SELECT * FROM student WHERE age <> 20;

-- 查询年龄大于等于20 小于等于30--

SELECT * FROM student WHERE age >= 20 && age <=30;
SELECT * FROM student WHERE age >= 20 AND age <=30;
SELECT * FROM student WHERE age BETWEEN 20 AND 30;

-- 查询年龄22岁、18岁、25岁的信息--

SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25;
SELECT * FROM student WHERE age IN (22,18,25);

-- 查询英语成绩为null--

SELECT * FROM student WHERE english = NULL; 

-- null值不能使用 (!=) 判断--

SELECT * FROM student WHERE english IS NULL;

-- 查询英语成绩不为null--

SELECT * FROM student WHERE english IS NOT NULL;

-- 查询姓马的有哪些? like

SELECT * FROM student WHERE NAME LIKE '%马%';

-- 查询姓名第二个字是化的人--

SELECT * FROM student WHERE NAME LIKE "_化%";

-- 查询姓名是3个字的人--

SELECT * FROM student WHERE NAME LIKE '___';

-- 查询姓名中包含德的人--

SELECT * FROM student WHERE NAME LIKE '%德%';

相关文章:

MySQL~SQL语句

一、SQL 1.什么是SQL&#xff1f; Structured Query Language&#xff1a;结构化查询语言 每一种数据库操作的方式存在不一样的地方&#xff0c;称为“方言”。 2.SQL通用语法 SQL 语句可以单行或多行书写&#xff0c;以分号结尾 可使用空格和缩进来增强语句的可读性 MyS…...

从零开始构建基于YOLOv5的目标检测系统

本博文从零开始搭建基于YOLOv5模型的目标检测系统&#xff08;具体系统参考本博主的其他博客&#xff09;&#xff0c;手把手保姆级完成环境的搭建。 &#xff08;1&#xff09;首先Windows R输入cmd命令后打开命令窗口&#xff0c;进入项目目录&#xff0c;本博文以野生动物…...

PDF尺寸修改:等比绽放(标准面单100*150mm)

PDF修改尺寸 需要注意&#xff1a;第一个方法返回的是转换后PDF的base64。第二个方法返回的是文件流&#xff0c;这个方法才是转的核心。 /*** 修改PDF尺寸** param pdfUrl PDF链接* param pdfWidthInMillimeters 指定宽 mm* param pdfHeightInMillimeters 指…...

C++ - list介绍 和 list的模拟实现

list介绍 list 是一个支持在常数范围内&#xff0c;任意位置进行插入删除的序列式容器&#xff0c;且这个容器可以前后双向迭代。我们可以把 list 理解为 双向循环链表的结构。 于其他结构的容器相比&#xff0c;list在 任意位置进行插入和函数的效率要高很多&#xff1b;而li…...

干翻Dubbo系列第四篇:Dubbo3第一个应用程序细节补充

前言 不从恶人的计谋&#xff0c;不站罪人的道路&#xff0c;不坐亵慢人的座位&#xff0c;惟喜爱耶和华的律法&#xff0c;昼夜思想&#xff0c;这人便为有福&#xff01;他要像一棵树栽在溪水旁&#xff0c;按时候结果子&#xff0c;叶子也不枯干。凡他所做的尽都顺利。 如…...

深度学习初探

1.深度学习模型训练过程 1&#xff09;数据&#xff08;数据清洗标注&#xff09; 2&#xff09;模型&#xff08;模型的构建和初始化&#xff09; 3&#xff09;损失&#xff08;前向传播的过程&#xff0c;得到模型的输出和真实标签的差异值&#xff0c;称之为损失&#x…...

nn.BCELoss与nn.CrossEntropyLoss

BCELoss与CrossEntropyLoss都是用于分类问题。可以知道&#xff0c;BCELoss是Binary CrossEntropyLoss的缩写&#xff0c;BCELoss是CrossEntropyLoss的一个特例&#xff0c;只用于二分类问题&#xff0c;而CrossEntropyLoss可以用于二分类&#xff0c;也可以用于多分类&#xf…...

CSDN浏览如何解决

一、对于平时我们苦恼csdn数据不够好看 当面试等各个场合需要我们装*或者秀技术无法拿出亮眼的时候&#xff0c;刚好我闲时间编译的在线模块适合你 二、如何操作&#xff08;虚拟平台我已给大家放到最后直接使用即可&#xff09; 重点&#xff1a;pc端必须拥有python环境 win…...

web前端开发小知识

当今互联网技术迅猛发展&#xff0c;web前端开发也成为了非常热门的职业之一。作为一个web前端开发者&#xff0c;不仅需要掌握各种前端开发技术&#xff0c;还需要了解一些小技巧和小知识。下面&#xff0c;我们将介绍一些web前端开发小知识&#xff0c;希望对你的工作有所帮助…...

Java泛型的简单认识

泛型的认识 自定义泛型&#xff0c;定义了String类型&#xff0c;随后这个泛型就是String类型 于是他的方法都是字符串的类型 泛型接口 泛型方法 所有车可以进行比赛&#xff0c;定义了一个BMW和BENZ两个车类&#xff0c;都继承car&#xff0c;当使用泛型的 如果你顶一个狗对象…...

视频转化为图片或灰度视频

1.视频转化为图片 import cv2video_pathr"D:\Dataset\video/7.mp4" capturecv2.VideoCapture(video_path) # print(capture.get(5))if capture.isOpened():ret,imgcapture.read()index0while ret:if index%200:imgidr"D:\Dataset\image/6/""%07d&quo…...

【动态规划刷题 2】使⽤最⼩花费爬楼梯 解码⽅法

使⽤最⼩花费爬楼梯 746 . 使用最小花费爬楼梯 链接: 746 . 使用最小花费爬楼梯 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 …...

Python的基本语法

“有人说&#xff0c;写python就像是坐在一个没有安全带的车上&#xff0c; 我认为这个说法很欠妥当&#xff0c; 应该是一辆没有外壳和座椅&#xff0c; 只有发动机和轮子的车&#xff0c; 并且车上摆满了轮子” python既然是作为一个工具&#xff0c;那么就不需要去深入…...

Kubernetes那点事儿——存储之存储卷

Kubernetes那点事儿——存储之存储卷 前言一、K8s数据卷一、临时存储卷emptyDir二、节点存储卷hostPath三、网络存储NFS 前言 在K8s中用Volume为容器提供了外部的存储能力。 Pod需要设置卷来源&#xff08;spec.volume&#xff09;和挂载点&#xff08;spec.containers.volumeM…...

Go语言中‘String’包中的‘Cut‘函数的实现

Go语言中‘String’包中的’Cut’函数的实现 ​ Cut函数用于在字符串**‘s’中查找子串’sep’&#xff0c;并将字符串’s’在子串 ‘sep’ 第一次出现的位置分割成两部分&#xff1a;before和after** package main import("fmt" "strings" ) func main(…...

【JAVASE】顺序和选择结构

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈Java &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 顺序和选择 1. 顺序结构2. 分支结构2.1 …...

Oracle恢复删除的数据

不下心删除了生产库的数据或者不小心删除了一部分数据&#xff0c;如何恢复找回。 Oracle恢复删除数据的方法 方案一 利用oracle提供的闪回方法进行数据恢复&#xff0c;适用于delete删除方式 首先获取删除数据的时间点&#xff1a; select * from v$sql where sql_text l…...

(无人机方向)ros小白之键盘控制无人机(终端方式)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一&#xff1a;配置pycharm的ros开发环境二&#xff1a;核心代码讲解三 效果演示XTDrone 四 完整代码 前言 ubuntu 18.04 pycharm ros melodic 做一个在终端中…...

【python学习笔记】argparse --- 命令行选项、参数和子命令解析器

argparse 是 Python 的标准库中的一个模块&#xff0c;用于解析命令行参数。它提供了一种简单而灵活的方式来处理命令行输入&#xff0c;并生成易于使用的帮助文档。 使用 argparse 模块可以轻松地定义命令行参数和选项&#xff0c;并自动生成用法帮助和错误消息。示例&#x…...

【Java框架】RPC远程调用

RPC架构 一、RPC概述 RPC&#xff08;Remote Procedure Call&#xff09;叫作远程过程调用&#xff0c;它是利用网络从远程计算机上请求服务&#xff0c;可以理解为把程序的一部分放在其他远程计算机上执行。通过网络通信将调用请求发送至远程计算机后&#xff0c;利用远程计…...

4步精通Logisim-evolution:面向数字工程师的开源电路设计工具指南

4步精通Logisim-evolution&#xff1a;面向数字工程师的开源电路设计工具指南 【免费下载链接】logisim-evolution Digital logic design tool and simulator 项目地址: https://gitcode.com/gh_mirrors/lo/logisim-evolution Logisim-evolution作为一款开源的数字逻辑设…...

Git-RSCLIP模型在计算机网络教学中的应用

Git-RSCLIP模型在计算机网络教学中的应用 1. 引言 计算机网络课程的教学一直面临着抽象概念多、协议交互复杂、拓扑结构难以直观展示的挑战。传统的教学方式往往依赖于静态的图表和文字描述&#xff0c;学生很难真正理解数据包在网络中的流动过程、协议之间的交互关系&#x…...

OpenClaw 3.28重磅发布:Grok搜索内置,高危操作迎来“保命”拦截机制

引言&#xff1a; 不仅仅是“草台”后的补救&#xff0c;更是智能体操作系统的成人礼 就在前两天&#xff0c;OpenClaw 之父 Peter 的一次“漏打包”操作&#xff0c;直接导致 3.22 版本大面积白屏&#xff0c;让无数开发者以为自己辛辛苦苦养了一周的“赛博小龙虾”就这么“死…...

PDF-Extract-Kit-1.0教育应用:教材习题自动识别与题库构建

PDF-Extract-Kit-1.0教育应用&#xff1a;教材习题自动识别与题库构建 1. 引言 老师们每天都要面对一大堆教材PDF&#xff0c;里面藏着无数宝贵的习题资源。但手动把这些题目一个个抄出来&#xff0c;整理成电子题库&#xff0c;简直是个噩梦——费时费力还容易出错。有没有什…...

Simple Comic:Mac平台的开源漫画阅读解决方案

Simple Comic&#xff1a;Mac平台的开源漫画阅读解决方案 【免费下载链接】Simple-Comic OS X comic viewer 项目地址: https://gitcode.com/gh_mirrors/si/Simple-Comic 你是否曾遇到这样的困扰&#xff1a;在Mac上尝试打开漫画文件时&#xff0c;不是格式不兼容就是阅…...

3个关键步骤解决INAV VTOL模式切换抖动问题

3个关键步骤解决INAV VTOL模式切换抖动问题 【免费下载链接】inav INAV: Navigation-enabled flight control software 项目地址: https://gitcode.com/gh_mirrors/in/inav 垂直起降&#xff08;VTOL&#xff09;无人机融合了固定翼的续航优势与多旋翼的起降灵活性&…...

GitLab实战:如何用rebase -i优雅合并多个commit(附常见错误排查)

Git提交历史优化&#xff1a;交互式rebase高阶操作指南 1. 为什么需要整理Git提交历史 在团队协作开发中&#xff0c;我们经常会遇到提交历史杂乱无章的情况。想象一下这样的场景&#xff1a;你完成了一个新功能的开发&#xff0c;但在这个过程中产生了十几个零散的提交记录&am…...

弯腰系鞋带:动作虽细微,脊柱 “被折得濒临损伤”!

频繁弯腰系鞋带、捡拾地面物品、整理鞋盒、照顾幼儿&#xff0c;颈腰椎损伤风险显著。弯腰时腰椎瞬间弯曲&#xff0c;椎间盘承受压力骤增&#xff1b;单腿站立弯腰时&#xff0c;身体平衡依赖腰部肌肉&#xff0c;受力不均易导致拉伤&#xff1b;反复弯腰起身动作&#xff0c;…...

保姆级教程:用星图AI平台训练PETRV2-BEV模型,新手也能玩转自动驾驶

保姆级教程&#xff1a;用星图AI平台训练PETRV2-BEV模型&#xff0c;新手也能玩转自动驾驶 1. 前言&#xff1a;为什么你需要这篇教程&#xff1f; 如果你对自动驾驶技术感兴趣&#xff0c;想亲手训练一个能“看懂”周围环境的AI模型&#xff0c;但又被复杂的代码、昂贵的硬件…...

如何在编程中免费使用LxgwWenKai字体:终极指南

如何在编程中免费使用LxgwWenKai字体&#xff1a;终极指南 【免费下载链接】LxgwWenKai LxgwWenKai: 这是一个开源的中文字体项目&#xff0c;提供了多种版本的字体文件&#xff0c;适用于不同的使用场景&#xff0c;包括屏幕阅读、轻便版、GB规范字形和TC旧字形版。 项目地址…...