史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询(上)」

温馨提示:本系列博文已经同步到 GitHub,地址为「mysql-tutorial」,欢迎感兴趣的童鞋StarFork,纠错。

数据的高级操作

查询数据(上)

  • 基本语法select + 字段列表/* + from + 表名 + [where 条件];
  • 完整语法select + [select 选项] + 字段列表[字段别名]/* + from + 数据源 + [where 条件] + [1] + [2] + [3]; + [1] = [group by 子句] + [2] = [order by 子句] + [3] = [limit 子句]

SELECT 选项

select选项,即select对查出来的结果的处理方式。

  • all:默认,保留所有的查询结果;
  • distinct:去重,将查出来的结果中所有字段都相同的记录去除。

执行如下 SQL 语句,进行测试:

-- 查询表 my_copy 中的数据
select * from my_copy;
select all * from my_copy;
select distinct * from my_copy;
6

字段别名

字段别名,即当数据进行查询的时候,有时候字段的名字并不一定满足需求(特别地,在多表查询的时候,很可能会有同名字段),这时就需要对字段进行重命名、取别名。

  • 基本语法字段名 + [as] + 别名;

执行如下 SQL 语句,进行测试:

-- 使用别名
select id,
name as 姓名,
age as 年龄,
grade as 年级
from student;
7

数据源

数据源,即数据的来源,关系型数据库的数据源都是数据表,本质上只要保证数据类似二维表,最终就可以作为数据源。

数据源分为 3 种,分别为:单表数据源,多表数据源和查询语句。

第 1 种:单表数据源

  • 基本语法select * from + 表名;
8

第 2 种:多表数据源

  • 基本语法select * from + 表名1,表名2...;
9

如上图所示,使用多表数据源时默认从一张表中取出一条记录去另外一张表中匹配所有记录,而且全部保留,比较浪费资源,应该尽量避免。

第 3 种:查询语句(子查询)

  • 基本语法select * from + (select * from + 表名) + [as] + 别名;
10

如上图所示,数据的来源是一条查询语句,而查询语句的结果是一张二维表。


温馨提示:符号[]括起来的内容,表示可选项;符号+,则表示连接的意思。


———— ☆☆☆ —— 返回 -> 史上最简单的 MySQL 教程 <- 目录 —— ☆☆☆ ————

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏社区的朋友们

MySQL 入门常用命令大全(上)

作为一个 MySQL 的初学者,在短短的几个月中接触了一下,记录了一下工作中用到的 SQL 语句以及未来可能会用到的 MySQL 知识点,作为日后的参考手册。因...

8661
来自专栏GreenLeaves

Oracle Schema

1、这是Schema的definition: A schema is a collection of database objects (used by a u...

1926
来自专栏Ryan Miao

mysql创建定时执行存储过程任务

sql语法很多,是一门完整语言。这里仅仅实现一个功能,不做深入研究。 目标:定时更新表或者清空表。 案例:曾经做过定时清空位置信息表的任务。(然而,当时并未考虑...

3807
来自专栏程序猿

mysql 命令大全

1、连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前...

34411
来自专栏待你如初见

Day16

1313
来自专栏玩转JavaEE

初识MongoDB中的索引

索引就像图书的目录一样,可以让我们快速定位到需要的内容,关系型数据库中有索引,NoSQL中当然也有,本文我们就先来简单介绍下MongoDB中的索引。 本文是Mo...

3265
来自专栏Java面试通关手册

Mysql锁机制简单了解一下

Java面试通关手册(Java学习指南,欢迎Star,会一直完善下去,欢迎建议和指导):https://github.com/Snailclimb/Java_G...

16211
来自专栏逸鹏说道

通过MySQL自动同步刷新Redis

在服务端开发过程中,一般会使用MySQL等关系型数据库作为最终的存储引擎,Redis其实也可以作为一种键值对型的数据库,但在一些实际场景中,特别是关系型结构并不...

1.1K10
来自专栏用户画像

mysql 模拟试题一

  3.SQL语言的数据操纵语句包括 SELECT,INSERT,UPDATE和 DELETE, 最重要的,也是使用最频繁的语句是__A__。 

984
来自专栏杨建荣的学习笔记

MySQL中GTID的几个限制和解决方案

现在我看待一个技术,总是会换一种角度来看,在他能实现什么的基础上,我更喜欢看他不能做什么,为什么不能这么做。 比如MySQL GTID在5.6试水,...

6636

扫码关注云+社区