【整理】T-SQL

1.表创建
--创建表
create table tmp(
id
int identity(1,1) not null,--标识列,自动增加1
name varchar(10) not null
primary key(id)on [primary]--主键
)
 2.修改表
--修改列数据类型
alter table tmp alter column name nvarchar(20)
--修改表,增加列
alter table tmp add pwd varchar(32)
--修改表,删除列
alter table tmp drop column pwd
 3.删除表
--删除表
drop table tmp

 4.约束

--添加默认约束;
alter table tmp
add constraint [dk_name] default('匿名') for [name]
--添加检查约束,要求年龄
alter table tmp
add constraint ck_age check (ages between 20 and 60)
--添加主健约束,名称作为主健
alter table tmp
add constraint pk_id primary key (id)
--添加唯一约束,名称不能重复
alter table tmp
add constraint pk_name unique (name)

--删除约束
alter table tmp
drop constraint pk_name

5.索引

CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]

INDEX index_name

ON table_name (column_name…)

[WITH FILLFACTOR=x]
--UNIQUE表示唯一索引,可选
--
CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选
--
FILLFACTOR表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比

6.变量

--定义变量
declare @i int
--设置变量值
set @i=1
--使用变量
select * from tmp where id =@i
--全局变量用@@i

7.事务

--使用事务
declare @err int
set @err = 0
begin transaction
--操作1
--
此部分为sql语句(省略)
set @err = @err +abs(@@error)
--操作2
--
此部分为sql语句(省略)
set @err = @err +abs(@@error)
--没错就提交
if @err=0
commit
--否则回滚
else
rollback
8.试图
--视图
create view view_name
as
select * from sql语句

 9.存储过程

--存储过程
create proc proc_name
@id int,
@name varchar(20)
as
select * from tmp where [id] =@id and [name] =@name

10.触发器

--触发器
create trigger trigger_name
on table_name
for insert / delete/update
as
Sql语句块

11.逻辑语句

 --1条件:
    if(@age>90)
--语句块
else
--语句块

   
if(条件)
    
begin
--语句1
--语句2
.......
end
else
 
begin
--语句1
--语句2
.......
end
--2 循环语句
      while(@age > 90)
 
begin
语句1
语句2
.......
end
--3 case 多分支语句
select stuno, case
when age1=90 then 结果1
when age1=80 then 结果2
end
from stum

12.waitfor

--例 等待1 小时2 分零3 秒后才执行SELECT 语句
  waitfor delay ’01:02:03
  
select * from table_name

--例 等到晚上11 点零8 分后才执行SELECT 语句
waitfor time ’23:08:00
select * from table_name
13.like
select * from tmp where id = 1 and

name
= 'str_name'
name
like '% find this %'
name
like '[a-zA-Z]%' --------- ([]指定值的范围)
name like '[^F-M]%' --------- (^排除指定范围)
--
------- 只能在使用like关键字的where子句中使用通配符)

 14.distinct

--distinct指定检索独有的列值,不重复
select distinct name from tmp

15.常用函数(function)
Transact SQL 常用语句以及函数(图一)    转换函数Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一)    
convert(数据类型,值,格式)Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一) 统计函数 Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一)  
AVG --求平均值 
Transact SQL 常用语句以及函数(图一)
  COUNT --统计数目 
Transact SQL 常用语句以及函数(图一)
  MAX --求最大值 
Transact SQL 常用语句以及函数(图一)
  MIN --求最小值 
Transact SQL 常用语句以及函数(图一)
  SUM --求和 

--AVG 例子
  use pangu
  
select avg(e_wage) as dept_avgWage
  
from employee
  
group by dept_id  

Transact SQL 常用语句以及函数(图一)
  --MAX 求工资最高的员工姓名
  use pangu
  
select e_name
  
from employee
  
where e_wage =(select max(e_wage) from employee)  

Transact SQL 常用语句以及函数(图一)字符串函数 
Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一)  
ASCII() ------函数返回字符表达式最左端字符的ASCII 码值 
Transact SQL 常用语句以及函数(图一)
  CHAR() ------函数用于将ASCII 码转换为字符 
Transact SQL 常用语句以及函数(图一)
   ------如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值 
Transact SQL 常用语句以及函数(图一)
  LOWER() ------函数把字符串全部转换为小写 
Transact SQL 常用语句以及函数(图一)
  UPPER() ------函数把字符串全部转换为大写 
Transact SQL 常用语句以及函数(图一)
  STR() ------函数把数值型数据转换为字符型数据 
Transact SQL 常用语句以及函数(图一)
  LTRIM() ------函数把字符串头部的空格去掉 
Transact SQL 常用语句以及函数(图一)
  RTRIM() ------函数把字符串尾部的空格去掉 
Transact SQL 常用语句以及函数(图一)
  LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串 
Transact SQL 常用语句以及函数(图一)
  CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置 
Transact SQL 常用语句以及函数(图一)

数据类型转换函数 Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一)
CAST() 函数语法如下
CAST() ( AS [ length ])
  
CONVERT() 函数语法如下
CONVERT() ([ length ], [, style])
  
select cast(100+99 as char) convert(varchar(12), getdate())

Transact SQL 常用语句以及函数(图一)
日期函数 
Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一)  
DAY() ------函数返回date_expression 中的日期值 
Transact SQL 常用语句以及函数(图一)
  MONTH() ------函数返回date_expression 中的月份值 
Transact SQL 常用语句以及函数(图一)
  YEAR() ------函数返回date_expression 中的年份值 
Transact SQL 常用语句以及函数(图一)
  DATEADD( , ,) 
Transact SQL 常用语句以及函数(图一)   
-----函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期 
Transact SQL 常用语句以及函数(图一)
  DATEDIFF( , ,) 
Transact SQL 常用语句以及函数(图一)   
-----函数返回两个指定日期在datepart 方面的不同之处 
Transact SQL 常用语句以及函数(图一)

Transact SQL 常用语句以及函数(图一)  
DATENAME( ,  ------函数以字符串的形式返回日期的指定部分 
Transact SQL 常用语句以及函数(图一)
  DATEPART( ,  ------函数以整数值的形式返回日期的指定部分 
Transact SQL 常用语句以及函数(图一)
  GETDATE() ------函数以DATETIME 的缺省格式返回系统当前的日期和时间   
Transact SQL 常用语句以及函数(图一)

系统函数 
Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一)  
APP_NAME() ------函数返回当前执行的应用程序的名称 
Transact SQL 常用语句以及函数(图一)
  COALESCE() -----函数返回众多表达式中第一个非NULL 表达式的值 
Transact SQL 常用语句以及函数(图一)
  COL_LENGTH(<'table_name'><'column_name'> ----函数返回表中指定字段的长度值 
Transact SQL 常用语句以及函数(图一)
  COL_NAME(,  ----函数返回表中指定字段的名称即列名 
Transact SQL 常用语句以及函数(图一)
  DATALENGTH() -----函数返回数据表达式的数据的实际长度 
Transact SQL 常用语句以及函数(图一)
  DB_ID(['database_name']------函数返回数据库的编号 
Transact SQL 常用语句以及函数(图一)
  DB_NAME(database_id) ------函数返回数据库的名称 
Transact SQL 常用语句以及函数(图一)
  HOST_ID() -----函数返回服务器端计算机的名称 
Transact SQL 常用语句以及函数(图一)
  HOST_NAME() -----函数返回服务器端计算机的名称 
Transact SQL 常用语句以及函数(图一)
  IDENTITY([, seed increment][AS column_name]Transact SQL 常用语句以及函数(图一)
Transact SQL 常用语句以及函数(图一)  
ISDATE() ----函数判断所给定的表达式是否为合理日期 
Transact SQL 常用语句以及函数(图一)
  ISNULL(),  --函数将表达式中的NULL 值用指定值替换 
Transact SQL 常用语句以及函数(图一)
  ISNUMERIC() ----函数判断所给定的表达式是否为合理的数值 
Transact SQL 常用语句以及函数(图一)
  NEWID() ----函数返回一个UNIQUEIDENTIFIER 类型的数值 
Transact SQL 常用语句以及函数(图一)
  NULLIF(),  
Transact SQL 常用语句以及函数(图一)   
----NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回xpression1 的值 

posted on 2011-06-13 11:43  BarneyZhang  阅读(281)  评论(0编辑  收藏  举报

导航