史上最简单的 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 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

想熟悉PostgreSQL?这篇就够了

PostgreSQL是自由的对象-关系型数据库服务器,在灵活的BSD风格许可证下发行。它在其他开放源代码数据库系统和专有系统之外,为用户又提供了一种选择。 我们...

1362
来自专栏程序猿

SQL 注入语句特征

语句特征 1.判断有无注入点 ; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass passwor...

37311
来自专栏MYSQL轻松学

MySQL replace用法简介

今天在工作的过程中碰到一个问题,要把数据库中某个列的所有值中含有"ceshi.test.com"的字符去掉,本来可以写个脚本,把所有的值都取出再导入进行处理,但...

3569
来自专栏Ryan Miao

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

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

3517
来自专栏数说戏聊

Python3分析MySQL数据库

1.在bash_profile中配置全局环境变量 终端open ~/.bash_profile打开环境变量配置文件,写入:

752
来自专栏Laoqi's Linux运维专列

Mysql指令select,update,insert,drop,truncate+MySQL数据库备份恢复

一、select: 1.1 选择db1中mysql库和user表: mysql> use db1 Database changed mysql> select ...

2708
来自专栏听雨堂

Mysql高效插入/更新数据

从tushare抓取到的财务数据,最开始只是想存下来,用的办法想简单点,是:插入--报错—update 但发现这个方法太蠢,异常会导致大量无效连接,改为: ...

1807
来自专栏别先生

MySql的基本操作以及以后开发经常使用的常用指令

第一章:数据类型和操作数据表 MySQL语句的规范 (1):关键字与函数名称全部大写 (2):数据库名称,表名称,字段名称全部小写 (3):SQL语句必须以分号...

18210
来自专栏听雨堂

Mysql高效插入/更新数据

从tushare抓取到的财务数据,最开始只是想存下来,用的办法想简单点,是:插入--报错—update 但发现这个方法太蠢,异常会导致大量无效连接,改为: ...

1835
来自专栏ASP.NET MVC5 后台权限管理系统

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(15)-权限管理系统准备

这节我们说下权限系统的特点,本系统采用的是MVC4+EF5+IOC 接口编程的架构,其中的权限树用的是DWTree,功能上做到灵活,授权操控细致,权限可以细到按...

2055

扫码关注云+社区