--數(shù)據(jù)操作
SELECT --從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列
INSERT --向數(shù)據(jù)庫表添加新數(shù)據(jù)行
DELETE --從數(shù)據(jù)庫表中刪除數(shù)據(jù)行
UPDATE --更新數(shù)據(jù)庫表中的數(shù)據(jù)?
--數(shù)據(jù)定義?
CREATE?TABLE --創(chuàng)建一個(gè)數(shù)據(jù)庫表
DROP?TABLE ?--從數(shù)據(jù)庫中刪除表?
ALTER?TABLE ?--修改數(shù)據(jù)庫表結(jié)構(gòu)
CREATE?VIEW ?--創(chuàng)建一個(gè)視圖?
DROP?VIEW ?--從數(shù)據(jù)庫中刪除視圖
CREATE?INDEX --為數(shù)據(jù)庫表創(chuàng)建一個(gè)索引
DROP?INDEX ?--從數(shù)據(jù)庫中刪除索引?
CREATE?PROCEDURE ?--創(chuàng)建一個(gè)存儲(chǔ)過程?
DROP?PROCEDURE --從數(shù)據(jù)庫中刪除存儲(chǔ)過程
CREATE?TRIGGER --創(chuàng)建一個(gè)觸發(fā)器?
DROP?TRIGGER --從數(shù)據(jù)庫中刪除觸發(fā)器
CREATE?SCHEMA --向數(shù)據(jù)庫添加一個(gè)新模式
DROP?SCHEMA ?--從數(shù)據(jù)庫中刪除一個(gè)模式
CREATE?DOMAIN --創(chuàng)建一個(gè)數(shù)據(jù)值域
ALTER?DOMAIN --改變域定義
DROP?DOMAIN ?--從數(shù)據(jù)庫中刪除一個(gè)域
--數(shù)據(jù)控制?
GRANT --授予用戶訪問權(quán)限
DENY --拒絕用戶訪問?
REVOKE --解除用戶訪問權(quán)限
--事務(wù)控制
COMMIT --結(jié)束當(dāng)前事務(wù)
ROLLBACK ?--中止當(dāng)前事務(wù)?
SET?TRANSACTION --定義當(dāng)前事務(wù)數(shù)據(jù)訪問特征
--程序化SQL?
DECLARE --為查詢設(shè)定游標(biāo)?
EXPLAN --為查詢描述數(shù)據(jù)訪問計(jì)劃
OPEN --檢索查詢結(jié)果打開一個(gè)游標(biāo)
FETCH --檢索一行查詢結(jié)果?
CLOSE --關(guān)閉游標(biāo)
PREPARE --為動(dòng)態(tài)執(zhí)行準(zhǔn)備SQL?語句?
EXECUTE --動(dòng)態(tài)地執(zhí)行SQL?語句
DESCRIBE ?--描述準(zhǔn)備好的查詢?
---局部變量
declare?@id?char(10)?
--set?@id?=?’10010001’?
select?@id?=?’10010001’
---全局變量?
---必須以@@開頭
--IF?ELSE
declare?@x?int?@y?int?@z?int
select?@x?=?1?@y?=?2?@z=3
if?@x?>?@y
print?’x?>?y’?--打印字符串’x?>?y’
else?if?@y?>?@z?
print?’y?>?z’?
else?print?’z?>?y’
--CASE?
use?pangu?
update?employee
set?e_wage?=
case
when?job_level?=?’1’?then?e_wage*1.08
when?job_level?=?’2’?then?e_wage*1.07
when?job_level?=?’3’?then?e_wage*1.06
else?e_wage*1.05
end?
--WHILE?CONTINUE?BREAK
declare?@x?int?@y?int?@c?int
select?@x?=?1?@y=1
while?@x?<?3?
begin
print?@x?--打印變量x?的值
while?@y?<?3?
?begin
select?@c?=?100*@x?+?@y
print?@c?--打印變量c?的值
select?@y?=?@y?+?1
?end
select?@x?=?@x?+?1
select?@y?=?1
end?
--WAITFOR?
--例?等待1?小時(shí)2?分零3?秒后才執(zhí)行SELECT?語句
waitfor?delay?’01:02:03’
select?*?from?employee
--例?等到晚上11?點(diǎn)零8?分后才執(zhí)行SELECT?語句
waitfor?time?’23:08:00’
select?*?from?employee?
***SELECT***?
?select?*(列名)?from?table_name(表名)?where?column_name?operator?value?
?ex:(宿主)?
select?*?from?stock_information?where?stockid ?=?str(nid)
?stockname?=?’str_name’
?stockname?like?’%?find?this?%’
?stockname?like?’[a-zA-Z]%’?---------?([]指定值的范圍)?
?stockname?like?’[^F-M]%’ ?---------?(^排除指定范圍)?
?---------?只能在使用like關(guān)鍵字的where子句中使用通配符)
?or?stockpath?=?’stock_path’
?or?stocknumber?<?1000
?and?stockindex?=?24
?not?stocksex?=?’man’
?stocknumber?between?20?and?100
?stocknumber?in(10,20,30)?
?order?by?stockid?desc(asc)?---------?排序,desc-降序,asc-升序?
?order?by?1,2?---------?by列號(hào)
?stockname?=?(select?stockname?from?stock_information where?stockid =?4)?
?---------?子查詢?

?---------?除非能確保內(nèi)層select只返回一個(gè)行的值,
?---------?否則應(yīng)在外層where子句中用一個(gè)in限定符?
select?distinct?column_name?form?table_name?---------?distinct指定檢索獨(dú)有的列值,不重復(fù)
select?stocknumber?,"stocknumber?+?10"?=?stocknumber?+?10?from?table_name?
select?stockname?,?"stocknumber"?=?count(*)?from?table_name?group?by?stockname?
---------?group?by?將表按行分組,指定列中有相同的值?
having?count(*)?=?2 --------- having選定指定的組
select?* from?table1,?table2
where?table1.id?*=?table2.id?--------?左外部連接,table1中有的而table2中沒有得以null表示
?table1.id?=*?table2.id?--------?右外部連接?
select?stockname?from?table1?
union?[all] ----- union合并查詢結(jié)果集,all-保留重復(fù)行?
select?stockname?from?table2
***insert***
insert?into?table_name?(Stock_name,Stock_number)?value?("xxx","xxxx")
value?(select?Stockname?,?Stocknumber?from?Stock_table2)---value為select語句
***update***
update?table_name?set?Stockname?=?"xxx"?[where?Stockid?=?3]
?Stockname?=?default
?Stockname?=?null
?Stocknumber?=?Stockname?+?4
***delete***?
delete?from?table_name?where?Stockid?=?3?
truncate?table_name?-----------?刪除表中所有行,仍保持表的完整性?
drop?table?table_name?---------------?完全刪除表
***alter?table***?---?修改數(shù)據(jù)庫表結(jié)構(gòu)?
alter?table?database.owner.table_name?add?column_name?char(2)?null?.....?
sp_help?table_name?----?顯示表已有特征
create?table?table_name?(name?char(20),?age?smallint,?lname?varchar(30))
insert?into?table_name?select?.........?-----?實(shí)現(xiàn)刪除列的方法(創(chuàng)建新表)
alter?table?table_name?drop?constraint?Stockname_default?----?刪除Stockname的default約束
***function(/*常用函數(shù)*/)***