【MySQL必知必会】搬运工

3章 使用MySQL

USE  DATABASES;    选择数据库操作, DATABASES为你要使用的数据库名称。

SHOW  DATABASES;  返回可用数据库的一个列表。

SHOW  TABLES;   返回当前选择的数据库内可用表的列表。

SHOW  COLUMNS FROM 表名;   返回表中的列信息,包含字段名、数据类型、是否允许Null、键信息、默认值等其他信息。

自动增量:某些表列需要唯一值,可设为自动增量,MySQL可自动为每行分配一个可用编号。

DESCRIBE 表名;   这语句是SHOW  COLUMNS FROM 表名; 的快捷方式。

SHOW STATUS;   显示服务器状态信息

SHOW CREATE 数据库名;   显示创建特定的数据库

SHOW CREATE 表名;   显示创建特定的表

SHOW GRANTS; 显示授予用户的安全权限

SHOW ERRORS;显示服务器错误消息

SHOW WARNINGSS;显示服务器警告消息

第四章 检索数据

SELECT语句

SELECT 列名 FROM 表名;    从表中检索某一列数据,返回的是无排序无过滤的结果,显示所有行

SQL语句以分号结束;SQL语句不区分大小写,但是为了便于阅读和调试,SQL语句的关键字使用大写,列名、表名使用小写。

在处理SQL语句时,所有空格都被忽略,因此一个语句可以在一行给出,也可以分多行给出。

SELECT 列名1,列名2,列名3  FROM 表名;   检索多个列,用逗号隔开

SELECT  *  FROM  表名;  返回表中的所有列

SELECT  DISTINCT 列名 FROM 表名; 返回列中不同(唯一)的行,DISTINCT放在列名前面。不能部分使用DISTINCT,即SELECT  DISTINCT 列名1,列名2  FROM 表名;DISTINCT关键字应用于所有列,而不仅是前置它的列。

SELECT 列名 FROM 表名 LIMIT  n; 指定检索返回数不超过n

SELECT 列名 FROM 表名 LIMIT  n1,n2; 指定检索开始行和最大行数,注意,检索出来的行0而不是行1,因此,LIMIT 1,1将检索出第二行而不是第一行。

SELECT 表名.列名 FROM 表名;使用完全限定的列名,表名也可以完全限定为(数据库名.表名)

第五章 排序检索数据

SELECT 列名1  FROM 表名  ORDER  BY 列名2 ;  按一个列排序:列名2可以为列名1,也可以是表中的除选择列1的其他列,返回列1所有行,以列2排序

SELECT 列名1,列名2,列名3  FROM 表名  ORDER  BY 列名3,列名4 ;   按多个列排序返回列1,列2,列3所有行,以列3排序,列3有相等的,以列4排序。列34为表中任意两列,根据需要选择。

SELECT 列名1  FROM 表名  ORDER  BY 列名2 DESC,列名3;   指定排序方向:默认升序排列,加关键字DESC后按降序排列,DESC只应用到位于其前面的列名,对列名3不指定。如果要在多个列上降序排序,则必须对多个列指定DESC关键字。

第六章 过滤数据

使用where 子句

在同时使用ORDER BY WHERE 子句时,ORDER BY 放在WHERE 后面。

WHERE 操作符:=(等于) ,<>(不等于) , !=(不等于)  ,< (小于), >(大于),<=(小于等于),>=(大于等于),BETWEEN(在指定的两个值之间)  

SELECT 列名1  FROM 表名 WHERE子句;  如果子句要使用的条件包含字符串,则需要单引号限定

SELECT 列名1  FROM 表名 WHERE 列名BETWEEN  n1 AND n2;  范围值检查

SELECT 列名1  FROM 表名 WHERE 列名 IS NULL; 空值检查

第七章 数据过滤

组合WHERE子句

SELECT 列名1,列名2  FROM 表名 WHERE 子句1  AND  子句2

式子中AND是关键字,这如果两个子句条件表示的是或的含义则用OR操作符。可以AND ,OR 多个条件并列。

AND在计算次序中优先级更高,有可能会错误组合。用圆括号解决

如:SELECT nameprice  FROM product  WHERE (id=1 OR id =2) AND price>=10;

SELECT nameprice  FROM product  WHERE  id=1 OR id =2 AND price>=10;这语句是检索id=2并且price>=10的产品或者id=1的产品。

IN操作符

如:SELECT nameprice  FROM  product  WHERE  id  IN  (1002,1003) ORDER BY name;

=SELECT nameprice  FROM  product  WHERE  (id=1002 OR id=1003) ORDER BY name;

NOT操作符

如:SELECT nameprice  FROM  product  WHERE  id NOT  IN  (1002,1003) ORDER BY name;

你可能感兴趣的:(数据库)