Sql语句的常用方法

 
1.如何将一个SQL Server表的结构复制到另一个新建的表中

    select * into 新表 from 旧表 where 0 = 1
2.修改字段默认值

    alter table 表名 add default 默认值 for 字段名
3. 取得数据库结构

    SELECT name from sysdatabases
4.增加列
   

alter table 表名 add 新字段 字段类型 NULL

ALTER TABLE<表名>
[ADD<新列名><数据类型>[完整性约束]]
[DROP<完整性约束名>]
[MODIFY<列名><数据类型>];

新增的字段对于表中已经存在的行而言最初将先填充空值。
你也可以同时在该字段上定义约束,使用通常的语法:
 ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
一个新字段不能用非空约束,因为最初的时候该字段必须包含空值。 但是你可以稍后增加一个非空约束。同样,你也不能在一个新字段 上定义缺省值。根据 SQL 标准的说明,这样需要对现存行的新 字段填充缺省值,而这个特性还没有实现。但是你可以稍后调整 字段缺省。

5.如何将一个库中的表导入到另一个库中呢
    use   目的库  
  go  
  if   exists(select   name   from   sysobjects   where   type='u'   id=object_id('表名'))  
  drop   table   表名  
  go  
  use   源库  
  go  
  select   *   into   目的库.dbo.表名   from   表名    
  go
6.如何将一个表中的数据部分导入到另一个表中

    insert into 新表(字段1,字段2,****) select 字段1,字段2,*** from 旧表
7.在SQL中进行分页
   假设已经创建一个表A,在存储过程中进行分页,排序
   create proc pro_Page
   @startRowIndex --开始索引值
   @maximumRows --显示的个数
   @sortBy  --排序字段
    as
    declare @totalCount int --总记录个数
    declare @sql varchar(8000) --SQL语句
    begin 
        select @totalCount = count(*) from A 
        set @sql = 'select top '+ convert(varchar(20),@maximumRows)+' from ' --因@maxmumRows是int
        set @sql= @sql +'('
        set @sql = @sql +' select top '+convert(varchar(20),(@totalCount-@startRowIndex)) + ' from A '
        set @sql =@sql +' order by A.' +@soryBy +' desc '
        set @sql = @sql + ') b' -- b代表查询出来的集合
        set @sql = @sql + ' order by  b.'+@sortBy
        exec(@sql)
    end

posted @ 2007-09-29 09:09  单车骑客  阅读(662)  评论(0编辑  收藏  举报