msq基础
一、检索数据
SELECT语句
1.检索单个列
SELECT prod_name
FROM products
上述语句用SELECT语句从products表中检索一个名prod_name的列,所需列名在SELECT关键字之后给出,FROM关键字指出从其中检索数据的表名
(返回数据的顺序可能是数据被添加到表中的顺序也可能不是。只要返回相同数目的行,就是正常的)
(多条mysql必须以分号分隔,sql语句不区大小)
2.检索多个列
SELECT prod_id ,prod_name,prod_price
FROM products;
和前一个例子一样,这条语句使用SELECT语句从表products中选择数据。在这个例子中,指定了3个列名,列名之间用逗号分隔。
3.检索所有列
除了指定所需的列外,SELECT语句还可以检索所有列而不必逐个列出它们。这可以通过在实际列名的位置使用星号(*)通配符来达到,如下所示:
SELECT *
FROM products
如果给定一个通配符(*),则返回表中所有列。列的顺序一般是列在表定义中出现的顺序。但当表的模式变化(如添加或删除列)可能会导致顺序的变化。
4.检索不同行
SELECT DISTINCT vend_id
FROM products
SELECT DISTINCT vend_id告诉MySQL只返回不同(唯一)的vend_id行
(不能部分使用DISTINCT,DISTINCT关键字应用于所有列而不仅是前置它的列)
5.限制结果
SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。他们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句。
SELCET prod_name
FROM products
LIMIT 5;
此语句使用SELECT语句检索单个列。LIMIT 5 指示MySQL返回不多于5行
为得出下一个5行,可指定要检索的开始行和行数,如下所示:
SELECT prod_name
FROM products
LIMIT 5,5
LIMIT 5,5指示MySQL返回从行5开始的5行。第一个数为开始位置,第二个数为要检索的行数。
(检索出来的第一行为行0而不是行1。因此,LIMIT 1,1将检索出第二行而不是第一行)