Chinaunix首页 | 论坛 | 博客
  • 博客访问: 117165
  • 博文数量: 10
  • 博客积分: 167
  • 博客等级: 入伍新兵
  • 技术积分: 109
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-19 22:25
文章分类

全部博文(10)

文章存档

2013年(1)

2012年(3)

2011年(6)

分类: 数据库开发技术

2011-10-21 11:12:26

-SQL常用命令
--数据的增删改查
  --增加数据(插入数据)
   insert into [表名]([字段],[字段]..) values(值,值,值..) --按需要字段填写
   insert into [表名] values(值,值,值..) --插入全部字段,自动增长列不写

  --删除数据(记得有外键先删除主键表里的相应内容)
   --删除表里的内容
    delete from [表名]
   --要是想删某一行就加where条件
    delete from [表名] where [字段]=值

  --修改数据(更新数据)
   --修改整个表内的数据
    update [表名] set [字段]=值
   --要是想修改某一行就加where条件
    update [表名] set [字段1]=值1 where [字段2]=值2

  --查询
    select [字段],[字段] from [表名]
   --条件查询
    select [字段],[字段] from [表名] where [字段]=值

   --升降序(一般加在查询语句末尾)
   --升序(默认)
    order by [字段] asc
   --降序
    order by [字段] desc
   --例子
    select [字段],[字段] from [表名] order by [字段] desc


--设置使用的数据库
use [数据库名]

--建立命令
 --建立数据库
   create database [数据库名]
   on
   (--数据库信息
    NAME='aaa', --逻辑名称aaa
    FILENAME='d:\bbb.mdf', --物理名称bbb(写全路径)
    SIZE=5mb, --数据库初始大小
    MAXSIZE=100mb, --增长的最大值
    FILEGROWTH=15%, --增长率
   )
   log on
   (--日志信息
    NAME='aaa', --逻辑名称aaa
    FILENAME='d:\bbb.ldf', --物理名称bbb(写全路径)
    SIZE=2mb, --数据库初始大小
    FILEGROWTH=1mb, --增长率
   )
   
 --建立表
   create table [表名]
   (
    --[字段] [数据类型] [列的特征],
    id int identity(1,1) not null,--identity(1,1) 是自动增长(起始值,递增值) ,not null 是不许为空(默认允许为空)
    name varchar(20) not null,
    )
 --给表添加约束
   alter table [表名]
   add constraint [约束名]
  --添加主键(pk) PriMary key([字段名])
    --唯一约束(uq) Unique ([字段名])
    --默认约束(df) default('默认文字') for [字段名]
    --检查约束(ck) check([字段名] between 15 and 40) --填写的数字在15-40之间
    --外键约束(fk) foreign key([字段名]) references [表名]([字段名])


--删除数据库
 --exists检查是否存在
   if exists(select * from sysdatabases where name = '[要删除的数据库名]')
   drop database [要删除的数据库名]

   if exists(select * from sysobjects where name = '[要删除的储存过程名]')
   drop database [要删除的储存过程名]

--变量的使用 (声明和使用要一起进行不然会找不到变量)
  declare @[变量名] [数据类型]
  --如 declare @name varchar(8)
   declare @age int

 --变量赋值
  set @name =值
  select @name =值

  --例子
    --查询信息 查找张三的信息
     declare @name varchar(8)
     set @name = '张三'
     select * from [表名] where [字段] = @name
 
    --赋值查询 查询与张三同龄的人
     declare @name varchar(8)
     declare @age int
     set @name = '张三'
     select @age = [字段] from [表名] where [字段]=@name
     select * from [表名] where [字段]=@age


 --全局变量 (两个@)
  @@error  最后一个T-SQL错误的错误号
  @@identity 最后一次插入的标识值
  @@rowcount 上一个sql语句影响行数


--事务
 --开始
  begin transaction
 --提交
  commit transaction
 --回滚
  rollback transaction

 --例子
   begin transaction
   declare @errorsum int --纪录错误
   @errorsum = 0    --初始化没有错误
   --SQL语句
   set @errorsum=@errorsum+@@error --累计是否出错
   --SQL语句
   set @errorsum=@errorsum+@@error
   --SQL语句
   set @errorsum=@errorsum+@@error
   if @errorsum <>0 --如果有错
     begin
     rollback transaction
     end
   else
     begin
     commit transaction
     end
   GO

--储存过程
 --建立
   create procedure [储存过程名]
    as
   declare @xx int ,
   declare @yy varchar(8) output (带有output为输出参数,否则视为输入参数)
   --SQL语句
   --SQL语句
   --SQL语句
   select @yy=值 ...
    GO
 --调用储存过程
   --无参数
    exec [储存过程名]  
   --有参数(顺序不能变,变量在储存过程内部的值为默认值)
    exec [储存过程名] @xx=[参数],@yy=[参数]
   --有输出参
    declare @yy varchar(8)
    exec [储存过程名] 值,@yy output
阅读(4512) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~