創建數據庫
創建之前判斷該數據庫是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
刪除數據庫
drop database databasename
備份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],..)
根據已有的表創建新表:
A:go
use 原數據庫名
go
select * into 目的數據庫名.dbo.目的表名 from 原表名(使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
創建序列
create sequence SIMON_SEQUENCE
minvalue 1 -- 最小值
maxvalue 999999999999999999999999999 -- 最大值
start with 1 -- 開始值
increment by 1 -- 每次加幾
cache 20;
刪除新表
drop table tabname
增加一個列
Alter table tabname add colname coltype
刪除一個列
Alter table tabname drop column colname
添加主鍵
Alter table tabname add primary key(col)
說明:刪除主鍵:Alter table tabname drop primary key(col)
創建索引
create [unique] index idxname on tabname(col…。)
刪除索引
drop index idxname on tabname
注:索引是不可更改的,想更改必須刪除重新建。
創建視圖
create view viewname as select statement
刪除視圖
drop view viewname
簡單基本的sql語句
(1) 數據記錄篩選:
sql="select * from 數據表 where 字段名=字段值 order by 字段名 [desc]"
sql="select * from 數據表 where 字段名 like '%字段值%' order by 字段名 [desc]"
sql="select top 10 * from 數據表 where 字段名=字段值 order by 字段名 [desc]"
sql="select top 10 * from 數據表 order by 字段名 [desc]"
sql="select * from 數據表 where 字段名 in ('值1','值2','值3')"
sql="select * from 數據表 where 字段名 between 值1 and 值2"
(2) 更新數據記錄:
sql="update 數據表 set 字段名=字段值 where 條件表達式"
sql="update 數據表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式"
(3) 刪除數據記錄:
sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表" (將數據表所有記錄刪除)
(4) 添加數據記錄:
sql="insert into 數據表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)
(5) 數據記錄統計函數:
AVG(字段名) 得出一個表格欄平均值
COUNT(*;字段名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(字段名) 取得一個表格欄最大的值
MIN(字段名) 取得一個表格欄最小的值
SUM(字段名) 把數據欄的值相加
引用以上函數的方法:
sql="select sum(字段名) as 別名 from 數據表 where 條件表達式"
set rs=conn.excute(sql)
用 rs("別名") 獲取統計的值,其它函數運用同上。
查詢去除重復值:select distinct * from table1
幾個高級查詢運算詞
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),不消除重復行。
注:使用運算詞的幾個查詢結果行必須是一致的。
使用外連接
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 outer join
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
SQL 高級詞
1、TOP 子句用於規定要返回的記錄的數目
選取頭兩條記錄:
SELECT TOP 2 * FROM Persons
選取 50% 的記錄:
SELECT TOP 50 PERCENT * FROM Persons
2、LIKE 操作符用於在 WHERE 子句中搜索列中的指定模式。
提示:"%" 可用於定義通配符(模式中缺少的字母)。NOT LIKE
3、SQL 通配符
在搜索數據庫中的數據時,SQL 通配符可以替代一個或多個字符。
SQL 通配符必須與 LIKE 運算符一起使用。
在 SQL 中,可使用以下通配符: