以下操作均在SQL Server2008下完成
文章目录
前言
0基础学超有用的SQL语句,跟着做,一定会!!
下图是我使用的数据
一、增删改查
ps:sql对大小写不敏感,所以我一般都使用小写
1.增(insert into)
- insert into 表名字 values (值1,值2…);
- insert into 表名字 (指定列名1,指定列名2…)values (对应值1,对应值2…);
2.删(delete/drop)
- 删除某条语句
delete from 表名字 where …;- 删除所有数据(但表索引,结构,属性等不变)
delete from 表名字;- 删除表(整张表删除)
drop from 表名字;
3.改(update)
- 改某一行的值 (要在where)
update 表名字
set 列名1=新值1,列名2=新值2…
where (指定某一行)- 改所有值
update 表名字
set 列名1=新值1,列名2=新值2…
4.查(select)压轴登场
- select … from 表名字;
- distinct去除重复值
select distinct 列名 from 表名字;
- where加满足指定条件的查询,不能用聚合函数
select ... from 表名字 where 条件;
1.空值判断is null
查询某列的空值select * from 表名字 where 某列 = is null;
2.in
查询表中列=某多值select * from 表名字 where 列 in (值1,值2...)
3.like模糊查询
*% :表示多个字值,_ 下划线表示一个字符;
M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
%M% : 表示查询包含M的所有内容。
%M_ : 表示查询以M在倒数第二位的所有内容。
select .. from .. where 列名 like '..';
4.一些where子句中的运算符
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
大于
< 小于
= 大于等于
<= 小于等于
between 在某个范围内
- group by分组
select .. from .. group by 列名;
- order by排序
select .. from .. order by 列名;
默认升序!降序加desc
select .. from .. order by 列名 desc;
- select top 返回规定数目的查询结果
select top num(percent)列名 from 表;
- having筛选分组后的各组数据,可以使用聚合函数
二、高级教程
1.连接
-
inner join / join
select 列名 from 表1 inner join 表2 on 两个表相同的列名;
-
left join (以左边看齐,表1看齐)
从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
select 列名 from 表1 left join 表2 on 两个表相同的列名;
-
right join (以右边看齐)
从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。
select 列名 from 表1 right join 表2 on 两个表相同的列名;
-
full outer join
关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行
结合了right join 和 left join
select 列名 from 表1 full outer join 表2 on 两个表相同的列名;
2.union 合并
- union 合并两个或多个 SELECT 语句的结果,值只会出现一次
select 相同列 from 表1 union select 相同列 from 表2;
- union all 所有值,包括重复值
select 相同列 from 表1 union all select 相同列 from 表2;
3.select into 复制表
- select into
把表2的数据复制到表1select * into 表1 from 表2
- insert into select
从一个表复制数据,然后把数据插入到一个已存在的表中
将表2的数据插入到现有表1insert into 表1 select * from 表2
4.alter table
- 在表中添加列
alter table 表 add 列名 datatype数据类型
- 删除表中的列
alter table 表 drop column 列名
- 变表中列的数据类型
alter table 表 alter column 列名 数据类型
5.identity递增
IDENTITY 关键字来执行 auto-increment 任务
create table ... (id int identity(1,1),name varchar(50) not null);
identity(1,1)表示从第一行开始递增1
5.视图create view
create view view_name as select .. from 表 where 条件;
三、SQL函数
- avg()返回数列平均值
select avg(列) from 表;
- count()统计 count()包含空值 count(某一列)不包含空值*
- first() 函数返回指定的列中第一个记录的值
- last() 函数返回指定的列中最后一个记录的值
- max(),min(),sum()
- ucase()把字段的值转换为大写
- lcase()把字段的值转换为小写
mid()于从文本字段中提取字符用于mysql- len() 返回文本字段中值的长度
总结
以上是SQL的基础教程,可以掌握基本的sql语句,sql中还有一些更高级的函数,未完待续…