1. 程式人生 > >SQL SERVER 經典語句大全必學(1)——基礎篇

SQL SERVER 經典語句大全必學(1)——基礎篇

一、基礎

1、說明:建立資料庫
CREATE DATABASE database-name

2、說明:刪除資料庫
drop database dbname

3、說明:備份sql server
--- 建立 備份資料的device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack

4、說明:建立新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..

)

根據已有的表建立新表: 
A:create table tab_new like tab_old (使用舊錶建立新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、說明:刪除新表
drop table tabname

6、說明:增加一個列
Alter table tabname add column col type

列增加後將不能刪除。DB2中列加上後資料型別也不能改變,唯一能改變的是增加varchar型別的長度。
7、說明:新增主鍵
Alter table tabname add primary key(col) 


說明:刪除主鍵Alter table tabname drop primary key(col) 
8、說明:建立索引create [unique] index idxname on tabname(col….) 
刪除索引drop index idxname
注:索引是不可更改的,想更改必須刪除重新建。
9、說明:建立檢視create view viewname as select statement 
刪除檢視drop view viewname
10、說明:幾個簡單的基本的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
11、說明:幾個高階查詢運算詞
A: 
UNION 運算子

UNION 運算子通過組合其他兩個結果表(例如TABLE1 和TABLE2)並消去表中任何重複行而派生出一個結果表。當ALL 隨UNION 一起使用時(即UNION ALL),不消除重複行。兩種情況下,派生表的每一行不是來自TABLE1 就是來自TABLE2。 
B:EXCEPT運算子 
EXCEPT
運算子通過包括所有在TABLE1 中但不在TABLE2 中的行並消除所有重複行而派生出一個結果表。當ALL 隨EXCEPT 一起使用時(EXCEPT ALL),不消除重複行。
C:INTERSECT 運算子
INTERSECT
運算子通過只包括TABLE1 和TABLE2 中都有的行並消除所有重複行而派生出一個結果表。當 ALL隨INTERSECT 一起使用時(INTERSECT ALL),不消除重複行。 
注:使用運算詞的幾個查詢結果行必須是一致的。 
12、說明:使用外連線 
A、left (outer)join
外連線(左連線):結果集幾包括連線表的匹配行,也包括左連線表的所有行。 
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

B:right (outer)join: 
右外連線(右連線):結果集既包括連線表的匹配連線行,也包括右連線表的所有行。 
C:full/cross(outer)join: 
全外連線:不僅包括符號連線表的匹配行,還包括兩個連線表中的所有記錄。
12、分組:Group by:
    
一張表,一旦分組 完成後,查詢後只能得到組相關的資訊。
    
組相關的資訊:(統計資訊)count,sum,max,min,avg  分組的標準)
  
  在SQLServer中分組時:不能以text,ntext,image型別的欄位作為分組依據
    在selecte統計函式中的欄位,不能和普通的欄位放在一起;

13、對資料庫進行操作:
    
分離資料庫
sp_detach_db;附加資料庫sp_attach_db後接表明,附加需要完整的路徑名
14.如何修改資料庫的名稱:

sp_renamedb 'old_name', 'new_name'