Sql Server語法
----創建數據庫
Create DATABASE database-name
----刪除數據庫
drop database dbname
----備份sql server
--- 創建 備份數據的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack',
'c:\mssql7backup\MyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack
---創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2
[not null],..)
---根據已有的表創建新表:
create table tab_new like tab_old ---(使用舊表創建新表)
create table tab_new as select col1,col2… from tab_old definition
---刪除新表
drop table tabname
---增加一個列
Alter table tabname add column col type
---------列增加后將不能刪除。DB2中列加上后數據類型也不能改變,唯一能改變是增加varchar類型的長度。
---添加主鍵: Alter table tabname add primary key(col)
---刪除主鍵: Alter table tabname drop primary key(col)
---創建索引:create [unique] index idxname on tabname(col….)
---刪除索引:drop index idxname
---索引是不可更改的,想更改必須刪除重新建。
---創建視圖:create view viewname as select statement
---刪除視圖:drop view viewname
---幾個簡單的基本的sql語句
--選擇:
select * from table1 where 范圍
--插入:
insert into table1(field1,field2) values(value1,value2)
--刪除:
delete from table1 where 范圍
--更新:
update table1 set field1=value1 where 范圍
--查找:
select * from table1 where field1 like ’%value1%’ ---like的語
--排序:
select * from table1 order by field1,field2 [desc]
--總數:
select count as totalcount from table1
--求和:
select sum(field1) as sumvalue from table1
--平均:
select avg(field1) as avgvalue from table1
--最大:
select max(field1) as maxvalue from table1
--最小:
select min(field1) as minvalue from table1
--隨機查詢數據
select newid()
---查詢所有表
select name from sysobjects where type='u'
--查詢表中有幾個列
select name from syscolumns where id=object_id('transinfo')
--初始化表
truncate table test
---壓縮數據庫
dbcc shrinkdatabase('testssh')
--轉移數據庫給新用戶以已存在用戶權限
exec sp_change_users_login 'update_one','whb','sa'
go
--檢查備份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
---日志清除
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
----SQL SERVER中直接循環寫入數據
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end
---存儲更改全部表
Create PROCEDURE dbo.User_ChangeObjectOwnerBatch
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS
DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)
DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name
OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
-- select @name,@NewOwner,@OldOwner
FETCH NEXT FROM curObject INTO @Name, @Owner
END
close curObject
deallocate curObject
GO