自己总结的一些T-SQL建库建表建约束的知识.

1.创建数据库的语法
    create database 数据库名
    (
        name=逻辑名称,
        filename='物理名称'
        size=初始大小,
        maxsize=最大容量,        --unlimited,    --无限大
        filegrowth=增长比例
    )

2.判断数据库或者表或者索引等是否存在
    if exists(查询数据库名或者表名或者索引名等的查询语句)
    数据库名在:sysdatabases表中
    表名/存储过程在:sysobjects表中
    索引名在:sysindexes表中
 
3.创建表的语法
    create table 表名
    (
        列名 数据类型 是否为空 约束类型
    )
    
4.定义变量
    declare @变量名 数据类型
  变量赋值
    set @变量名=select @变量名=列名 from 表名  //返回单个值或者要在查询中保存结果到变量
  变量的输出
    print
    
5.创建索引
    create [nonclustered] index 索引名        //中括号内的参数可选
        on 表名(列名)
            with fillfactor=--值为1-100之间的数,通常为70左右
            
6.创建试图
    create view 视图名
    as
    sql语句
    
7.创建存储过程
    create procedure 存储过程名[@输入参数 数据类型=默认值,@输出参数 数据类型 output=默认值]
    //可以创建带参和不带参的,也可以指定是否带默认值,参数可以有输入参数和输出参数,输出参数后面跟output
    
8.使用存储过程
    使用exec 存储过程名 [输入参数,输出参数 output]
    如果带有输出参数必须先定义变量 使用变量接受输出参数
    即:
    declare @变量名 数据类型
    exec 存储过程名 输入参数值,@变量名 output
    
9.删除数据库//索引
    drop database 数据库名
    drop table 表名
    drop index 表名.索引名
    drop procedure 存储方法名
    drop view 视图名
    
10.创建约束
    alter table 表名 add constraint 约束名 约束类型
    主键约束:primary key(列名)
    外键约束:foregin key(列名) references 主表名(主键名)
    唯一约束:unique(列名)
    默认约束:default(默认值) for 列名
    check约束:check(条件)
    //标识列可以在创建列的时候,使用identity(1,1)
    
11.逻辑控制语句
    begin-end        --相当于{},既if,while内带多条语句的时候需要使用begin-end包含起来
    if-else            --和C#内的用法一样

    whlie            --使用方法和C#内一样,另不固定的循环次数可以使用(1=1)
    case when-then end    --列名=case when(如果)..then(那么)..
    
12.子查询
    如果返回单个值直接用=号连接括号里的子查询
    如果结果返回多个值就用in连接括号后面的子查询
    
13.在磁盘中创建文件夹的语法
    exec xp_cmdshell 'mkdir 要创建的文件夹路径'

14.分页查询
    row_number() over (order by 列名)
    例:
    DECLARE @pageIndex INT        --第一页
    DECLARE @pageSize INT        --每页显示几行
    set @pageIndex=第几页
    set @pageIndex=每页显示几行
    select * from (select=row_number() over(oredr by 列名) ,*from 表名) as 别名
    wherebetween (@pageIndex-1)*@pageSize+1 and @pageIndex*@pagesize
    
15.去掉重复的
    distinct(列名)
    
16.异常处理
    raiserror('输出文字%d(%s)',1-16的值,1,int类型变量(字符串类型变量))
    
17.随机数的产生
    例:产生一个5位编号,头两位是'DF',后3位使用随机产生的数.
    DECLARE @rand NUMERIC(4,3),@num VARCHAR(5)
    SET @rand=rand()
    SET @num='DF'+substring(CONVERT(VARCHAR(5),@rand),3,3)
    PRINT @num
    
18.往一个表中添加新的列
    alter table 表名 add 列名 数据类型
    
19.删除约束
    alter table 表名 drop constraint 约束名
    
20.查看数据库属性
    exec sp_helpdb 数据库名
    
21.修改列数据类型:
    alter table 表名 alter column 列名 数据类型 列状态
    
22.删除表中指定列:
    alter table 表名 drop column 列名
    
23.默认值对象
    //创建
    create default 默认值对象名 as 默认值
    //绑定
    exec sp_bindefault 默认值对象名,'表名.列名'
    //取消绑定
    exec sp_unbindefault 默认值对象名,'表名.列名'
    //删除默认值对象
    drop default 默认值对象名
    
24.规则约束对象
    //创建
    create rule 规则约束对象名 as 约束
    //绑定
    exec sp_binrule 规则约束对象名,'表名.列名'
    //取消绑定
    exec sp_unbinrule 规则约束对象名,'表名'
    //删除规则约束对象
    drop rule 规则约束对象名

 

转载于:https://www.cnblogs.com/hidelin/archive/2012/09/24/2700700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值