mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

当前位置: mg4377娱乐娱城官网 > mg > 正文

mg:sexplain的语法与用法

时间:2019-06-29 15:50来源:mg
SQL Alias 因而运用 SQL,可认为列名称和表名称钦定小名(Alias)。 mysql教程 sexplain的语法与用法 [14]SQL 别名 透过利用 SQL,可感觉表名称或列名称钦命别称。 大致,成立外号是为了让列名

SQL Alias

因而运用 SQL,可认为列名称和表名称钦定小名(Alias)。

mysql教程 sexplain的语法与用法

[14]SQL 别名

透过利用 SQL,可感觉表名称或列名称钦命别称。

大致,成立外号是为了让列名称的可读性越来越强。

表的 SQL Alias 语法

SELECT column_name(s) FROM table_name AS alias_name

 

SQL Alias

explain [extended] select … from … where …

列的 SQL 外号语法

SELECT column_name AS alias_name
FROM table_name;

列的 SQL Alias 语法

SELECT column_name AS alias_name FROM table_name

 

表的 SQL Alias 语法

SELECT column_name(s)
FROM table_name
AS alias_name

假定利用了extended,那么在实践完explain语句后,能够选取show warnings语句询问相应

表的 SQL 别称语法 

SELECT column_name(s)
FROM table_name AS alias_name;

mg:sexplain的语法与用法。大家将动用 RUNOOB 样本数据库。

上边是选自 "Websites" 表的数目:

 ---- -------------- --------------------------- ------- --------- 
| id | name         | url                       | alexa | country |
 ---- -------------- --------------------------- ------- --------- 
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |

下面是 "access_log" 网址访问记录表的数额:

mysql> SELECT * FROM access_log;
 ----- --------- ------- ------------ 
| aid | site_id | count | date       |
 ----- --------- ------- ------------ 
|   1 |       1 |    45 | 2016-05-10 |
|   2 |       3 |   100 | 2016-05-13 |
|   3 |       1 |   230 | 2016-05-14 |
|   4 |       2 |    10 | 2016-05-14 |
|   5 |       5 |   205 | 2016-05-14 |
|   6 |       4 |    13 | 2016-05-15 |
|   7 |       3 |   220 | 2016-05-15 |
|   8 |       5 |   545 | 2016-05-16 |
|   9 |       3 |   201 | 2016-05-17 |
 ----- --------- ------- ------------ 
9 rows in set (0.00 sec)

Alias 实例: 使用表名称别称

要是我们有四个表分别是:"Persons" 和 "Product_Orders"。大家独家为它们钦定小名 "p" 和 "po"。 今后,大家希望列出 "John 亚当斯" 的保有定单。 大家得以应用下边包车型大巴 SELECT 语句: SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS po WHERE p.LastName='Adams' WHERE p.FirstName='John'

 

不选用小名的 SELECT 语句: SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName FROM Persons, Product_Orders WHERE Persons.LastName='Hansen' WHERE Persons.FirstName='Ola'

 

从上边两条 SELECT 语句您可以见到,小名使查询程序更易阅读和书写。

列的 SQL Alias 语法

SELECT column_name AS alias_name
FROM table_name

的优化消息。

列的小名实例

上边包车型大巴 SQL 语句钦赐了四个别称,二个是 name 列的别称,一个是 country 列的别称。提示:一经列名称包蕴空格,要求运用双引号或方括号:

Alias 实例: 使用三个列名别名

例如我们实施  select uid from user where uname=’sco田野同志’ order by uid  实施结

实例

SELECT name AS n, country AS c
FROM Websites;

进行输出结果:

mg 1

 

在底下的 SQL 语句中,大家把多个列(url、alexa 和 country)结合在共同,并创造三个名称叫 "site_info" 的别名:

表 Persons:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

果会有

实例

SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info
FROM Websites;

执行输出结果:

mg 2

SQL:

SELECT LastName AS Family, FirstName AS Name FROM Persons

 

 | id | select_type | table | type  | possible_keys     | key     | key_len |

表的别名实例

上边包车型客车 SQL 语句采取 "新手教程" 的所走访记录。大家使用 "Websites" 和 "access_log" 表,并各自为它们钦点表别称 "w" 和 "a"(通过运用外号让 SQL 更简便)

结果:

Family Name
Adams John
Bush George
Carter Thomas

接下去,大家钻探 alias (小名) 在 SQL 上的用途。最常用到的小名有三种: 栏位别称及表格别称。

    轻易地以来,栏位别称的目标是为着让 SQL 产生的结果易读。在在此之前的例子中, 每当大家有营业额总合时,栏位名都以 SUM(sales)。纵然在那个状态下并未怎么难点,然则如若这些栏位不是八个简短的总合,而是三个犬牙相错的预计,那栏位名就未有那样易懂了。若大家用栏位小名的话,就足以肯定结果中的栏位名是轻便易懂的。

第两种小名是表格小名。要给三个报表取一个别称,只要在 FROM 子句中的表格名后空一格,然后再列出要用的表格别称就足以了。那在大家要用 SQL 由数个例外的表格中得到资料时是很有利的。那点我们在事后提起连接 (join) 时会看到。

咱俩先来看一下栏位小名和表格昵称的语法:

SELECT "表格小名"."栏位1" "栏位小名" FROM "表格名" "表格别称"

好些个,那三种别称都以坐落它们要代表的物件后边,而它们中间由贰个空白分开。我们后续运用 Store_Information这几个表格来做例子:

Store_Information 表格

store_namesalesdate
Los Angeles$1500jan-05-1999
San Francisco$300jan-08-1999
Boston$700jan-08-1999

大家用跟 SQL GROUP BY 那一页同样的事例。这里的区别处是大家抬高了栏位别称以及表格别称:

SELECT A1.store_name Store, SUM(A1.Sales) "Total Sales" FROM Store_Information A1 GROUP BY A1.store_name

结果:

Store Total Sales 
Los Angeles $1800 
San Diego $250 
Boston $700 

Alias 表的 SQL Alias 语法 SELECT column_name(s) FROM table_name AS alias_name 列的 SQL Alias 语法 SELECT column_name AS alias_name FROM table_name Alias 实例: 使用表...

ref   | rows | Extra |

实例

SELECT w.name, w.url, a.count, a.date 
FROM Websites AS w, access_log AS a 
WHERE a.site_id=w.id and w.name="菜鸟教程";

举行输出结果:

mg 3

 

不带外号的同样的 SQL 语句:

那些事物。

实例

SELECT Websites.name, Websites.url, access_log.count, access_log.date 
FROM Websites, access_log 
WHERE Websites.id=access_log.site_id and Websites.name="菜鸟教程";

 

实行输出结果:

mg 4

在下边包车型客车情状下,使用外号很有用:

  • 在查询中关系超越叁个表
  • 在询问中选拔了函数
  • 列名称十分短依旧可读性差
  • 亟需把三个列恐怕八个列结合在一道

  

当中 table 表示是哪位表的数目。

type比较根本。表示链接的门类。链接类型由好到坏的,依次是    system > const >

eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery >

index_subquery > range > index > ALL

诚如意况,至少要达到 range 品级,最棒是 ref 等第。不然大概会有质量难题。

possible_keys 是指能够动用到该表的目录,假使为NULL则未有。

key 是指利用的目录。

key_len 是索引的长短,在不影响查询精度的图景下,值越小越好。

ref 是指索引的那一列被运用了。一般会是个常数。

rows 是指有微微行。

extra 是指额外的音讯。也是相比较根本的。假设值为 distinct ,表达mysql 找到了域行联

合相配的行,就不再查找了。

假如值为 not exits  :  mysql优化了 left join ,一旦找到了 left join 相配的行,便

不再举办查找了。

一经值为 rang checked for each :  未有找到能够的目录。

设若为 using filesort ,则需求改正sql了。那注脚 mysql试行 必要文件排序。那是比

较影响成效的。

举例为  using  temporary , 那是使用了 不时表。 这种情景也相比较影响功效,sql须求改

进。恐怕从应用层进行立异。

就算为 where used 表明使用了where语句。纵然 type为 all 只怕 index ,一般会现出那

样的结果。那样的标题,一般是查询需求勘误。

在形似稍大的系统中,基本尽大概的压缩 join ,子查询 等等。mysql就选用最轻巧易行的询问

,那样成效最高。至于 join 等,能够放在应用层去消除

编辑:mg 本文来源:mg:sexplain的语法与用法

关键词: SQL