sql
简写
select
//选择所有列
select * from 表名;
//选择name列
select name from 表名;
distinct
过滤重复
select distinct 列1 from 表名;
where
使用where后的条件需要加单引号,有的也支持双引号,数值不需要加引号
操作符 | 描述 |
---|---|
= | 等于 |
<>(某些版本中写为 != ) | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
between | 范围(后面详细介绍) |
like | 某种查询模式(后面详细介绍) |
and && or | 后面会介绍 |
between
介于两个值之间的数据范围,不同的数据库之间,区间范围不同,需要自己查询
select * from 表名 where 列1 between 数据1 and 数据2
需要查询范围之外的数据使用not
select * from 表名 where 列1 not between 数据1 and 数据2
limit
注:limit后缀为整数
in
注:操作符
多用于where子句
select * from 表名 where 列1 in ('数据1','数据2') (查询表中同时存在列1和列2的数据)
not
注:关键字
like
模糊匹配
%(字符串)
以man开头的字符串
select * from 表名 where 列1 like 'man%';
以man结尾的字符串
select * from 表名 where 列1 like '%man';
任何位置包含man的字符串
select * from 表名 where 列1 like '%man%';
_(字符)
以字母man结尾的四个字母
select * from 表名 where 列1 like '_man';
[](指定范围(a-d)或集合[ashfe])
[^](非指定范围(a-d)或集合[ashfe])
[!](排除,表单个字符)
[]表示集合时,可以是集合中的任意单个字符
select * from 表名 where 列1 like '[qi]zzz[zh]n';
[]表示范围时,可以是以man结尾,从[*-*]的任意单个字母
select * from 表名 where 列1 like '[c-j]man';
*表示多个字符, ?表示单个字符, #表示单个数字
and && or
and表示两个条件都满足时,查询出的语句
or表示两个条件只要有一个条件满足,查询出的语句
两个词可以联合使用
select * from 表名 where (列1='数据1' or 列2='数据2') and 列3='数据3'
order by
排序(默认升序) 降序需要添加 desc关键字,升序为asc关键字
create table
创建表格
create table 表名(
列1 数据类型,
列2 数据类型,
);
insert into
向列中添加值
insert into 表名(列1,列2) values(数据1,数据2);
update
修改数据
update 表名 set 列2 = 数据2 where 列1 =数据1;(根据列1修改列2)
alter table
修改表,增删改列
添加列
alter table 表名 add column 列1 数据类型;
删除列
alter table 表名 drop column 列1 数据类型;
dalete
删除表中的不存在的行
delete from 表名 where 列1 is null;
在不删除表的情况下删除所有行
delete from 表名
top
(并不是所有数据可都支持top子句)
注:不同数据库中top语句的使用有细微差别
sql server语法
select top 数字 列名 from 表名 (查询表中前数字名的列)
select top 数字 percent 列名 from 表名 (查询表中前百分比的列)
mysql语法
select * from 表名 limit 数字 (查询表中数字条数据)
Oracle语法
select * from 表名 where rownum<=数字 (查询表中数字条数据)