SQL Server 已有数据库表的一些操作

--删除主键
  alter table 表名 drop constraint 主键名
--添加主键
  alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)
--添加非聚集索引的主键
  alter table 表名 add constraint 主键名 primary key NONCLUSTERED(字段名1,字段名2……)

--新增字段: 
  alter table [表名] add [字段名] nvarchar (50)  not null

--删除字段: 
 alter table  [表名] drop column  [字段名]

--修改字段: 
  alter table  [表名] alter column [字段名]  varchar (50)  not null

--重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表) 
  sp_rename \'表名\', \'新表名\', \'OBJECT\'

--新建约束: 
  alter TABLE [表名] add constraint 约束名 check ([约束字段] <= \'2000-1-1\')

--删除约束: 
  alter table [表名]  drop constraint 约束名

--新建默认值:
  alter table  [表名] add constraint  默认值名 default \'51WINDOWS.NET\' FOR [字段名]

--删除默认值:
  alter table  [表名] drop CONSTRAINT 默认值名

--删除Sql Server 中的日志,减小数据库文件大小 
  dump transaction 数据库名 with no_log 
  backup log 数据库名 with no_log 
  dbcc shrinkdatabase(数据库名) 
  exec sp_dboption \'数据库名\', \'autoshrink\', \'true\'

--\\\'添加字段通用函数:
  Sub AddColumn(TableName,ColumnName,ColumnType) 
  Conn.Execute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\") 
  End Sub

\\\'更改字段通用函数 
Sub ModColumn(TableName,ColumnName,ColumnType) 
Conn.Execute(\"Alter Table \"&TableName&\" Alter Column \"&ColumnName&\" \"&ColumnType&\"\") 
End Sub

\\\'检查表是否存在

sql=\"select count(*) as dida from sysobjects where id = object_id(N\'[所有者].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\"

set rs=conn.execute(sql)

response.write rs(\"dida\")\'返回一个数值,0代表没有,1代表存在


--判断表的存在:
  select * from sysobjects where id = object_id(N\'[dbo].[tablename]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1

--某个表的结构:
  select * from syscolumns where id = object_id(N\'[dbo].[你的表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1

--修改表的前缀:

  ALTER SCHEMA dbo TRANSFER prename.tablename;

--如果表2已经存在,把表1中的记录加到表2中的语句: 
  insert   into   表2   (字段1,字段2,...)   select   字段1,字段2,..   from   表2   where   ... 

--如果表2不存在,则用下面的语句会自动生成表2,字段的类型和表1一样: 
  select   字段1,字段2,..   INTO   表2   from   表1   where   ... 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值