SELECT 语句

用于从数据库中选取数据,结果被存储在一个结果表中,称为结果集。
语法:

  1. select column_name from table_name;

SELECT DISTINCT语句

在表中,一个列可能 会包含多个重复值,有时候希望只列出不同值即可,跳过已出现过的值,而DISTINCT关键词表示返回唯一不同的值。
语法:

  1. select distinct column_name from table_name;

WHERE 子句

WHERE子句用于提取那些满足指定条件的记录。

  1. select column_name from table_name where column_name <operator> value;

operator,即运算符,例子:

  1. select * from table_name where aaa=1;

表示:寻找table_name表里的所有数据的aaa列等于1
而支持的运算符有以下:

  • =
  • <> //不等于
  • >
  • <
  • =

  • <=
  • BETWEEN // 在某个范围内
  • LIKE //搜索某种模式
  • IN //指定针对某个列的多个可能值

AND & OR

主要是用于基于一个以上的条件对记录进行过滤。
果需要第一个条件与第二个条件同时成立,用AND,两个条件中如果至少一个条件成立,就用OR。
如:
表示country的值为CN,且alexa的值大于50

  1. select * from table_name where country='CN' and alexa > 50

表示country的值为CN,或alexa的值大于50

  1. select * from table_name where country='CN' or alexa > 50

当然可以结合一起使用

  1. select * from table_name where (country='CN' or country='USA') and alexa > 50

ORDER BY

对一个结果集按照一个列或者多个列进行排序
语法:

  1. select column_name from table_name order by column_name ASC|DESC

例子:

  1. select * from from table_name order by alexa;

表示,根据该表的alexa列,按顺序从小到大排序。这是默认升序,如果 想降序,就使用DESC,前者其实是隐式使用了ASC,如下:

  1. select * from from table_name order by alexa DESC;

这样就会降序排序。
可以多列排序

  1. select * from from table_name order by alexa, num;

INSERT INTO

向表插入新记录
有两种写法:
无需指定要插入数据的列名,只需提供被插入的值即可:

  1. insert into table_name values (value1, value2, value3,....);

需要指定要插入数据的列名,然后提供被插入的值:

  1. inset into table_name (column1, column2, column3, ...) values (value1, value2, value3, ...);

UPDATE

用于更新表中的记录 。
语法:

  1. update table_name set column1=value1, column2=value2,... where some_column=some_value

注意:如果不加where语句,就会默认全部更新。
例子:

  1. update table_name set alexa="70000", num=123 where name="小明"

表示,更改小明的num的值为123,alexa值为70000。

DELETE

用于删除表中的记录。
语法:

  1. delete from table_name where som_column=some_value

例子:

  1. delete from table_name where name="小明" and sex="男"

删除name值为小明且sex值为“男”的数据