1.了解数据库和表
1.1show
SHOW DATABASES;
SHOW DATABASES;返回可用数据库的一个列表。包含在这个列表中的可能是MySQL内部使用的数据库
SHOW TABLES;
为了获得一个数据库内的表的列表,使用SHOWTABLES;
SHOW STATUS,用于显示广泛的服务器状态信息;
SHOW GRANTS,用来显示授予用户(所有用户或特定用户)的安全权限;
SHOWERRORS和SHOWWARNINGS,用来显示服务器错误或警告消息。
1.2检索
SELECT
为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。
如 select* from table;
一条简单SELECT语句将返回表中所有行。数据没有过滤(过滤将得出结果集的一个子集),也没有排序。
多条SQL语句必须以分号(;)分隔。
SQL语句不区分大小写。
在处理SQL语句时,其中所有空格都被忽略。
1.2.1检索多个列
想从一个表中检索多个列,使用相同的SELECT语句。唯一的不同是必须在SELECT关键字后给出多个列名,列名之间必须以逗号分隔。
DISTINCT关键字去重
此关键字指示MySQL 只返回不同的值。
使用DISTINCT关键字,它必须直接放在列名的前面。
不能部分使用DISTINCT
DISTINCT关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT vend_id, prod_price,除非指定的两个列都不同,否则所有行都将被检索出来。
1.2.1限制结果limit
SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句。下面举一个例子:
SELECT prod_name FROM productsLIMIT 5;
此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回不多于5行。
带一个值的LIMIT总是从第一行开始,给出的数为返回的行数。带两个值的LIMIT可以指定从行号为第一个值的位置开始。
行0 检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1
将检索出第二行而不是第一行。
在行数不够时 LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行),MySQL将只返回它能返回的那么多行。