数据库常用命令
文章目录
- 1. 数据库操作命令
- 1.进入数据库
- 2.查看数据库列表信息
- 3.查看数据库中的数据表信息
- 2.SQL语句命令
- 1. 创建数据表
- 2. 基本查询语句
- 3. SQL排序
- 4. SQL分组统计
- 5. 分页查询
- 6. 多表查询
- 7.自关联查询
- 8.子查询
1. 数据库操作命令
1.进入数据库
mysql -uroot -p
2.查看数据库列表信息
show databases;
3.查看数据库中的数据表信息
(1)进入数据库
use mysql;
(2)查看数据表
show tables;
2.SQL语句命令
1. 创建数据表
drop table if exists category;
create table category(
id int unsigned primary key auto_increment,
typeId int,
cateName varchar(10)
);insert into category values
(0, 001, '一次性口罩'),
(0, 002, 'KN95口罩'),
(0, 003, 'N95口罩'),
(0, 004, '医用口罩');drop table if exists goods;
create table goods(id int unsigned primary key auto_increment,goodsName varchar(10),price int,num int,company varchar(20),remark varchar(20),typeId int
);insert into goods values
(0, '三奇', 25, 100, '某东', '三奇3Q口罩', 4),
(0, '振德', 20, 150, 'x宝', '振德一次性口罩', 1),
(0, '袋鼠医生', 30, 180, '并夕夕','袋鼠医生医用口罩', 4),
(0, '京东京造', 139, 100, '某东', null, null),
(0, '闪电卫士', 77, 160, 'x宝', '闪电卫士一次性口罩', 1),
(0, '安克林', 159, 190, '某东','安克林KN95级口罩', 2),
(0, '科西诺', 30, 100, 'x宝', '科西诺三层防护口罩', 2),
(0, '维德医生', 23, 155, '并夕夕', '维德成人医用口罩', 4),
(0, '庭七', 110, 260, '某东', '医用一次性口罩', 1),
(0, '倍舒特', 72, 190, 'x宝', '三层防护一次性口罩医用口罩', 4),
(0, '中服绿盾', 110, 50, '某东', '', null),
(0, '惠寻', 25, 130, '并夕夕', '惠寻一次性口罩', 1);
2. 基本查询语句
-- 基础查询操作-- 查全部
SELECT * FROM goods;-- 查部分
SELECT goodsName,price FROM goods;-- 起别名
SELECT goodsName as '商品名称' FROM goods;-- 去重
SELECT DISTINCT(company) FROM goods;-- 条件查询
SELECT * FROM goods WHERE company='并夕夕';-- 模糊查询
SELECT * FROM goods WHERE remark like '%一次性口罩';-- 范围查询
SELECT goodsName 商品名称,price 价格 FROM goods WHERE price BETWEEN 10 and 50;-- 判空查询
SELECT * FROM goods WHERE remark is null;
3. SQL排序
-- sql排序-- 语句:ORDER BY asc\dese-- 按商品价格升序
SELECT * FROM goods;
SELECT * FROM goods ORDER BY price ASC;-- 按商品价格降序,价格相同时 按数目升序排列
SELECT * FROM goods ORDER BY price DESC,num ASC;
4. SQL分组统计
-- SQL 分组统计
-- 聚合函数: count min max avg
-- 语句分组:group bySELECT * FROM goods;-- 统计表单数据量
SELECT count(*) FROM goods; -- 12
-- 统计表单中各商品的平均数量
SELECT AVG(num) FROM goods; -- 147.0833-- 查询每家公司商品的数量信息
SELECT company,count(*) FROM goods GROUP BY company;
分组+条件删选
-- 查询某东和x宝的最贵商品
SELECT company 公司,MAX(price) 最贵商品价格 FROM goods GROUP BY company HAVING company!='并夕夕';
SELECT company 公司,MAX(price) 最贵商品价格 FROM goods GROUP BY company HAVING company in ('某东','x宝');
where和having区别:
- where是针对From进行删选;
- having是针对分组后(group by)的结果进行删选;
- 只有having后才能用聚合函数;
这里是我的一个疑问和解答
为什么不能直接使用where进行以上条件删选? 而是一定要分组(group by),正如如下代码:
SELECT company 公司,MAX(price) 最贵商品价格 FROM goods WHERE company in (‘某东’,‘x宝’);
.
运行结果是这样的:
解释:
解释1:分组的意义
- GROUP BY 语句根据一个或多个字段对结果集进行分组(也就是把值相同放到一个组中,显示组中一条记录),实现对每个组而不是对整个结果集统计。比如统计每个公司最贵的商品价格,重点理解查询条件的是每个,也就是我们要对表中的数据根据公司要分个类,其次是在分类结果中在依次寻求必要条件,如果没有group by的话,where后只能加一个表项中的一个条件。
解释2:使用where如何分组
- 重要的一点:where在分组前加条件,having在分组后加条件
SELECT company 公司,MAX(price) 最贵商品价格 FROM goods WHERE company in ('某东','x宝') GROUP BY company;
group by详解:https://blog.csdn.net/qq_39221436/article/details/122576925
5. 分页查询
-- 分页查询
-- 页是查询页的页,不是数据表的页
-- 语句:limit satrt,count-- 查询商品表5-10行数据 (起始显示第五行,一共显示6行)
SELECT * FROM goods;
SELECT * FROM goods LIMIT 4,6;
6. 多表查询
-- 多表查询
-- 类:内连接、左连接、右连接
-- 语句:inner join、LEFT JOIN、RIGHT JOIN
-- aim:对连接后的表进行字段显示限制;SELECT * FROM goods;
SELECT * FROM category;-- 内连接
SELECT * FROM goods INNER JOIN category ON goods.typeId=category.typeId;
-- 左连接
SELECT * FROM goods LEFT JOIN category ON goods.typeId=category.typeId;
-- 右连接
SELECT * FROM goods RIGHT JOIN category ON goods.typeId=category.typeId;
7.自关联查询
-- 自关联
-- 条件:一个数据表,表中至少有两个数据项相关联;
-- 方法:起别名,将一个表变成两个表SELECT * FROM areas;-- 选择所以河北的城市
SELECT * FROM areas a1 INNER JOIN areas a2 on a1.aid=a2.pid WHERE a1.atitle = '河北省';
8.子查询
-- 子查询
-- 在一条语句中,利用另一条语句充当数据或条件。-- 充当条件
-- 查高于平均价的商品信息
SELECT * FROM goods WHERE price>(SELECT AVG(price) FROM goods);-- 充当数据
-- 查询所有来着pdd的商品信息
SELECT * FROM category c INNER JOIN (SELECT * FROM goods WHERE company='并夕夕') a ON c.typeId=a.typeId;
相关文章:

数据库常用命令
文章目录1. 数据库操作命令1.进入数据库2.查看数据库列表信息3.查看数据库中的数据表信息2.SQL语句命令1. 创建数据表2. 基本查询语句3. SQL排序4. SQL分组统计5. 分页查询6. 多表查询7.自关联查询8.子查询1. 数据库操作命令 1.进入数据库 mysql -uroot -p2.查看数据库列表信…...
PTA复习
函数 6-1 学生类的构造与析构 #include<bits/stdc.h> using namespace std; class Student {int num;string name;char sex; public:Student(int n,string nam,char s):num(n),name(nam),sex(s){cout<<"Constructor called."<<endl;}void display…...
TypeScript 学习之接口
接口:对值所具有的结构进行类型检查,称为“鸭式变型法”或“结构性子类型化” 基本使用 interface LabelledValue {label: string; }function printLabel(labelledObj: LabelledValue) {console.log(labelledObj.label); }let myObj {size: 10, label:…...
原码反码补码
在计算机中,负数都是以补码的形式存放的, 正数的原码、反码、补码完全一致。 原码:指的是正数的二进制或负数的二进制, 负数的二进制(原码),其实就是在正数的二进制的最高位前面加一个符号位 1。…...

大数据选股智能推荐系统V1.0-1
很长时间没有发布博客了,这段时间个人确实有点忙。另外一方面在这段时间我也没有闲着。自己研发了一套大数据选股的智能推荐系统。废话不说,我们先来看这套系统:登录页面:(技术点:验证码的生成)…...
调研生成GIF表情包之路
调研阶段 gifshot.js合成GIF 可以从媒体流、视频或图像创建动画 GIF 的 JavaScript 库。 csdn地址:https://blog.csdn.net/qq_16494241/article/details/125717405 分解GIF图片、合成GIF图片 两步走: 1、分解GIF图片 libgif-js:JavaScrip…...
【RocketMQ】源码详解:生产者启动与消息发送流程
消息发送 生产者启动 入口 : org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start(boolean) 生产者在调用send()方法发送消息之前,需要调用start进行启动, 生产者启动过程中会启动一些服务和线程 启动过程中会启动MQClientInstance, 这个实例是针对一个项…...

信息安全(一)
思维导图 一、AES加解密 1.概述 1.1 概念 AES: 高级加密标准(Advanced Encryption Standard)是一种对称加密的区块加密标准。 (1)替代DES的新一代分组加密算法 (2)支持三种长度密钥&#x…...

企业多会场视频直播(主会场、分会场直播)实例效果
阿酷TONY 2023-2-16 长沙 活动直播做多会场切换功能(主会场、分会场、会场一、会场二、会场三自由切换) 企业多会场视频直播(主会场、分会场直播)实例效果 特点:支持PC端,也支持移动端观看,会…...
线性代数速览(一)行列式
文章目录行列式🌻 行列式的定义🌼 行列式的性质🌷 一些定理🥀 行列式的计算🌺 克莱姆法则行列式 行列式的本质,就是一个数值。 🌻 行列式的定义 有三种定义:1、按行展开ÿ…...

恭喜山东翰林“智慧园区管理系统”获易知微可视化设计大赛二等奖
数字化经济发展是全球经济发展的重中之重,“数字孪生(Digital Twin)”这一词汇正在成为学术界和产业界的一个热点。数字孪生作为近年来的新兴技术,其与国民经济各产业融合不断深化,推动着各大产业数字化、网络化、智能…...
gulp简单使用
gulp gulp的核心理念是task runner 可以定义自己的一系列任务 等待任务被执行 基于文件stream的构建流 我们可以使用gulp的插件体系来完成某些任务 webpack的核心理念是module bundler webpack是一个模块化的打包工具 可以使用各种各样的loader来加载不同的模块 可以使用各种…...

ce认证机构如何选择?
CE认证想必大家都已经有所了解,它是产品进入欧盟销售的通行证,那么我们在办理CE认证时该怎么进行选择?带大家了解一下CE认证机构,以及该怎么去进行选择? 以下信息由证果果编辑整理,更多认证机构信息请到证果果网站查看。找机构…...

全网招募P图高手!阿里巴巴持续训练鉴假AI
P过的证件如何鉴定为真?三千万网友都晒出了与梅西的合影?图像编辑技术的普及让人人都能P图,但也带来“假图”识别难题,甚至是欺诈问题。 为此,阿里安全联合华中科技大学国家防伪工程中心、国际文档分析识别方向的唯一顶…...

webrtc QOS笔记一 Neteq直方图算法浅读
webrtc QOS笔记一 Neteq直方图算法浅读 文章目录webrtc QOS笔记一 Neteq直方图算法浅读Histogram Algorithm获取目标延迟遗忘因子曲线Histogram Algorithm DelayManager::Update()->Histogram::Add() 会根据计算的iat_packet(inter arrival times, 实际包间间隔 / 打包时长…...
细分和切入点
本文重点介绍做SEO网站细分和切入点的方法:当我们的行业和关键词竞争性比较大的时候,我们可以考虑对行业或者产品做细分,从而找到切入点。可以按照以下三个方面进行细分。1、按城市细分例如:A:餐饮培训,当前…...

iOS创建Universal Link
iOS 9之前,一直使用的是URL Schemes技术来从外部对App进行跳转,但是iOS系统中进行URL Schemes跳转的时候如果没有安装App,会提示无法打开页面的提示。 iOS 9之后起可以使用Universal Links技术进行跳转页面,这是一种体验更加完美的…...

RuoYi-Vue搭建(若依)
项目简介 RuoYi-Vue基于SpringBootVue前后端分离的Java快速开发框架1.前端采用Vue、Element UI2.后端采用Spring Boot、Spring Security、Redis & Jwt3.权限认证使用Jwt,支持多终端认证系统4.支持加载动态权限菜单,多方式轻松权限控制5.高效率开发&a…...

进程组和用处
进程组:一个或多个进程的集合,进程组id是一个正整数。组长进程:进程组id 进程id组长进程可以创建一个进程组,创建该进程组的进程,终止了,只要进程组有一个进程存在,进程组就存在,与…...

Nacos集群+Nginx负载均衡
搭建Nacos集群 注意: 3个或3个以上Nacos节点才能构成集群。要求服务器内存分配最好大于6G以上(如果不够则需修改nacos启动脚本中的默认内存配置)根据nacos自带的mysql建库脚本建立对应数据库(/conf/nacos-mysql.sql)如果是三台服…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

ui框架-文件列表展示
ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

联邦学习带宽资源分配
带宽资源分配是指在网络中如何合理分配有限的带宽资源,以满足各个通信任务和用户的需求,尤其是在多用户共享带宽的情况下,如何确保各个设备或用户的通信需求得到高效且公平的满足。带宽是网络中的一个重要资源,通常指的是单位时间…...