SQL_语法
1 数据库
1.1 新增
create database [if not exists] 数据库名;
1.2 删除
drop database [if exists] 数据库名;
1.3 查询
(1) 查看所有数据库
show databases;
(2) 查看当前数据库下的所有表
show tables;
2 数据表
2.1 新增
(1) 创建表
create table [if not exists] db_name.table_name (column_name data_type(size) comment '注释',...
) comment '表名';
(2) 复制表
-- 只复制表结构
create table 新表名 as
select * from 旧表名;-- 只复制表结构
create table 新表名 like 旧表名; -- 复制表结构及其数据
create table 新表名 as
select * from 旧表名;
(3) 生成临时表
表名 as (查询语句)
(4) 创建视图
create or replace view view_name as select statement
2.2 删除
(1) 删除表
drop table [if exists] 表名;
(2) 删除视图
drop view view_name;
2.3 修改
(1) 修改表名
-- rename:重命名,包括索引、表名
alter table 旧表名 rename to 新表名;
2.4 查询
(1) 查看表结构
desc 表名;show create table 表名;
3 数据
3.1 新增
(1) insert into ... values
-- 1 按指定列插入数据
insert into table_name
(field1,field2...fieldn )
values (value1,value2,...valueN)
,(...)
;-- 2 所有列插入数据
insert into table_name
values (value1,value2,...valueN)
;
(2) insert into ... select
-- 1 从一个表中复制所有的列插入到另一个表中
insert into table2
select * from table1; -- 2 从一个表中复制指定列插入到另一个表的指定列中
insert into table2 (column_name(s))
select column_name(s) from table1;
3.2 删除
(1) 清空表
truncate table table_name;
3.3 查询
(1) 条件查询
select-- as:为表名称或列名称指定别名,提高可读性列名1 as 列别名,列名2 as 列别名
from 表名 as 表别名
where 列名 运算符 列名/常量
[limit number]
(2) 去重查询
select distinct 字段名1,... from table1;
(3) 分组查询
①group by
-- group by:根据一个或多个列对结果集进行分组,在分组的列上可以使用 count、sum、 avg等函数
select 列名,分组函数(列名)
from 表名
group by 列名
-- 分组后过滤
having 表达式
;
②group by ... grouping sets
-- grouping sets允许采用多种方式对结果分组,而不必使用多个select语句,从而提高执行性能.
-- grouping sets语法和普通group by类似,但需要额外执行所需的多个group by组合.例如以下sql的(列名1,列名2), ()),每个内层括号执行一个group by组合,空括号表示group by列表为空,即所有列
select 列名1,列名2,分组函数(列名)
from 表名
group by 列名1,列名2
grouping sets((列名1,列名2),())
;
(4) 排序查询
-- 将查询数据排序后再返回数据,按字段值升序/降序,控制NULL值在排序后的结果中的位置.默认升序
select 列名 from 表名 order by 列名 [asc|desc] [nulls first|nulls last]
4 多表关联查询
4.1 多表关系
①一对一:将其中一方假设成多的一方,在多的一方添加外键指向一的一方的主键,并且给外键字段添加unique约束;
②一对多:在多的一方添加外键指向一的一方的主键;
③多对多:借助一张中间表,在中间表中至少有两个字段分别指向多对多双方的主键.
4.2 连接查询
(1) 内连接:获取两个表中字段匹配关系的记录
select表1.列名11,表1.列名12,...,表2.列名21,表2.列名22
from 表1
[inner] join 表2 on 表1.列名11 = 表2.列名21and 表1条件and 表2条件
;
(2) 左连接:获取左表所有记录,即使右表没有对应匹配的记录
select表1.列名11,表1.列名12,...,表2.列名21,表2.列名22
from 表1
left join 表2 on 表1.列名11 = 表2.列名21and 表2条件
where 表1条件
;
(3) 右连接:获取右表所有记录,即使左表没有对应匹配的记录
select表1.列名11,表1.列名12,...,表2.列名21,表2.列名22
from 表1
right join 表2 on 表1.列名11 = 表2.列名21and 表1条件
where 表2条件
;
4.3 子查询
(1) where型子查询
-- 单值子查询:把内层查询结果当作外层查询的比较条件
select 列名,列名... from 表1 where 列名1 = (select 列名1 from 表2);-- in子查询:把内层查询结果当作外层查询的比较条件
-- 适用于子查询得出的结果集记录较少,主查询中的表较大且又有索引的情况
select 列名,列名... from 表1 where 列名 in (select 列名 from 表2);-- exists子查询:把外层sql的结果,拿到内层sql去查询,如果内层的sql成立,则该行取出
-- 适用于外层的主查询记录较少,子查询中的表大又有索引的情况
select 列名,列名... from 表1 where exists (select 列名 from 表2 where 表1.列名1 运算符 表2.列名1);
(2) from型子查询
-- 内层的查询结果当成临时表,供外层sql查询
select 列名1,列名2... from (select 列名1,列名2... from 表名) as 表别名;
4.4 联合查询
-- union:将不同表中相同列中查询的数据展示出来,不包括重复数据
select 列名称 from 表1名称 union select 列名称 from 表2名称;-- union all:将不同表中相同列中查询的数据展示出来,不包括重复数据
select 列名称 from 表1名称 union all select 列名称 from 表2名称;
5 针对性语法
MySQL_语法文章浏览阅读925次。(5) 主键约束:约束该单字段(或字段组)的值具有唯一性,不为null且不为空,且只有一个主键约束.如主键是整数型,可配合auto_increment实现主键自增长.(6) 外键约束:限制两个表的关系,保证该字段的值必须来自于主表的关联列的值.使用时在从表添加外键约束,用于引用主表中某列的值.要求主键和外键的数据类型必须一致.(2) 默认值约束(default):约束该字段有默认值,即该字段不输入值时,会给一个默认值.一般结合非空约束使用.(1) 非空约束:约束该字段的值不能为null._create table `notification` if not exishttps://blog.csdn.net/weixin_43875878/article/details/108302141Hive_语法文章浏览阅读911次。【代码】Hive_语法。_hive as 别名
https://blog.csdn.net/weixin_43875878/article/details/115050269
相关文章:
SQL_语法
1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…...
基于Python实现的智能旅游推荐系统(Django)
基于Python实现的智能旅游推荐系统(Django) 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat 系统功能实现 总体设计 系统实现 系统首页模块 统首页页面主要包括首页,旅游资讯,景点信息…...
安孚科技携手政府产业基金、高能时代发力固态电池,开辟南孚电池发展新赛道
安孚科技出手,发力固态电池。 3月7日晚间,安孚科技(603031.SH)发布公告称,公司控股子公司南孚电池拟与南平市绿色产业投资基金有限公司(下称“南平绿色产业基金”)、高能时代(广东横…...
p5.js:模拟 n个彩色小球在一个3D大球体内部弹跳
向 豆包 提问:编写一个 p5.js 脚本,模拟 42 个彩色小球在一个3D大球体内部弹跳。每个小球都应留下一条逐渐消失的轨迹。大球体应缓慢旋转,并显示透明的轮廓线。请确保实现适当的碰撞检测,使小球保持在球体内部。 cd p5-demo copy…...
Kali WebDAV 客户端工具——Cadaver 与 Davtest
1. 工具简介 在 WebDAV 服务器管理和安全测试过程中,Cadaver 和 Davtest 是两款常用的命令行工具。 Cadaver 是一个 Unix/Linux 命令行 WebDAV 客户端,主要用于远程文件管理,支持文件上传、下载、移动、复制、删除等操作。Davtest 则是一款…...
MySQL复习笔记
MySQL复习笔记 1.MySQL 1.1什么是数据库 数据库(DB, DataBase) 概念:数据仓库,软件,安装在操作系统(window、linux、mac…)之上 作用:存储数据,管理数据 1.2 数据库分类 关系型数据库&#…...
六十天前端强化训练之第十四天之深入理解JavaScript异步编程
欢迎来到编程星辰海的博客讲解 目录 一、异步编程的本质与必要性 1.1 单线程的JavaScript运行时 1.2 阻塞与非阻塞的微观区别 1.3 异步操作的性能代价 二、事件循环机制深度解析 2.1 浏览器环境的事件循环架构 核心组件详解: 2.2 执行顺序实战分析 2.3 Nod…...
集合论--形式化语言里的汇编码
如果一阶逻辑是数学这门形式化语言里的机器码,那么集合论就是数学这门形式化语言里的汇编码。 基本思想:从集合出发构建所有其它。 构建自然数构建整数构建有理数构建实数构建有序对、笛卡尔积、关系、函数、序列等构建确定有限自动机(DFA) 全景图 常…...
2025最新群智能优化算法:山羊优化算法(Goat Optimization Algorithm, GOA)求解23个经典函数测试集,MATLAB
一、山羊优化算法 山羊优化算法(Goat Optimization Algorithm, GOA)是2025年提出的一种新型生物启发式元启发式算法,灵感来源于山羊在恶劣和资源有限环境中的适应性行为。该算法旨在通过模拟山羊的觅食策略、移动模式和躲避寄生虫的能力&…...
MySQL数据实时同步至Elasticsearch的高效方案:Java实现+源码解析,一文搞定!
引言:为什么需要实时同步? MySQL擅长事务处理,而Elasticsearch(ES)则专注于搜索与分析。将MySQL数据实时同步到ES,可以充分发挥两者的优势,例如: 构建高性能搜索服务 实时数据分析…...
Spring-事务
Spring 事务 事务的基本概念 🔹 什么是事务? 事务是一组数据库操作,它们作为一个整体,要么全部成功,要么全部回滚。 常见的事务场景: 银行转账(扣款和存款必须同时成功) 订单系统…...
Git系列之git tag和ReleaseMilestone
以下是关于 Git Tag、Release 和 Milestone 的深度融合内容,并补充了关于 Git Tag 的所有命令、详细解释和指令实例,条理清晰,结合实际使用场景和案例。 1. Git Tag 1.1 定义 • Tag 是 Git 中用于标记特定提交(commit…...
考研机试常见基本题型
1、求100以内的素数 sqrt()函数在cmath头文件中。 #include <iostream> #include <cmath> using namespace std;int main() {int count 0; // 用于统计素数的个数// 遍历 100 到 200 之间的每一个数for (int num 100; num < 200; num) {bool isPrime true…...
Android AudioFlinger(四)—— 揭开PlaybackThread面纱
前言: 继上一篇Android AudioFlinger(三)—— AndroidAudio Flinger 之设备管理我们知道PlaybackThread继承自Re’fBase, 在被第一次引用的时候就会调用onFirstRef,实现如下: void AudioFlinger::Playbac…...
C语言基础系列【20】内存管理
博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇…...
JavaScript基础-递增和递减运算符
在JavaScript编程中,递增()和递减(--)运算符是用于对数值进行加一或减一操作的基础工具。它们简洁且强大,但如果不正确地使用,可能会导致混淆或错误。本文将详细介绍这两种运算符的不同形式及其…...
计算机毕业设计SpringBoot+Vue.js社区医疗综合服务平台(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
3.6c语言
#define _CRT_SECURE_NO_WARNINGS #include <math.h> #include <stdio.h> int main() {int sum 0,i,j;for (j 1; j < 1000; j){sum 0;for (i 1; i < j; i){if (j % i 0){sum i;} }if (sum j){printf("%d是完数\n", j);}}return 0; }#de…...
Unity开发——CanvasGroup组件介绍和应用
CanvasGroup是Unity中用于控制UI的透明度、交互性和渲染顺序的组件。 一、常用属性的解释 1、alpha:控制UI的透明度 类型:float,0.0 ~1.0, 其中 0.0 完全透明,1.0 完全不透明。 通过调整alpha值可以实现UI的淡入淡…...
深度学习驱动的跨行业智能化革命:技术突破与实践创新
第一章 深度学习的技术范式演进与核心架构 1.1 从传统机器学习到深度神经网络的跨越 深度学习的核心在于通过多层次非线性变换自动提取数据特征,其发展历程可划分为三个阶段:符号主义时代的规则驱动(1950s-1980s)、连接主义时代的浅层网络(1990s-2000s)以及深度学习时代…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
