sqlserver常用語句

2021-08-25 11:24:56 字數 3201 閱讀 6896

–刪除主鍵

alter table 表名 drop constraint 主鍵名

–新增主鍵

alter table 表名 add constraint 主鍵名 primary key(欄位名1,欄位名2……)

–新增非聚集索引的主鍵

alter table 表名 add constraint 主鍵名 primary key nonclustered(欄位名1,欄位名2……)

新建表:

create table [表名]

( [自動編號字段] int identity (1,1) primary key ,

[欄位1] nvarchar(50) default \』預設值\』 null ,

[欄位2] ntext null ,

[欄位3] datetime,

[欄位4] money null ,

[欄位5] int default 0,

[欄位6] decimal (12,4) default 0,

[欄位7] image null ,

)刪除表:

drop table [表名]

刪除所有表:

declare curitems cursor

for select [name] from sysobjects where xtype=』u』

for read only

open curitems

declare @n nvarchar(100),@m nvarchar(100)

fetch from curitems into @n

while @@fetch_status=0

begin

set @m=@n

exec(『drop table 』 + @m)

fetch next from curitems into

@n end

close curitems

deallocate curitems

插入資料:

insert into [表名] (欄位1,欄位2) values (100,\』51windows.net\』)

刪除資料:

delete from [表名] where [欄位名]>100

更新資料:

update [表名] set [欄位1] = 200,[欄位2] = \』51windows.net\』 where [欄位三] = \』haiwa\』

新增字段:

alter table [表名] add [欄位名] nvarchar (50) null

刪除字段:

alter table [表名] drop column [欄位名]

修改字段:

alter table [表名] alter column [欄位名] nvarchar (50) 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 …

SQLSERVER常用語句

dbcc cleantable db name table name alter table drop column語句刪除可變長度列或text dbcc dbreindex 重建指定資料庫的乙個或多個索引 dbcc indexdefrag 對錶或檢視上的索引和非聚集索引進行碎片整理 dbcc pi...

SQL Server效能常用語句

檢視各表的資料行數 select o.name,i.rows from sysobjects o,sysindexes i where o.id i.id and o.xtype u and i.indid 2 order by o.name 計算資料庫中各個表每行記錄所占用空間 select fr...

SQL Server 常用語句合集

1 對資料進行排序 select row number over order by a.articleid desc as rn row number 計算一行在結果集中的行號,可以當作是唯一的排名。rank over order by a.typeid desc rank 和dense rank ...