MySQL基础语句关键字

并操作 UNION         交操作 INTERSECT         差操作 EXCEPT

存在量词 EXISTS

条件语句 WITH CHECK OPTION

授予特权 GRANT           回收特权 REVOKE

开启审计 AUDIT 操作 ON 表

关闭审计 NOAUDIT 操作 ON 表

级连 CASCADE

约束关键字 CONSTRAINT

断言 CREATE ASSERTION <断言名><CHECK子句>

触发器:

CREATE TRIGGER <触发器名>

{BEFORE|AFTER}<触发事件>ON<表名>

REFERENCING NEW|OLD ROW AS<变量>

FOR EACH{ROW|STATEMENT}

[WITH<触发条件>]<触发动作体>

创建过程 CREATE OR REPLACE PROCEDURE 过程名[参数] AS <过程化SQL语句>

声明变量 DECLARE

回滚事务 ROLLBACK

提交事务 COMMIT

执行事务 CALL/PERFORM PROCEDURE 过程名([参数])

子查询定义 with 子函数名 as()

截取查询结果 offset 开始 limit 

MYSQL函数:

databases() 返回当前数据库名

versuion() 返回当前数据库名

user() 返回当前用户名

floor(x) 向下取整   ceil(x) 向上取整

concat(s1,s2...) 字符串拼接

left(s,n) 返回字符串s的最左n个字符

trim(s) 去掉首尾空格

replace(s,s1,s2) 用s2替换s中的是s1

substring(s,n,len) 截取字符串s从n开始len长度的字符串

reverse(s) 将字符串s翻转

curdate() 返回当前日期

curtime() 返回当前时间

now() 返回当前日期与时间

month(d) 返回月   year(d) 返回年

<think>我们正在讨论MySQL中的AS关键字,用于给列或表起别名。根据引用[1]和引用[2],我们可以知道:1.AS关键字可以为列或表指定别名,提高可读性。2.当别名是MySQL关键字时,需要用反引号(`)括起来,以避免冲突。3.在子查询中,为临时表指定别名也是必要的(引用[3])。此外,引用[4]中展示了在UNION操作中使用别名的例子。因此,我们将按照以下结构回答:1.介绍AS关键字的作用。2.说明基本语法(列别名和表别名)。3.给出使用示例(包括普通别名和关键字别名)。4.注意事项(特别是当别名是关键字时需要用反引号)。同时,生成相关问题。注意:用户的问题是关于AS关键字的,所以重点应放在AS上。</think>### MySQL中AS关键字的用法详解 **作用**:`AS`关键字用于为查询结果的列或表指定临时别名,主要用途包括: 1. 提高结果集的可读性 2. 解决列名/表名与MySQL关键字的冲突 3. 为子查询结果集命名 4. 简化复杂字段的引用 #### 一、基本语法格式 ```sql -- 列别名 SELECT 列名 AS 别名 FROM 表名; -- 表别名 SELECT * FROM 表名 AS 别名; -- 子查询别名 SELECT * FROM (SELECT ...) AS 临时表名; ``` #### 二、使用示例 1. **基础列别名**(提高可读性): ```sql SELECT user_id AS 用户ID, user_name AS 用户名 FROM users; ``` 2. **关键字冲突处理**(必须用反引号包裹)[^2]: ```sql -- 使用MySQL关键字PRIMARY KEY作为别名 SELECT user_id AS `PRIMARY KEY` FROM user_table; ``` 3. **表别名简化关联查询**: ```sql SELECT o.order_id, u.user_name FROM orders AS o JOIN users AS u ON o.user_id = u.id; ``` 4. **子查询别名**(派生表必须命名)[^3]: ```sql SELECT * FROM ( SELECT department, AVG(salary) AS avg_sal FROM employees GROUP BY department ) AS dept_stats WHERE avg_sal > 5000; ``` 5. **计算字段别名**: ```sql SELECT product, (price * quantity) AS total_amount FROM sales; ``` #### 三、注意事项 1. **关键字冲突**:当别名使用MySQL保留字(如`ORDER`, `GROUP`等)时,**必须**用反引号`` ` ``包裹[^2] 2. **别名作用域**:别名仅在当前查询中有效 3. **省略AS**:在MySQL中`AS`可省略(但不推荐) ```sql SELECT user_id 用户ID FROM users; -- 等效写法 ``` 4. **聚合函数**:聚合计算字段必须用别名才能在`HAVING`/`ORDER BY`中引用 ```sql SELECT department, AVG(salary) AS avg_sal FROM employees GROUP BY department ORDER BY avg_sal DESC; ``` #### 四、典型错误案例 ```sql -- 错误:未用反引号包裹关键字别名 SELECT user_id AS primary FROM users; -- 错误:子查询缺少别名 SELECT * FROM (SELECT ...); -- 正确解决方案[^2][^3] SELECT user_id AS `primary` FROM users; SELECT * FROM (SELECT ...) AS temp_table; ``` > 关键点总结:AS通过建立临时映射关系提升查询灵活性和可读性,处理关键字冲突时需配合反引号实现安全访问[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值