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

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:

idnamesexageaddressmathchineseenglishclass
2李四18保定9087771
3王浩10廊坊6677221
4哈哈2北京7876551
5杜甫19上海6772882
6花花46天津4534982
7丽丽7河南5687782
8小明37河北9878672
9小李25邯郸6746563
10小花28石家庄2365453
11小王137845343
12李华209956233
13李玉与16457865

class:

cidclass_num
12301
22302
32303
42304

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:前端主流框架&#xff08;对某一方面技术完整的封装&#xff0c;是一套完善的解决方案&#xff09; vue-cli搭建项目&#xff08;官方提供脚手架&#xff09; vue脚手架&#xff1a;是一套项目搭建的快捷方式&#xff0c;可以将项目中的依赖集成进来&#xff0c;生成统…...

MySQL索引:结构、语法、分类和优化

MySQL索引是数据库中非常关键的性能优化手段。它们提供了快速访问数据的方法&#xff0c;同时也可以极大地提高查询效率。本文将深入介绍MySQL索引的结构、语法、分类&#xff0c;以及如何使用Profile和EXPLAIN来优化查询性能&#xff0c;带有详细的实例演示。 索引结构 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农产品商城系统的设计与实现&#xff0c;前后端分离&#xff0c;文档 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 农产品列表 产品详情 个人中心 登陆界面 管…...

基于matlab创作简易表白代码

一、程序 以下是一个基于MATLAB的简单表白代码&#xff1a; % 表白代码 clc; % 清除命令行窗口 clear; % 清除所有变量 close all; % 关闭所有图形窗口 % 输入被表白者的名字 name input(请输入被表白者的名字&#xff1a;, s); % 显示表白信息 fprintf(\n); fprintf(亲爱的…...

pandas

一、pandas初级 安装matplotlib:pip install matplotlib 安装pandas:pip install pandas 本地C:\Users\Administrator\pip&#xff0c;在此目录配置清华园的远程下载 配置内容&#xff1a; [global] index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-ho…...

使用关键字interface来声明使用接口-PHP8知识详解

继承特性简化了对象、类的创建&#xff0c;增加了代码的可重用性。但是php8只支持单继承&#xff0c;如果想实现多继承&#xff0c;就需要使用接口。PHP8可以实现多个接口。 接口类通过关键字interface来声明&#xff0c;接口中不能声明变量&#xff0c;只能使用关键字const声明…...

计算机毕业设计 基于SSM的高校毕业论文管理系统小程序的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb;…...

【Java 进阶篇】JDBC查询操作详解

在数据库编程中&#xff0c;查询是一项非常常见且重要的操作。JDBC&#xff08;Java Database Connectivity&#xff09;提供了丰富的API来执行各种类型的查询操作。本篇博客将详细介绍如何使用JDBC进行查询操作&#xff0c;包括连接数据库、创建查询语句、执行查询、处理结果集…...

我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案

我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app&#xff0c;因为无法验证其完整性解决方案 首先&#xff0c;确保您从可信任的来源下载并安装企业开发者签名过的应用程序。如果您不确定应用程序的来源&#xff0c;建议您联系应用程序提供者…...

【数据结构】排序(2)—冒泡排序 快速排序

目录 一. 冒泡排序 基本思想 代码实现 时间和空间复杂度 稳定性 二. 快速排序 基本思想 代码实现 hoare法 挖坑法 前后指针法 时间和空间复杂度 稳定性 一. 冒泡排序 基本思想 冒泡排序是一种交换排序。两两比较数组元素&#xff0c;如果是逆序(即排列顺序与排序后…...

Redis与分布式-分布式锁

接上文 Redis与分布式-集群搭建 1.分布式锁 为了解决上述问题&#xff0c;可以利用分布式锁来实现。 重新复制一份redis&#xff0c;配置文件都是刚下载时候的不用更改&#xff0c;然后启动redis服务和redis客户。 redis存在这样的命令&#xff1a;和set命令差不多&#xff0…...

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博客 翻到了两年前写文章&#xff0c;有了不一样的观点。 先说一样的想法吧&#xff1a;数据&#xff08;输入&#xff09;>>优化模型&#xff08;处理&#xff09;>>结果方案&#xff08;输出&#xff09;。优化是其中最重要的…...

大模型微调概览

文章目录 微调 和 高效微调高效微调技术方法概述高效微调方法一:LoRA高效微调方法二: Prefix Tuning高效微调方法三: Prompt Tuning高效微调方法四: P-Tuning v2基于强化学习的进阶微调方法RLHF 训练流程微调 和 高效微调 微调,Fine-Tuning, 一般指全参数的微调(全量微调),…...

利用norm.ppfnorm.interval分别计算正态置信区间[实例]

scipy.stats.norm.ppf用于计算正态分布的累积分布函数CDF的逆函数&#xff0c;也称为百分位点函数。它的作用是根据给定的概率值&#xff0c;计算对应的随机变量值。scipy.stats.norm.interval&#xff1a;用于计算正态分布的置信区间&#xff0c;可指定均值和标准差。scipy.st…...

计算机网络各层设备

计算机网络通常被分为七层&#xff0c;每一层都有对应的设备。以下是各层设备的简要介绍&#xff1a; 物理层&#xff08;Physical Layer&#xff09;&#xff1a;负责传输二进制数据位流的物理媒体和设备&#xff0c;例如网线、光纤、中继器、集线器等。 数据链路层&#xf…...

java this用法

在Java中&#xff0c;this是一个关键字&#xff0c;表示当前对象。它可以用来引用当前对象的实例变量、实例方法或者调用当前对象的构造方法。在本文中&#xff0c;我们将深入探讨Java中this关键字的用法。 1. 引用当前对象的实例变量 在Java中&#xff0c;this关键字可以用来…...

【AI视野·今日NLP 自然语言处理论文速览 第四十六期】Tue, 3 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Tue, 3 Oct 2023 (showing first 100 of 110 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Its MBR All the Way Down: Modern Generation Techniques Through the …...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...