SQL必知必会阅读笔记(数据库基本概念、检索数据、排序检索数据)

数据库相关的基本概念常识 数据库相关的基本常识 立即下载
一、数据库基本概念:

1、数据库(database): 保存有组织的数据的容器(通常是一个文件或一组文件)

2、表(table): 某种特定类型数据的结构化清单。

3、模式(schema): 关于数据库和表的布局及特性的信息。

4、列(column): 表中的一个字段。所有表都是由一个或多个列组成的。

5、数据类型( datatype): 所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。

6、行(row): 表中的一个记录。

7、主键(primary key)一一列(或一组列),其值能够唯一区分表中每个行。

     主键满足的条件:任意两行都不具有相同的主键值;
                               每一行都必须具有一个主键值(主键列不允许NULL值);
                               主键列中的值不允许修改或更新;
                               主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

     主键通常定义在表的一列上,但这并不是必需的,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

8、子句(clause):

         SQL语句由子句构成,有些子句是必需的,有些则是可选的。一个子句通常由一个关键字加上所提供的数据组成。

二、检索数据(select)

1、为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。

2、检索单个列

     SELECT prod_name FROM Products;

     上述语句利用SELECT语句从Products表中检索一个名为prod_name的列。所需的列名写在SELECT关键字之后,FROM关键字指出从哪个表中检索数据。

3、检索多个列

     要想从一个表中检索多个列,仍然使用相同的SELECT语句。唯一的不同是必须在SELECT关键字后给出多个列名,列名之间必须以逗号分隔。

     SELECT prod_id, prod_name, prod_price FROM Products;

4、检索所有列

     SELECT * FROM Products;

     列的顺序一般是列在表定义中出现的物理顺序,但并不总是如此。 

5、检索不同的值

     SELECT DISTINCT vend_id FROM Products; 

    “SELECT DISTINCT vend_id”告诉DBMS只返回不同(具有唯一性)的vend_id行 ,使用DISTINCT关键字,它必须直接放在列名的前面。

     DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。例如,你指定SELECT DISTINCT vend_id, prod_price,除非指定的两列完全相同,否则所有的行都会被检索出来。

6、限制检索出来的结果

     各种数据库中的这一SQL实现并不相同。

     (1)、在SQL Server和Access中使用SELECT时,可以使用TOP关键字来限制最多返回多少行,如下所示:

         SELECT TOP 5 prod_name FROM Products;            返回检索结果前5行

     (2)、如果你使用Oracle,需要基于ROWNUM(行计数器)来计算行,像这样: 

         SELECT prod_name   FROM Products   WHERE ROWNUM <=5;

     (3)、如果你使用MySQL、MariaDB、PostgreSQL或者SQLite,需要使用LIMIT 子句,像这样:

         SELECT prod_name   FROM Products   LIMIT 5;

        还可以选择从第几行开始,如下:

         SELECT prod_name   FROM Products   LIMIT 5 OFFSET 5;        从第5行开始返回5行

        ps:MySQL和MariaDB支持简化版的LIMIT 4 OFFSET 3语句,即LIMIT 3,4。使用这个语法,,之前的值对应LIMIT, ,之后的值对应OFFSET。


三、排序检索数据

1、排序数据

     关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义。

     为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句。ORDER BY子句取一个或多个列的名字,据此对输出进行排序。

     SELECT prod_name   FROM Products   ORDER BY prod_name;

     在指定一条ORDER BY子句时,应该保证它是SELECT语句中最后一条子句。如果它不是最后的子句,将会出现错误消息。

2、按多个列排序

     下面的代码检索3个列,并按其中2个列对结果进行排序——首先按价格,然后按名称排序。

     SELECT prod_id, prod_price, prod_name
     FROM Products
     ORDER BY prod_price, prod_name;

     说明:对于上述例子中的输出,仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。(ORDER BY子句默认升序排列--从A~Z)

3、按列位置排序

     除了能用列名指出排序顺序外,ORDER BY还支持按相对列位置进行排序。

     SELECT prod_id, prod_price, prod_name
     FROM Products

     ORDER BY 2, 3;

     说明:ORDER BY 2,3表示先按prod_price,再按prod_name进行排序。

     缺点:首先,不明确给出列名有可能造成错用列名排序。其次,在对SELECT清单进行更改时容易错误地对数据进行排序(忘记对ORDER BY子句做相应的改动)。最后,如果进行排序的列不在SELECT清单中,显然不能使用这项技术。

4、指定排序方向

     (1)、数据排序不限于升序排序(从A到Z),这只是默认的排序顺序。还可以使用ORDER BY子句进行降序(从Z到A)排序。为了进行降序排序,必须指定DESC关键字。

     SELECT prod_id, prod_price, prod_name
     FROM Products
     ORDER BY prod_price DESC;

     说明:该例子以价格降序排列结果

     (2)、如果打算用多个列排序 ,下面例子先以价格降序排列结果,再加上产品名

     SELECT prod_id, prod_price, prod_name
     FROM Products
     ORDER BY prod_price DESC, prod_name;

     说明:DESC关键字只应用到直接位于其前面的列名。该例子中只对prod_price列指定DESC,对prod_name列不指定。因此,prod_price列以降序排序,而prod_name列(在每个价格内)仍然按标准的升序排序。

     如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。

     DESC是DESCENDING的缩写,这两个关键字都可以使用。与DESC相对的是ASC(或ASCENDING),在升序排序时可以指定它。但是ASC是默认的,因此很少用到它。


SQL语法:

1、多条SQL语句必须以分号(;)分隔。多数DBMS不需要在单条SQL语句后加分号,但也有DBMS可能必须在单条SQL语句后加上分号。当然,如果愿意可以总是加上分号。事实上,即使不一定需要,加上分号也肯定没有坏处。

2、SQL语句不区分大小写。

3、在处理SQL语句时,其中所有空格都被忽略。SQL语句可以写成长长的一行,也可以分写在多行。下面这三种写法的作用是一样的:

        SELECT prod_name

        FROM Products;

        SELECT prod_name FROM Products;

        SELECT
        prod_name
        FROM
        Products;

4、注释

     (1)、SELECT prod_name -- 这是一条注释 FROM Products;

            注释使用 --(两个连字符)嵌在行内,-- 之后的文本就是注释 。

     (2)、# 这是一条注释 SELECT prod_name FROM Products;

            在一行的开始处使用#,这一整行都将作为注释。 

     (3)、也可以进行多行注释,注释可以在脚本的任何位置停止和开始。 

            /* SELECT prod_name, vend_id
            FROM Products; */
            SELECT prod_name
            FROM Products;







UE5新手必看:Gameplay框架中的GameInstance与子系统实战指南(含蓝图配置) 本文为UE5新手提供了Gameplay框架中GameInstance与子系统的实战指南。文章深入解析了GameInstance作为全局数据中枢的核心作用与生命周期,并手把手演示了如何创建自定义GameInstance、构建模块化的子系统(如存档管理),以实现跨关卡的持久数据管理。指南旨在帮助开发者构建清晰、可维护的项目架构,解决数据管理混乱的常见痛点。 阅读详情

相关推荐

信号完整性分析学习--16--传输线效应

传输线效应 说到传输线效应,大多数人都会想到一个经验法则,那就是: “当互连线的长度大于1/6倍的信号上升时间的空间延伸时,互连线就体现出传输线效应。” 上升时间越小越容易体现传输线效应。 由此可见,同一根互连线,它是否体现传输线效应,要看它要传输什么样的信号。下图所示,一根延时为15ps的互连线,当它传输上升时间为60ps的信号时就会体现传输线效应;当它传输上升时间为180ps的信号时就不体现传输线效应。

qq_29476769的博客 7273

数据库基本概念

1.数据库是信息系统的核心和基础 一.数据库的四个基本概念 1.数据(data):描述事物的符号记录。包括图像音频等多种形式。 数据的含义也就是数据的语义就是所谓的信息。 2.数据库(DataBase):长期储存在计算机内、有组织的、可共享的大量数据的集合。 特征:数据库中的数据按一定数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性、易拓展性,并可为各种用户共享 3.数据库管理系统(DataBase Management System,DBMS):位于用户与操作系统之间的一层数据管理

gangtianyi的博客 6667

【AN7581】AN7581 SDK编译环境搭建操作说明

安装编译需要的工具包。

wgl307293845的博客 338

数据库的基本概念

1. 数据库的基本概念 1.1 什么是数据库 数据库(database)是用来组织、存储和管理数据的仓库。 当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。 为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进行新增、查询、更新、删除等操作。 1.2 常见的数据库及分类 市面上的数据库有很多种,最常见的数据库有如下几个: MySQL

weixin_43563864的博客 1万+

基于 OpenCVSharp 的晶圆缺口自动检测与旋正方案

在半导体制造过程中,晶圆(Wafer)需要精确定位才能进行后续加工。每个晶圆边缘都有一个特定的缺口,这个缺口就像 "箭头" 一样,帮助机器确定晶圆的方向。我们的任务就是通过摄像头拍摄的图片,自动找到这个缺口的位置,计算出需要旋转多少角度才能让晶圆对准正确方向。简单来说,这个技术就像给晶圆 "找方向",确保它在生产线上始终保持正确的姿态。

品质生活,极致编程。 1211

Python的单元测试之unittest

是一个功能类似 unittest 的库,它集合众家标准测试库之所长,和 unittest 相比,功能更为强大,使用更为简单,OpenStack 广泛的利用它编写单元测试。unittest 提供了自动匹配发现并执行测试用例的功能,随着项目代码结构越发庞大,势必有多个测试文件,自动匹配发现并测试用例的功能在此就显得非常有用,只要满足。unittest 提供了丰富的命令行入口,可以根据需要执行某些特定的用例。的测试用例都会被 unittest 发现并执行,测试用例文件的默认匹配规则为 test*.py。

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 282

数据库第一章:数据库基本概念

第一章 1.1 数据库及其系统概念 一、什么是数据库 数据库——是一种依照特定数据模型组织、存储和管理数据的文件集合。这些文件一般存放在外部存储器中,以便长久保存数据,并可快速访问。 数据库与普通数据文件的区别: 数据库的操作访问与控制管理由数据库管理系统软件实现;普通数据文件的操作访问与控制管理,都必须由应用程序实现。 二、什么是数据模型 数据模型是指描述事物对象的数据结构组成、数据语义联系、数据约束的抽象结构及其说明。 1)数据结构:用于描述事物对象的静态特征,包括事物对象的数据组成、数据类型、数据

HLXchamp的博客 1540

C#上位机开发实战全流程:从需求到落地,避坑指南+完整代码

作为一名做了5年工业自动化上位机开发的程序员,我踩过的坑比写过的代码还多——从最初串口通信粘包导致数据错乱,到可视化图表卡顿卡死,再到现场异常崩溃无日志可查,每一次踩坑都是一次血泪教训。今天这篇文章,我会把C#上位机开发的全流程拆解开,从需求分析到通信模块、数据可视化,再到异常处理,每个环节都结合工业实际场景,分享真实项目中能用的方案、完整代码和避坑技巧。不管你是刚入门的新手,还是想优化现有项目的老司机,相信都能有所收获。很多新手做上位机开发,一上来就闷头写代码,最后发现做出来的东西不符合现场需求——比如客

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 995

数据库概论

概论 1.1 数据库的定义 1.1.1 数据 数据是数据库中存储的基本对象,人们为了认识世界,交流信息而对事物进行描述的符号称为数据。数据在人们头脑中的直觉反应就是数字。但数字只是数据的一种最简单的形式。数据的解释是指对数据含义的说明。数据的含义称为数据的语义,数据与语义是不可分的。 1.1.2信息 信息是对现实世界事物存在方式或运动状态的反映,是加工后的数据。数据是信息的载体,而信息是数据的内涵。同一信息可以有不同的数据表示形式,而同一数据也可能有不同的解释。 1.1.3数据库 DataBase,顾名思义

weixin_42907150的博客 3420

8、硬件工程师笔试面试知识器件篇——二极管(2025版本)

当二极管正向偏置时(阳极相对于阴极为正电压),PN结内部的电场减小,允许电子和空穴复合,形成电流。而当二极管反向偏置时,PN结的电场增强,阻止电流通过。在接触区域,P型半导体中的空穴和N型半导体中的自由电子会相互扩散和复合,形成一个没有自由载流子的耗尽区。在设计电子电路时,平衡二极管的正向电压降(Vf)和最大电流(I)是一个重要的考虑因素,因为这两者直接影响电路的性能和效率。通过这些步骤,可以确保在设计电子电路时选择的二极管能够安全地处理预期的最大正向电流和最大反向电压,从而提高电路的可靠性和安全性。

XU157303764的博客 3500

电机驱动器MP6540H应用设计

/ ... 其他初始化函数(SystemClock_Config, MX_GPIO_Init, MX_TIM1_Init, MX_TIM2_Init)需要你根据STM32CubeMX生成或手动编写。// 假设霍尔传感器引脚是 GPIO_PIN_8, GPIO_PIN_9, GPIO_PIN_10。// 低侧U相GPIO引脚。

zhusl6688的博客 659

《SQL必知必会》笔记

目录SQL必知必会本文的用途读后感第一章第二章 检索数据2.1 SELECT语句2.5 检索不同的值2.6 限制结果2.7 使用注释第三章 排序检索数据3.1 排序数据第四章 过滤数据4.1 使用WHERE字句4.2 WHERE子句操作符第五章 高级数据过滤5.1 组合WHERE子句5.2 IN操作符5.3 NOT操作符第六章 用通配符过滤6.1 LIKE操作符6.2 通配符的技巧第七章 创建计算字段7.1 计算字段7.2 拼接字段第8课8.1 函数8.2 使用函数第九章 汇总数据9.1 聚集函数9.2 聚

生息之地 1125

Windows 11 安装 JDK 25:下载、安装、配置环境变量、验证

本文详细介绍了在 Windows 11 系统上安装 JDK 25 的完整流程,包括从 Oracle 官网下载压缩包、解压至自定义目录、配置 JAVA_HOME 与 Path 环境变量,并验证安装是否成功。文章推荐使用 ZIP 压缩包而非 EXE 安装程序,以实现绿色便携、多版本共存和灵活管理。最后通过一个使用 Java 25 新特性的示例程序,验证 JDK 的编译与运行环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 7661

【SQL必知必会笔记(2)】检索数据、排序检索数据

本文主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值、利用LIMIT/OFFSET子句限制结果;以及利用ORDER BY子句排序检索出的数据,主要有按照单个/多个列名/列位置/混合排序、用DESC关键字指定排序方向。

好想成为大佬啊的博客 440

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

《MySQL必知必会》读书笔记 —— 第4章 检索数据、第5章 排序检索数据

在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)

2401_85117728的博客 983

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SQL必知必会笔记

*SQL必知必会笔记* *第一课 了解SQL* \1. 数据库概念database 保存有组织的数据的容器(通常是一个文件和一组文件) \2. 数据库软件应被称为数据库管理系统(DBMS),数据库是通过DBMS创建和操纵的容器 \3. 表(table):某种特定类型数据结构化清单。 \4. 模式(schema)关于数据库和表的布局及特性的信息 \5. 列(column)表中的一个字段,所有表都是由一个或多个列组成 \6. 数据类型(datatype)所允许的数据的类型,每个表列都有相应的数据类型,它限制

weixin_51179522的博客 670

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

《SQL必知必会》读书笔记

《SQL必知必会》读书笔记:第1课–第6课

南京的博客 1071

【SQL笔记】一、SQL基础与检索数据

记录了数据库的相关名词概念和SELECT语句的基础用法

段昊东的博客 806

【MySQL必知必会(二)】【检索数据+排序检索数据】

本章将介绍如何使用SELECT语句从表中检索一个或多个数据列

LinGavinQ 773

SQL必知必会知识点汇总

又一个SQL学习阶段结束啦!

m0_62279905的博客 2247

《MySQL必知必会》总结--检索数据,排序检索数据

《MySQL必知必会》检索数据,排序检索数据 1、检索数据 1.1 select 语句 为了使用SELECT检索表数据,必须至少给出两条信息一想选择什 么,以及从什么地方选择。 1.2 检索单个列 select prod_name from products; (此时,检索得到的数据并未进行排序。) MySQL执行多条SQL语句,结束每条SQL语句时,必须加上“ ; ”分隔,尽管这是单条SQL语句,你加上也可以执行,但其他部分的DBMS却可能需要单条SQL语句也需要加上“ ; ”才可以执行,为了代码的可

weixin_45288537的博客 344

SQL必知必会-笔记

SQL必知必会-笔记 基础概念 SQL 语句不区分大小写,因此 SELECT 与 select 是相同的。 许多 SQL 开发人员喜欢对 SQL 关键 字使用大写,而对列名和表名使用小写,这样做使代码更易于阅读和 调试。 所有空格都被忽略。 SQL 语句可以写成长长 的一行,也可以分写在多行。 除非你确实需要表中的每一列,否则最好别使用*通配符,检索不需 要的列通常会降低检索和应用程序的性能 ...

持续探索技术边界,分享前后端实战、AI 应用与工程效率的深度思考。 642

【学习笔记】SQL必知必会(二)查询数据

本文介绍了SQL查询数据的基础知识和方法。适合正在学习《SQL必知必会》并使用PostgreSQL/DBeaver的初学者参考。

TonyLeoC的博客 1666

MySQL必知必会——检索、排序数据

Before start 文内所使用样例来自MySQL Crash Course官网,后续内容均以样例展开。 脚本样例地址 其中包含create.sql and populate.sql两个文件,下载了脚本后,可以使用它们来创建和填充学习所用的表。以下是步骤: 创建一个新数据源(为安全考虑,不要使用已有的数据源)。 保证选择新数据源(使用mysql命令行程序,使用USE命令)。 执行create...

Code for need ,Code for fun 306

《MySQL必知必会》学习笔记(1)—数据检索

检索数据 SELECT语句 简单查询 --检索多列 SELECT id,name,price FROM product; --检索所有列 SELECT * FROM product; 注意:多条SQL语句必须以分号(;)分隔;SQL语句不区分大小写,因此 SELECT与select是相同的。但为了使代码更易于阅读和调试,习惯将所有SQL关键字使用大写,而对所有列和表名使用小写。 ...

Nibaby 1810

sql检索数据--mysql必知必会阅读

sql检索数据 1.SELECT 检索单个列 select name from users; 检索多个列 select name,password,age from users; 检索所有列 (*) select * from users; 检索不同行 distinct 关键字 select distinct name from users; 使用distinct之后...

bobogogozuo的博客 152
上一篇: Python wordcloud库的使用
下一篇: SQL必知必会阅读笔记(过滤数据、高级数据过滤、用通配符进行过滤)
MessiNine
博客等级 码龄10年 61粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值