MYSQL中AS(取别名)

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 在做业务,在mybatis中手写sql中再多表查询去映射实体时,总会用到AS这个关键字。或者我们在数据库大量字段测试数据时,很多字段都有相同的前缀,或者有时候数据库设计者设计的字段令人晦涩难懂。这时候就可以用as关键字去取别名。或者再多表联查的时候,每个如果使用表名则会很繁琐。所以我们用取别名去解决以上问题。

@[TOC]

0 写在前面

在做业务,在mybatis中手写sql中再多表查询去映射实体时,总会用到AS这个关键字。
或者我们在数据库大量字段测试数据时,很多字段都有相同的前缀,或者有时候数据库设计者设计的字段令人晦涩难懂。这时候就可以用as关键字去取别名。
或者再多表联查的时候,每个如果使用表名则会很繁琐。
所以我们用取别名去解决以上问题。

1 格式

<表名> [AS] <别名>
<表名> [空格] <别名>

<字段名> [AS] <别名>
<字段名> [空格] <别名>
<表名> :数据库表名
<字段名>:为数据表中字段定义的名称。
<别名>:新的名称。

AS关键字可以省略,省略后需要将原始名和别名用空格隔开。

2 举例

sql准备:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for person
-- ----------------------------
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `age` int(11) NULL DEFAULT NULL,
  `date_birth` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

-- ----------------------------
-- Records of person
-- ----------------------------
INSERT INTO `person` VALUES (1, '小明', '男', 21, '2001-02-02 12:29:30');
INSERT INTO `person` VALUES (2, '小红', '女', 20, '2002-01-01 00:00:00');
INSERT INTO `person` VALUES (3, '张三', '男', 22, '2002-01-01 00:00:01');
INSERT INTO `person` VALUES (4, '李四', '男', 30, '1992-07-10 12:00:00');

SET FOREIGN_KEY_CHECKS = 1;

2.1 设置表别名

这个是在多个表查询时,此处只单表举例。
表名AS别名

SELECT
    t1.id,
    t1.NAME,
    t1.sex,
    t1.age,
    t1.date_birth 
FROM
    person AS t1;

结果:
在这里插入图片描述

2.2 设置字段别名

字段 AS 别名
字段  [空格]  别名

sql:

SELECT
    t1.id,
    t1.NAME,
    t1.sex,
    t1.age,
    t1.date_birth 
FROM
    person AS t1;

结果:
在这里插入图片描述

3 写在末尾

注意:表别名只在执行查询时使用,并不在返回结果中显示。而字段定义别名之后,会返回给客户端显示,显示的字段为字段的别名。
不用故意使用AS,如果自己可以清晰就不用使用。
某些特定场景必须使用AS,很好理解取别名的使用,加油干。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
关系型数据库 MySQL
【mysql】快速使用mysql exists 语法
【mysql】快速使用mysql exists 语法
60 1
|
8天前
|
SQL 关系型数据库 MySQL
在 MySQL 中使用 ALIAS
【8月更文挑战第12天】
8 1
|
10月前
|
SQL 安全 关系型数据库
MySQL学习笔记-如何安全的给小表加字段
MySQL学习笔记-如何安全的给小表加字段
70 0
|
存储 关系型数据库 MySQL
MySQL中的@i:=@i+1用法详解
MySQL中的@i:=@i+1用法详解
250 0
|
Java 数据库连接
MySQL5版本的配置改成MySQL8
MySQL5版本的配置改成MySQL8
182 0
MySQL5版本的配置改成MySQL8
|
关系型数据库 MySQL
mysql8如何设置大小写不敏感的
mysql8如何设置大小写不敏感的
|
SQL 关系型数据库 MySQL
软件开发入门教程网之 MySQL 管理 MySQL ALTER命令 MySQL 复制表 MySQL 连接 MySQL 创建数据库 MySQL 创建数据表 MySQL 数据类型 MySQL 导出数据 M
MySQL 表中使用INSERT INTOSQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。 ​​语法​​
|
存储 数据库
MySQL----MySQL中的数据类型和约束
MySQL----MySQL中的数据类型和约束
101 0
MySQL----MySQL中的数据类型和约束
|
存储 SQL 关系型数据库
mySQL-简易用法(一)
1.数据库的基本概念 数据库的英文单词: DataBase 简称 : DB 2.what 什么数据库 用于存储和管理数据的仓库。 3.数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL
163 0
mySQL-简易用法(一)
|
关系型数据库 MySQL
mysql 的 起别名(comment,as,constraint 的区别)以及 mysql 语法,不够滚瓜烂熟,怎么知加( ) 还是不加呢
mysql 的 起别名(comment,as,constraint 的区别)以及 mysql 语法,不够滚瓜烂熟,怎么知加( ) 还是不加呢
325 0
mysql 的 起别名(comment,as,constraint 的区别)以及 mysql 语法,不够滚瓜烂熟,怎么知加( ) 还是不加呢