数据库常用命令

news2024/11/18 3:40:08

文章目录

    • 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 by

SELECT * 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; 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PDF怎么转换成Word?两种PDF免费转Word方法推荐

不知道你们有没有发现,我们在网上下载的很多资料都是PDF格式的,尽管PDF文件也可以通过专门的PDF编辑器来编辑,但是PDF文档作为版式文档,编辑起来还是存在很多局限性,所有当我们需要大量编辑修改文档的时候,…

网络编程套接字之TCP

文章目录一、TCP流套接字编程ServerSocketSocketTCP长短连接二、TCP回显服务器客户端服务器客户端并发服务器UDP与TCP一、TCP流套接字编程 我们来一起学习一下TCP socket api的使用,这个api与我们之前学习的IO流操作紧密相关,如果对IO流还不太熟悉的&am…

Springboot 我随手封装了一个万能的导出excel工具,传什么都能导出

前言 如题,这个小玩意,就是不限制你查的是哪张表,用的是什么类。 我直接一把梭,嘎嘎给你一顿导出。 我知道,这是很多人都想过的, 至少我就收到很多人问过我这个类似的问题。 我也跟他们说了,但…

python冒号的用法总结

一维数组 1. 单个冒号的情况 1.1 写完整的情况下 单个冒号的情况下,对数组的遍历操作是从前向后操作。如:arr[a:b] ,冒号前的a含义是从a开始遍历,冒号后的b含义是到b截止(不包括b)。 arr [1, 2, 3, 4,…

Qt扫盲-QMake 语言概述

QMake 语言概述一、概述二、变量三、替换函数四、测试函数一、概述 这里主要就是记录一下如何使用 qmake Manual,里面关于我对 qmake的理解,以及如何配置这个 qt 工程文件,通过配置工程文件,来构建出,APP,…

如何在Github上配置ssh key的密钥

Step0 : 解释说明 git使用SSH配置, 初始需要以下三个步骤 使用秘钥生成工具生成rsa秘钥和公钥将rsa公钥添加到代码托管平台将rsa秘钥添加到ssh-agent中,为ssh client指定使用的秘钥文件 Step 1: 核验本地主机是否已经存在ssh密钥。(若id_rs…

ChatGPT之文章生成

文章目录介绍激励设计Prompt Design故障调整Troubleshooting分类Classification提高分类器的效率生成对话内容转化翻译转化总结实际问答插入文本编辑模式介绍 ChatGPT功能很强大,它可以根据你给出的模板和文本进行文本补全,最好的探索方式就是使用我们给…

数据预处理(无量纲化、缺失值、分类特征、连续特征)

文章目录1. 无量纲化1.1 sklearn.preprocessing.MinMaxScaler1.2 sklearn.preprocessing.StandardScaler2. 缺失值3. 分类型特征4. 连续型特征数据挖掘的五大流程包括:获取数据数据预处理特征工程建模上线 其中,数据预处理中常用的方法包括数据标准化和归…

3分钟学会图新地球图源制作详细教程

图新地球图源制作 1.资源准备 (1) 准备一份图新地球支持的lrc格式的图源; (2) 安装图新地球 (LSV)软件和奥维omap软件 。 2.操作步骤 (1) 用记事本打开lrc格式的文件(图①),同时用奥维软件…

Unity 多语言 轻量高效的多语言工具集 LanguageManager

效果展示 支持excel导入自动化 组件化 更方便 也提供直接获取多语言的接口 没有挂 LanguageText的对象也可以获取多语言文本内容 支持 Format接口 可以传递N个参数进来组装多语言 支持首次系统语言自测 支持语言切换后本地自动保存配置 支持实时切换 同步刷新所有UI 容错处…

Maven:在Intellij idea的使用

MavenIntellij idea配置MavenIntellij idea创建Maven项目Java项目的创建Web项目的创建Intellij idea执行Maven命令JavaWeb项目转为Maven项目遇到的问题解决了解到Maven的基础知识后,接下来,简单介绍Maven在Intellij idea的使用( 以 IntelliJ …

在线开会,来开开圆桌会议吧~

圆桌会议应用场景:适合内部培训、部门会议亦或是头脑风暴等较为轻松的场景,有兴趣的朋友可以联系我来测试哦~~ 上图: 图:圆桌会议应用截图 在圆桌布局之下,企业可以将每一位参会者和座位绑定,1:1模拟线下圆…

微信中如何接入机器人才比较安全(不会收到警告或者f号)之第三步正式接入

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 前言 前面两篇文章分别介绍了下chatgpt接入方式: 微信中如何接入chatgpt机器人才比较安全(不会收到警告或者f号)之第一步登录微信 微信中如何接入chatgpt机器人才比较安全(不会收到警告或者f号)之第二步注入dll文件…

Spring 底层原理与解析 - 容器接口

Spring 底层原理与解析 - 容器接口 BeanFactory 能做哪些事 BeanFactory 与 ApplicaiotnContext 到底是谁提前做完了对象的加载 在之前的一篇关于 Spring 的文章Spring IoC 与容器的初始化中提到过,BeanFactory 接口与 ApplicationContext 接口之间的关系 可以看…

MySQL作业四

学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…

编译链接实战(8)认识elf文件格式

🎀 关于博主👇🏻👇🏻👇🏻 🥇 作者简介: 热衷于知识探索和分享的技术博主。 💂 csdn主页::【奇妙之二进制】 ✍️ 微信公众号:【Linux …

FreeRTOS的列表和列表项

目录 列表和列表项的简介 列表和列表项的关系 列表相关API函数介绍 函数vListInitialiseI() 函数vListInitialiseItem() 函数vListInsert() 函数vListInsertEnd() 函数uxListRemove() 列表和列表项的简介 列表是FreeRTOS中的一个数据结构,概念上和链表有点类…

电脑的安全模式安全吗?如何进入安全模式?

“怎么进安全模式?”这条留言成功引起了驱动哥的注意。 在遇到电脑蓝屏、黑屏等系统问题的时候,如何在更安全且不损失电脑文件的情况下修复故障?系统早已为大家准备好了相应的修复策略。 没错!电脑也有属于自己的Plan B——安全…

我工作5年测试才8K,应届生刚毕业就拿16K?凭什么

我从事手工测试五年了,还拿着8K的死工资,家里还几张嘴需要喂养,我很累,也很迷茫…【某个粉丝跟我的诉说】 为什么手工测试会迷茫呢? 自动化测试、性能测试倒是不会迷茫。 我认为手工测试的迷茫基于两个原因&#xf…

数据分析与SAS学习笔记5

DATALINES语句: 相当于CARS语句; 该语句必须是数据步的最后一条语句; MISSOVER处理; DATA TEMP; INFILE DATALINES MISSOVER; INPUT X Y Z; DATALINES; 1 10 100 2 20 3 30 300 ; PROC PRINT; RUN; 代码说明: 1&am…