sql 基础

数据定义语言(DDL):CREATE   ALTER    DROP

数据操作语言(dml):  insert  select  delete  update

数据控制语言(DCL)  GRANT// 赋权   REVOKE   //回收

事物控制语言   COMMIT \\提交        SAVEPOINT  \\保存点    ROLLBACK  \\回滚

 

插入数据:

insert  【into】 【列表名】 

values (值列表)

// into 可选 可以忽略

//表的列表可以省略  如果省略  将以此插入

一次插入多行数据:

insert  表名  (A,B,C)

select   A,B,C  UNION

select   A,B,C  UNION

select   A,B,C  UNION

更新数据

update 表名 

set  列名 =更新值

where  更新条件

 

删除数据

\\删除某一列

delect  from 表名

where 条件

 

\\删除整张表

\\truncate 删除的速度要比delect 快  使用的系统资源更加的少  删除的数据不可恢复

truncate table  表名

 

 

查询数据:

select <列名>

from <表名>

where <查询条件表达式>

group  by  分组条件

having  条件

order by <排序的列名> 【desc或asc】

 

多表连接查询:

select *  from 表名A

inner  join 表B  on (表a 。相同项=表b 。相同项)

inner  join  表C on  (表a 。相同项=表C 。相同项)

 

 

外连接查询:

\\左连接查询: 

左表的某行在右表没有匹配 ,则有相关联的结果集行中右表的所有选择列均为空值

 

\\右连接查询

右表的某行在左表没有匹配,则显示空值

 

就是以左边的为基础  左边有的  右边没有的  右边的则为空值  不显示

左边的全部列 多要显示

--

 

左select * from @a Aa left join @b Bb on Aa.a=Bb.a
右select * from @a Aa right join @b Bb on Aa.a=Bb.a
-内select * from @a Aa inner join @b Bb on Aa.a=Bb.a
-外:select * from @a Aa full join @b Bb on Aa.a=Bb.a
交叉连接: select * from @a cross join @b

模糊查询

通配符: select * from student  where SnAME  like ‘张%’

  select * from student  where SnAME  like ‘张——%’

 

在某个范围内查询

between a  and  b

使用in 在 列举值内 进行查询

select  * from  from student 

where  saddress   in(‘北京’。’上海‘。’广州‘)

 

avg  平均值

sum  求和

max  最大

min    最小

count   记录的行数

 

posted @ 2015-05-28 21:50  弯一步  阅读(96)  评论(0编辑  收藏  举报