SELECT 语句
用于从数据库中选取数据,结果被存储在一个结果表中,称为结果集。
语法:
select column_name from table_name;
SELECT DISTINCT语句
在表中,一个列可能 会包含多个重复值,有时候希望只列出不同值即可,跳过已出现过的值,而DISTINCT关键词表示返回唯一不同的值。
语法:
select distinct column_name from table_name;
WHERE 子句
WHERE子句用于提取那些满足指定条件的记录。
select column_name from table_name where column_name <operator> value;
operator,即运算符,例子:
select * from table_name where aaa=1;
表示:寻找table_name表里的所有数据的aaa列等于1
而支持的运算符有以下:
- =
- <> //不等于
- >
- <
=
- <=
- BETWEEN // 在某个范围内
- LIKE //搜索某种模式
- IN //指定针对某个列的多个可能值
AND & OR
主要是用于基于一个以上的条件对记录进行过滤。
果需要第一个条件与第二个条件同时成立,用AND,两个条件中如果至少一个条件成立,就用OR。
如:
表示country的值为CN,且alexa的值大于50
select * from table_name where country='CN' and alexa > 50
表示country的值为CN,或alexa的值大于50
select * from table_name where country='CN' or alexa > 50
当然可以结合一起使用
select * from table_name where (country='CN' or country='USA') and alexa > 50
ORDER BY
对一个结果集按照一个列或者多个列进行排序
语法:
select column_name from table_name order by column_name ASC|DESC
例子:
select * from from table_name order by alexa;
表示,根据该表的alexa列,按顺序从小到大排序。这是默认升序,如果 想降序,就使用DESC,前者其实是隐式使用了ASC,如下:
select * from from table_name order by alexa DESC;
这样就会降序排序。
可以多列排序
select * from from table_name order by alexa, num;
INSERT INTO
向表插入新记录
有两种写法:
无需指定要插入数据的列名,只需提供被插入的值即可:
insert into table_name values (value1, value2, value3,....);
需要指定要插入数据的列名,然后提供被插入的值:
inset into table_name (column1, column2, column3, ...) values (value1, value2, value3, ...);
UPDATE
用于更新表中的记录 。
语法:
update table_name set column1=value1, column2=value2,... where some_column=some_value
注意:如果不加where语句,就会默认全部更新。
例子:
update table_name set alexa="70000", num=123 where name="小明"
表示,更改小明的num的值为123,alexa值为70000。
DELETE
用于删除表中的记录。
语法:
delete from table_name where som_column=some_value
例子:
delete from table_name where name="小明" and sex="男"
删除name值为小明且sex值为“男”的数据