我愿称之为SQL小白学习教程

以下操作均在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的数据复制到表1 select * 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 .. fromwhere 条件;

三、SQL函数

  1. avg()返回数列平均值 select avg(列) from 表;
  2. count()统计 count()包含空值 count(某一列)不包含空值*
  3. first() 函数返回指定的列中第一个记录的值
  4. last() 函数返回指定的列中最后一个记录的值
  5. max(),min(),sum()
  6. ucase()把字段的值转换为大写
  7. lcase()把字段的值转换为小写
  8. mid()于从文本字段中提取字符 用于mysql
  9. len() 返回文本字段中值的长度

总结

以上是SQL的基础教程,可以掌握基本的sql语句,sql中还有一些更高级的函数,未完待续…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值