遷移資料,可以複製自動編號啦!
set identity_insert data on
insert into data(id, a1, a2) select id, username, email from olddata
a. 重新命名表
下例將表 customers 重新命名為 custs。
exec sp_rename 'customers', 'custs'
b. 重新命名列
下例將表 customers 中的列 contact title 重新命名為 title。
exec sp_rename 'customers.[contact title]', 'title', 'column'
c.刪除列
alter table 表名 drop column 列名
d.新增列
alter table 表名 add 列名 varchar(20) null"
---------以下為(建立新列屬性)然後(複製舊列資料)後再(刪除舊列名)---------------------------------
--新增列
alter table table_a add column_c varchar(20)
go
--新增資料
update table_a set column_c=column_b
go
--新增預設
alter table table_a add constraint mycolumndef default 'c' for column_c
go
--刪除舊預設
declare @name varchar(20)
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='column_b' and b.name like 'df%'
exec('alter table table_a drop constraint '+@name)
go
--刪除舊列
alter table table_a drop column column_b
go----------------以下為刪除帶預設值的列名-------------
declare @name varchar(20)
select @name = b.name from sysobjects b join syscolumns a on
b.id = a.cdefault where a.id = object_id('table_name') and a.name = 'column_name'
exec('alter table test drop constraint '+@name)
去掉列的預設值後(其實是去掉列約束),再執行alter table table_name drop column column_name 語句,列被刪除了。當然也可以一起執行整個語句。
使用SQL語句操作表結構
刪除員工表 drop table db user 刪除角色表 drop table db role 清空 站 recycle bin purge recyclebin 建立角色資訊表 create table db role roleid varchar2 8 not null primary ke...
Sql 語句查詢表結構
sql2000系統表的應用 1 獲取當前資料庫中的所有使用者表 select name from sysobjects where xtype u and status 0 2 獲取某乙個表的所有字段 select name from syscolumns where id object id 表名...
sql 語句動態操作表
增加列 alter table tablename add p id bigint not null default 0 刪除列 alter table tablename drop column p id 設定主鍵 alter table tablename add constraint pk t...