了解MySQL查询

时间:2011-11-09 10:06:13

标签: mysql

我现在比以往任何时候都更经常地看到下面的查询。我迷失的是'p.title','as'子句和'FROM Posts p'。任何人都在向我解释这些部分或向我推荐资源,因为我不知道在谷歌搜索什么?

SELECT p.title, SUBSTR(p.post,1,300) as post 
FROM Posts p 
WHERE p.title LIKE '%{$q}%' 
  OR p.post LIKE '%{$q}%'");

9 个答案:

答案 0 :(得分:2)

SELECT p.title, SUBSTR(p.post,1,300) AS post 
FROM Posts p 
WHERE p.title LIKE '%{$q}%' OR p.post LIKE '%{$q}%'"

如第2行所示,“p”是“Posts”表的别名。 AS子句命名结果中的列(在本例中为“post”);

答案 1 :(得分:1)

“p.title”连接到“来自帖子p”。 “p”是别名。在“from”段中,如果添加此类别名,则可以使用别名前缀在查询中的任何位置引用此表的列。这对于连接尤其有用,当您多次连接相同的表或在不同的表中具有相同名称的列时。

“as”就是显示。它将显示之后指定的标题,而不是数据库中的原始列标题。

答案 2 :(得分:1)

查询中的

p称为表格的Referral / Alias。在实践中非常常见,在处理具有相同字段名称的多个表时非常有用。

更多细节在

http://www.keithjbrown.co.uk/vworks/mysql/mysql_p8.php

答案 3 :(得分:0)

它是该表的别名..当我从Post P写出像select *这样的查询意味着我必须写p。在该表的每一列之前,特别是该查询......这并不是那么令人困惑......

答案 4 :(得分:0)

FROM Posts p - 此处,p是表Posts的别名。这意味着在查询的其余部分中,您可以使用p而不是表名Posts。 您也可以使用FROM Posts as p

答案 5 :(得分:0)

虚线表示法的格式为table.columnas关键字表示别名,您可以选择column1作为column456FROM Posts p允许您在引用p表格时在查询中使用Posts作为简写表示法。

答案 6 :(得分:0)

您可以使用“AS”创建别名(列名),稍后可以在php $result['post']中检索该别名。同样适用于“帖子p”,它是“帖子为p”的简写,作为回报,您可以使用p作为查询其余部分的表名

答案 7 :(得分:0)

乍一看,查询似乎实现了一个非常简单的搜索引擎。 SUBSTR(p.post,1,300)将返回帖子文本的前200个字符。由于结果集中将有一个名为SUBSTR(p.post,1,300)的列,因此附加的AS子句会将此列重命名为post

LIKE是MySQL内置的字符串匹配函数,可让您对字符串进行简单的模式匹配。 %是匹配任何字符序列的通配符。 $ q可能是一个占位符,它被替换为查询运行时实际将被搜索的字符串。

答案 8 :(得分:0)

FROM Posts pFROM Posts AS p的缩写,可为查询中的表名创建别名。这意味着你可以写一个稍短的查询。

然后由于某种原因写出p.title,作者稍微回溯一下,这相当于title(如果他没有创建别名,则为Posts.title。)