SQL:增、删、改、查 基本语句 Navicat建库(用法 + 例子)
文章目录
- 新建数据库
- 新建表
- 增、删、改、查
- select 查找
- insert 添加
- delete 删除
- update 修改
- where 扩展
- = < > <= >= != <> 比较运算符
- and or 逻辑运算符
- between...and... 介于..和..之间
- in 包含
- like 模糊查询
- is null 为空的
- 查询扩展
- order by 排序
- limit start count / count offset start 限制查询
- 聚合查询
- group by 分组查询
- having 分组后筛选
- 综合练习
- 多表
- where 多表查询
- join on 内、外连接
- union 属性相同 合表
新建数据库

新建表
主键:像人的身份证号一样,唯一代表。
右键表->新建 输入内容

添加数据

增、删、改、查
select 查找
select 属性名 form 表名
select name, sex, age from student

* 查找所有信息
select * from student

where 筛选符合条件的
select * from student where sex = '男'

insert 添加
insert into 表名(要添加的属性) value(添加的属性值)
insert into student(name, sex, age, classid) value("小李李","男", 18, 2)

delete 删除
delete form 表名 where 删除符合的条件
delete from student where id = 3
表示为 删除id值为3的人信息。
update 修改
update 表名 set 要改的属性 where 筛选需要改的条件
表示为将 id 为 4 的人的姓名改成哈哈,性别改成女,年龄改为 2。
update student set name="哈哈", sex="女", age=2 where id = 4

where 扩展
可以发现删、改、查、都需要查找目标用到where
= < > <= >= != <> 比较运算符
和上面 = 用法相似

and or 逻辑运算符
select * from student where sex="男" and math > 60 or chinese > 60 and sex="女"

between…and… 介于…和…之间
相当于 >= <=

in 包含
方便批量操作

like 模糊查询
需要配合占位符使用,不加占位符与等号没有区别
_代表一位字符
%代表任意位字符(0位也算)

is null 为空的

查询扩展
order by 排序
asc 升序 desc 降序
select * from student order by age asc

limit start count / count offset start 限制查询
select * from student limit 2, 3
聚合查询
sum() avg() count() max() min() 配合分组使用
group by 分组查询
求男女年龄平均值
select sex, sum(age)/count(age), avg(age) from student group by sex

having 分组后筛选
求男女数学平均分后,只查看男生的。
select sex, avg(math) from student group by sex having sex = "男"

综合练习
含义:挑选男生,以个人(id)分组,平均分大于60的,以总分降序,只显示前三人,的名字、性别、总分、平均分。
注意书写顺序。
select name, sex, sum(math + english+ chinese) 总分, sum(math + english+ chinese) / 3 平均分 from student where sex = "男" group by id having 平均分 > 60 order by 总分 desc limit 0, 3;

多表
下面例子以如下表操作。
student:
| id | name | sex | age | address | math | chinese | english | class |
|---|---|---|---|---|---|---|---|---|
| 2 | 李四 | 男 | 18 | 保定 | 90 | 87 | 77 | 1 |
| 3 | 王浩 | 男 | 10 | 廊坊 | 66 | 77 | 22 | 1 |
| 4 | 哈哈 | 女 | 2 | 北京 | 78 | 76 | 55 | 1 |
| 5 | 杜甫 | 男 | 19 | 上海 | 67 | 72 | 88 | 2 |
| 6 | 花花 | 女 | 46 | 天津 | 45 | 34 | 98 | 2 |
| 7 | 丽丽 | 女 | 7 | 河南 | 56 | 87 | 78 | 2 |
| 8 | 小明 | 女 | 37 | 河北 | 98 | 78 | 67 | 2 |
| 9 | 小李 | 女 | 25 | 邯郸 | 67 | 46 | 56 | 3 |
| 10 | 小花 | 女 | 28 | 石家庄 | 23 | 65 | 45 | 3 |
| 11 | 小王 | 女 | 13 | 无 | 78 | 45 | 34 | 3 |
| 12 | 李华 | 女 | 20 | 无 | 99 | 56 | 23 | 3 |
| 13 | 李玉与 | 男 | 16 | 无 | 45 | 78 | 65 |
class:
| cid | class_num |
|---|---|
| 1 | 2301 |
| 2 | 2302 |
| 3 | 2303 |
| 4 | 2304 |
where 多表查询
如果我们不用 where 而是直接合表,会显示笛卡尔积的结果,显然不是我们需要的。
样例截图未全截,明白意思即可。
select * from class, student

我们需要的是班级编号与学生班级编号一一对应的和表结果,可以在where后面加上需要的判断条件来显示。
select * from class, student where class.cid = student.class

join on 内、外连接
[inner] join 内连接 与 where 用法相似
select * from class join student on class.cid = student.class

left [outer] join 左外连接
select * from student left join class on class.cid = student.class
可以发现student中班级为空的也展现出来了。

right [outer] join 右外连接
与左连接相同,左右的区分,就是看书写的顺序而已。
菜鸟教程里的图解,还是很容易理解之间的区别的。

union 属性相同 合表
将男女筛选出来再合起来。
select * from student where sex="男"
union
select * from student where sex="女"

相关文章:
SQL:增、删、改、查 基本语句 Navicat建库(用法 + 例子)
文章目录 新建数据库新建表 增、删、改、查select 查找insert 添加delete 删除update 修改where 扩展 < > < > ! <> 比较运算符and or 逻辑运算符between...and... 介于..和..之间in 包含like 模糊查询is null 为空的 查询扩展order by 排序limit start coun…...
vue-cli搭建过程(HBuilder X搭建)
vue.js:前端主流框架(对某一方面技术完整的封装,是一套完善的解决方案) vue-cli搭建项目(官方提供脚手架) vue脚手架:是一套项目搭建的快捷方式,可以将项目中的依赖集成进来,生成统…...
MySQL索引:结构、语法、分类和优化
MySQL索引是数据库中非常关键的性能优化手段。它们提供了快速访问数据的方法,同时也可以极大地提高查询效率。本文将深入介绍MySQL索引的结构、语法、分类,以及如何使用Profile和EXPLAIN来优化查询性能,带有详细的实例演示。 索引结构 MySQ…...
Vue中添加旋转动画
// transform: scale(1.2) rotate(-180deg); 放大 旋转 // transform: rotate(-180deg); 旋转 <i class"el-icon-close"></i>i {font-size: 20px;line-height: 24px;transition: transform 0.2s linear;}i:hover {color: red;transform-origin: cen…...
基于SSM农产品商城系统
基于SSM农产品商城系统的设计与实现,前后端分离,文档 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 农产品列表 产品详情 个人中心 登陆界面 管…...
基于matlab创作简易表白代码
一、程序 以下是一个基于MATLAB的简单表白代码: % 表白代码 clc; % 清除命令行窗口 clear; % 清除所有变量 close all; % 关闭所有图形窗口 % 输入被表白者的名字 name input(请输入被表白者的名字:, s); % 显示表白信息 fprintf(\n); fprintf(亲爱的…...
pandas
一、pandas初级 安装matplotlib:pip install matplotlib 安装pandas:pip install pandas 本地C:\Users\Administrator\pip,在此目录配置清华园的远程下载 配置内容: [global] index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-ho…...
使用关键字interface来声明使用接口-PHP8知识详解
继承特性简化了对象、类的创建,增加了代码的可重用性。但是php8只支持单继承,如果想实现多继承,就需要使用接口。PHP8可以实现多个接口。 接口类通过关键字interface来声明,接口中不能声明变量,只能使用关键字const声明…...
计算机毕业设计 基于SSM的高校毕业论文管理系统小程序的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻…...
【Java 进阶篇】JDBC查询操作详解
在数据库编程中,查询是一项非常常见且重要的操作。JDBC(Java Database Connectivity)提供了丰富的API来执行各种类型的查询操作。本篇博客将详细介绍如何使用JDBC进行查询操作,包括连接数据库、创建查询语句、执行查询、处理结果集…...
我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案
我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案 首先,确保您从可信任的来源下载并安装企业开发者签名过的应用程序。如果您不确定应用程序的来源,建议您联系应用程序提供者…...
【数据结构】排序(2)—冒泡排序 快速排序
目录 一. 冒泡排序 基本思想 代码实现 时间和空间复杂度 稳定性 二. 快速排序 基本思想 代码实现 hoare法 挖坑法 前后指针法 时间和空间复杂度 稳定性 一. 冒泡排序 基本思想 冒泡排序是一种交换排序。两两比较数组元素,如果是逆序(即排列顺序与排序后…...
Redis与分布式-分布式锁
接上文 Redis与分布式-集群搭建 1.分布式锁 为了解决上述问题,可以利用分布式锁来实现。 重新复制一份redis,配置文件都是刚下载时候的不用更改,然后启动redis服务和redis客户。 redis存在这样的命令:和set命令差不多࿰…...
docker安装nginx详解
创建html的挂载目录docker volume create nginx8020 创建conf的挂载目录mkdir -p /opt/nginx/conf 拉取镜像docker pull nginx 初始化挂载目录的配置文件docker run --rm --name nginx-short -p 8020:80 -d nginx docker cp nginx-short:/etc/nginx/nginx.conf /opt/nginx/…...
优化思考二
优化思考一_云湖在成长的博客-CSDN博客 翻到了两年前写文章,有了不一样的观点。 先说一样的想法吧:数据(输入)>>优化模型(处理)>>结果方案(输出)。优化是其中最重要的…...
大模型微调概览
文章目录 微调 和 高效微调高效微调技术方法概述高效微调方法一:LoRA高效微调方法二: Prefix Tuning高效微调方法三: Prompt Tuning高效微调方法四: P-Tuning v2基于强化学习的进阶微调方法RLHF 训练流程微调 和 高效微调 微调,Fine-Tuning, 一般指全参数的微调(全量微调),…...
利用norm.ppfnorm.interval分别计算正态置信区间[实例]
scipy.stats.norm.ppf用于计算正态分布的累积分布函数CDF的逆函数,也称为百分位点函数。它的作用是根据给定的概率值,计算对应的随机变量值。scipy.stats.norm.interval:用于计算正态分布的置信区间,可指定均值和标准差。scipy.st…...
计算机网络各层设备
计算机网络通常被分为七层,每一层都有对应的设备。以下是各层设备的简要介绍: 物理层(Physical Layer):负责传输二进制数据位流的物理媒体和设备,例如网线、光纤、中继器、集线器等。 数据链路层…...
java this用法
在Java中,this是一个关键字,表示当前对象。它可以用来引用当前对象的实例变量、实例方法或者调用当前对象的构造方法。在本文中,我们将深入探讨Java中this关键字的用法。 1. 引用当前对象的实例变量 在Java中,this关键字可以用来…...
【AI视野·今日NLP 自然语言处理论文速览 第四十六期】Tue, 3 Oct 2023
AI视野今日CS.NLP 自然语言处理论文速览 Tue, 3 Oct 2023 (showing first 100 of 110 entries) Totally 100 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Its MBR All the Way Down: Modern Generation Techniques Through the …...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
