我的查询就像这样
select 5 from mytable_name;
然后输出就像列名5一样,值为5,打印该表中存在的最大行数。 任何人都能说出这个查询的工作原理吗?
答案 0 :(得分:2)
有人可以说出这个查询的工作原理吗?
您正在为表格中的每一行选择一个字符串文字值'5'
:
select 5 from mytable_name;
这很好用。因为在SELECT
语句中您可以选择:
由标准SQL 1 :
定义
<强>更新强>
但是,如果您的名称列是一个类似于您的情况的数字,则必须将其转义才能选择其中的值,如下所示:
SELECT `143` FROM Table1;
这将选择列143
中的所有行。
但是,这个:
SELECT 143 FROM Table1;
将为表中找到的每一行选择字符串文字143。
请注意:如果可能,请尽量不要以这种方式命名这些列,建议这是最佳做法,不要这样做。
请注意,如果您选择143
或'143'
,甚至"143"
,则会选择字面值143
而不是列日期。以下是相同的:
SELECT 143 FROM Table1;
SELECT '143' FROM Table1;
SELECT "143" FROM Table1;
所有这些SELECT
都不会选择列中的数据,它们将选择文字值143
而不是列数据。看这个演示:
您必须使用以下两个来转义列名:
``
像这样:
SELECT `143` FROM table1;
不
SELECT '143' FROM table1'
就像我在这里所做的那样:
答案 1 :(得分:1)
from mytable
如果没有缩小该结果的where
条件,将从表中选择所有行。和
select 5
将为每条记录选择常数5
。如果您在select
部分中使用列名,则将为每条记录选择该值。
数据库引擎会将结果命名为5
,因为它会自动生成列名称,而5是该名称的逻辑名称。
答案 2 :(得分:1)
你想要&#39; SELECT * FROM mytable_name LIMIT 0,5&#39;也许?
答案 3 :(得分:0)
由于where子句中没有任何内容,因此它会从表中选择所有行。您没有选择任何列的事实是无关紧要的 - 您仍然会得到表格中每一行的结果。
答案 4 :(得分:0)
使用命令select 5 ...
,您正在查看固定值。同样的事情你运行以下命令:select "test"
,你将显示一个固定的字符串
使用... from mytable_name
您正在查找此表的所有记录。
有了这个,我们可以得出结论,对于表mytable_name
中的每条记录,您都会显示固定值"5"
。