SQL數(shù)據(jù)庫語句大全大全(完全整理版)_第1頁
SQL數(shù)據(jù)庫語句大全大全(完全整理版)_第2頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、SQL 語句大全- 語 句 功 能-數(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)建一個數(shù)據(jù)庫表DROP TABLE - 從數(shù)據(jù)庫中刪除表ALTER TABLE - 修改數(shù)據(jù)庫表結(jié)構(gòu)CREATE VIEW - 創(chuàng)建一個視圖DROP VIEW - 從數(shù)據(jù)庫中刪除視圖CREATE INDEX - 為數(shù)據(jù)庫表創(chuàng)建一個索引DROP INDEX - 從數(shù)據(jù)庫中刪除索引CREATE PROCEDURE - 創(chuàng)建一個存儲過程DROP PROCED

2、URE -從數(shù)據(jù)庫中刪除存儲過程CREATE TRIGGER - 創(chuàng)建一個觸發(fā)器DROP TRIGGER -從數(shù)據(jù)庫中刪除觸發(fā)器CREATE SCHEMA - 向數(shù)據(jù)庫添加一個新模式DROP SCHEMA - 從數(shù)據(jù)庫中刪除一個模式CREATE DOMAIN - 創(chuàng)建一個數(shù)據(jù)值域ALTER DOMAIN - 改變域定義DROP DOMAIN - 從數(shù)據(jù)庫中刪除一個域-數(shù)據(jù)控制GRANT - 授予用戶訪問權(quán)限D(zhuǎn)ENY - 拒絕用戶訪問REVOKE - 解除用戶訪問權(quán)限-事務(wù)控制COMMIT - 結(jié)束當(dāng)前事務(wù)ROLLBACK - 中止當(dāng)前事務(wù)SET TRANSACTION - 定義當(dāng)前事務(wù)數(shù)據(jù)訪問

3、特征-程序化 SQLDECLARE - 為查詢設(shè)定游標(biāo)EXPLAN - 為查詢描述數(shù)據(jù)訪問計劃OPEN -檢索查詢結(jié)果打開一個游標(biāo)FETCH - 檢索一行查詢結(jié)果CLOSE -關(guān)閉游標(biāo)PREPARE -為動態(tài)執(zhí)行準備 SQL 語句EXECUTE - 動態(tài)地執(zhí)行 SQL 語句DESCRIBE - 描述準備好的查詢-局部變量declare id char(10)-set id = '10010001' select id = '10010001'-全局變量-必須以開頭-IF ELSEdeclare x int y int z int select x = 1 y =

4、 2 z=3 if x > yprint 'x > y' - 打印字符串 'x > y'else if y > z print 'y > z'else print 'z > y'-CASEuse pangu update employee set e_wage = casewhen job_level = 1 then e_wage*1.08when job_level = 2 then e_wage*1.07 when job_level = 3 then e_wage*1.06 else e

5、_wage*1.05end-WHILE CONTINUE BREAKdeclare x int y int c int select x = 1 y=1while x < 3 beginprint x - 打印變量 x 的值while y < 3 beginselect c = 100*x + y print c -打印變量 c 的值select y = y + 1endselect x = x + 1 select y = 1end-WAITFOR-例 等待 1 小時 2 分零 3 秒后才執(zhí)行 SELECT 語句waitfor delay 01:02:03 select * fr

6、om employee-例 等到晚上 11 點零 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 %'stocknam

7、e like 'a-zA-Z%' - ( 指定值的范圍 )stockname like 'F-M%' - ( 排除指定范圍 )-只能在使用 like 關(guān)鍵字的 where 子句中使用通配符 ) or stockpath = 'stock_path'or stocknumber < 1000 and stockindex = 24 not stock* = 'man'stocknumber between 20 and 100 stocknumber in(10,20,30)order by stockid desc(asc)

8、 - 排序, desc-降序, asc-升序order by 1,2 - by 列號stockname = (select stockname from stock_information where stockid = 4)-子查詢-除非能確保內(nèi)層 select只返回一個行的值,-否則應(yīng)在外層 where 子句中用一個 in 限定符select distinct column_name form table_namedistinct指定檢索獨有的列值,不重復(fù)select stocknumber ,"stocknumber + 10" = stocknumber + 10

9、from table_name select stockname , "stocknumber" = count(*) from table_name group by stockname- group by 將表按行分組 ,指定列中有相同的值having count(*) = 2 - having 選定指定的組select *from table1, table2where table1.id *= table2.id - 左外部連接, table1 中有的而 table2 中沒有得以 null 表示table1.id =* table2.id右外部連接select st

10、ockname from table1union 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 = "

11、;xxx" where Stockid = 3 Stockname = defaultStockname = null Stocknumber = Stockname + 4*delete*delete from table_name where Stockid = 3truncate 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

12、table_name顯示表已有特征create table table_name (name char(20), age smallint, lname varchar(30) insert into table_name select .實現(xiàn)刪除列的方法(創(chuàng)建新表)alter table table_name drop constraint Stockname_default -刪除 Stockname的default 約束*function(/* 常用函數(shù) */)*-統(tǒng)計函數(shù) -AVG - 求平均值COUNT - 統(tǒng)計數(shù)目MAX - 求最大值MIN - 求最小值SUM - 求和-AVGus

13、e panguselect avg(e_wage) as dept_avgWagefrom employee group by dept_id-MAX-求工資最高的員工姓名use panguselect e_name from employee where e_wage =(select max(e_wage) from employee)-STDEV()-STDEV() 函數(shù)返回表達式中所有數(shù)據(jù)的標(biāo)準差-STDEVP()-STDEVP() 函數(shù)返回總體標(biāo)準差-VAR()-VAR() 函數(shù)返回表達式中所有值的統(tǒng)計變異數(shù)-VARP()-VARP() 函數(shù)返回總體變異數(shù)-算術(shù)函數(shù) -/* 三角函數(shù)

14、 */SIN(float_expression) -返回以弧度表示的角的正弦COS(float_expression) -返回以弧度表示的角的余弦TAN(float_expression) - 返回以弧度表示的角的正切COT(float_expression) -返回以弧度表示的角的余切/* 反三角函數(shù) */ASIN(float_expression) -返回正弦是 FLOAT值的以弧度表示的角ACOS(float_expression) -返回余弦是 FLOAT 值的以弧度表示的角ATAN(float_expression) - 返回正切是 FLOAT 值的以弧度表示的角ATAN2(floa

15、t_expression1,float_expression2)-返回正切是 float_expression1 /float_expres-sion2的以弧度表示的角DEGREES(numeric_expression)-把弧度轉(zhuǎn)換為角度返回與表達式相同的數(shù)據(jù)類型可為-INTEGER/MONEY/REAL/FLOAT類型RADIANS(numeric_expression) - 把角度轉(zhuǎn)換為弧度返回與表達式相同的數(shù)據(jù)類型可為-INTEGER/MONEY/REAL/FLOAT類型EXP(float_expression) -返回表達式的指數(shù)值LOG(float_expression) -返回表

16、達式的自然對數(shù)值LOG10(float_expression)-返回表達式的以 10 為底的對數(shù)值SQRT(float_expression) -返回表達式的平方根/* 取近似值函數(shù) */CEILING(numeric_expression) -返回>=表達式的最小整數(shù)返回的數(shù)據(jù)類型與表達式相同可為-INTEGER/MONEY/REAL/FLOAT類型FLOOR(numeric_expression) -返回<=表達式的最小整數(shù)返回的數(shù)據(jù)類型與表達式相同可為-INTEGER/MONEY/REAL/FLOAT類型ROUND(numeric_expression) -返回以 integ

17、er_expression 為精度的四舍五入值返回的數(shù)據(jù)-類型與表達式相同可為 INTEGER/MONEY/REAL/FLOAT類型ABS(numeric_expression) -返回表達式的絕對值返回的數(shù)據(jù)類型與表達式相同可為-INTEGER/MONEY/REAL/FLOAT類型SIGN(numeric_expression) -測試參數(shù)的正負號返回 0 零值 1 正數(shù)或 -1 負數(shù)返回的數(shù)據(jù)類型-與表達式相同可為 INTEGER/MONEY/REAL/FLOAT類型PI() - 返回值為 即 3.1415926535897936RAND(integer_expression) - 用任選

18、的 integer_expression做種子值得出 0-1 間的隨機浮點數(shù)-字符串函數(shù) -ASCII() - 函數(shù)返回字符表達式最左端字符的ASCII 碼值CHAR() - 函數(shù)用于將 ASCII 碼轉(zhuǎn)換為字符-如果沒有輸入 0 255 之間的 ASCII碼值 CHAR函數(shù)會返回一個 NULL值LOWER() - 函數(shù)把字符串全部轉(zhuǎn)換為小寫UPPER() -函數(shù)把字符串全部轉(zhuǎn)換為大寫STR() -函數(shù)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù)LTRIM() - 函數(shù)把字符串頭部的空格去掉RTRIM() - 函數(shù)把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() - 函數(shù)返回部分字符

19、串CHARINDEX(),PATINDEX() -函數(shù)返回字符串中某個指定的子串出現(xiàn)的開始位置SOUNDEX() - 函數(shù)返回一個四位字符碼-SOUNDEX 函數(shù)可用來查找聲音相似的字符串但SOUNDEX 函數(shù)對數(shù)字和漢字均只返回 0 值DIFFERENCE() - 函數(shù)返回由 SOUNDEX 函數(shù)返回的兩個字符表達式的值的差異-0兩個SOUNDEX函數(shù)返回值的第一個字符不同-1兩個SOUNDEX函數(shù)返回值的第一個字符相同-2兩個SOUNDEX函數(shù)返回值的第一二個字符相同-3兩個SOUNDEX函數(shù)返回值的第一二三個字符相同-4兩個SOUNDEX函數(shù)返回值完全相同QUOTENAME() - 函數(shù)

20、返回被特定字符括起來的字符串/*select quotename('abc', '') quotename('abc')運行結(jié)果如下-abc abc*/REPLICATE() - 函數(shù)返回一個重復(fù) character_expression指定次數(shù)的字符串/*select replicate('abc', 3) replicate( 'abc', -2)運行結(jié)果如下abcabcabc NULL*/REVERSE() -函數(shù)將指定的字符串的字符排列順序顛倒REPLACE() - 函數(shù)返回被替換了指定子串的字符串/*se

21、lect replace('abc123g', '123', 'def')運行結(jié)果如下abcdefg*/SPACE() -函數(shù)返回一個有指定長度的空白字符串STUFF() -函數(shù)用另一子串替換字符串指定位置長度的子串-數(shù)據(jù)類型轉(zhuǎn)換函數(shù) -CAST() 函數(shù)語法如下CAST() (<expression> AS <data_ type> length ) CONVERT()函數(shù)語法如下CONVERT() (<data_ type> length , <expression> , style)selec

22、t cast(100+99 as char) convert(varchar(12), getdate()運行結(jié)果如下199 Jan 15 2000-日期函數(shù) -DAY() - 函數(shù)返回 date_expression 中的日期值MONTH() - 函數(shù)返回 date_expression 中的月份值YEAR() - 函數(shù)返回 date_expression 中的年份值DATEADD(<datepart> ,<number> ,<date>)-函數(shù)返回指定日期 date 加上指定的額外日期間隔 number 產(chǎn)生的新日期DATEDIFF(<datepa

23、rt> ,<number> ,<date>)-函數(shù)返回兩個指定日期在 datepart 方面的不同之處DATENAME(<datepart> , <date>) - 函數(shù)以字符串的形式返回日期的指定部分DATEPART(<datepart> , <date>) -函數(shù)以整數(shù)值的形式返回日期的指定部分GETDATE() - 函數(shù)以 DATETIME的缺省格式返回系統(tǒng)當(dāng)前的日期和時間-系統(tǒng)函數(shù) -APP_NAME() - 函數(shù)返回當(dāng)前執(zhí)行的應(yīng)用程序的名稱COALESCE() - 函數(shù)返回眾多表達式中第一個非NULL表達式

24、的值COL_LENGTH(<'table_name'>, <'column_name'>) -函數(shù)返回表中指定字段的長度值COL_NAME(<table_id>, <column_id>) - 函數(shù)返回表中指定字段的名稱即列名DATALENGTH() - 函數(shù)返回數(shù)據(jù)表達式的數(shù)據(jù)的實際長度DB_ID('database_name') -函數(shù)返回數(shù)據(jù)庫的編號DB_NAME(database_id) -函數(shù)返回數(shù)據(jù)庫的名稱HOST_ID() - 函數(shù)返回服務(wù)器端計算機的名稱HOST_NAME() - 函

25、數(shù)返回服務(wù)器端計算機的名稱IDENTITY(<data_type>, seed increment) AS column_name)-IDENTITY()函數(shù)只在 SELECT INTO語句中使用用于插入一個 identity column 列到新表中/*select identity(int, 1, 1) as column_name into newtablefrom oldtable*/ISDATE() - 函數(shù)判斷所給定的表達式是否為合理日期ISNULL(<check_expression>, <replacement_value>) -函數(shù)將表達式

26、中的 NULL 值用指定值替換ISNUMERIC() - 函數(shù)判斷所給定的表達式是否為合理的數(shù)值NEWID() - 函數(shù)返回一個 UNIQUEIDENTIFIER類型的數(shù)值NULLIF(<expression1>, <expression2>)-NULLIF函數(shù)在 expression1 與 expression2 相等時返回 NULL值若不相等時則返回 expression1 的值sql 中的保留字action add aggregate all alter after and asasc avg avg_row_length auto_increment betwe

27、en bigint bit binaryblob bool both bycascade case char character change check checksum column columns comment constraint createcross current_date current_time current_timestamp data database databases datedatetime day day_hour day_minuteday_second dayofmonth dayofweek dayofyear dec decimal default d

28、elayeddelay_key_write delete desc describe distinct distinctrow double dropend else escape escaped enclosed enum explain existsfields file first floatfloat4 float8 flush foreign from for full function global grant grants grouphaving heap high_priority hour hour_minute hour_second hosts identified ig

29、nore in index infileinner insert insert_id intinteger interval int1 int2 int3 int4 int8 intoif is isam joinkey keys kill last_insert_id leading left length like lines limit load locallock logs long longbloblongtext low_priority max max_rows match mediumblob mediumtext mediumintmiddleint min_rows min

30、ute minute_secondmodify month monthname myisam natural numeric no notnull on optimize optionoptionally or order outeroutfile pack_keys partial password precision primary procedure process processlist privileges read real references reload regexp rename replace restrict returns revokerlike row rows s

31、econd select set show shutdownsmallint soname sql_big_tables sql_big_selects sql_low_priority_updates sql_log_off sql_log_update sql_select_limit sql_small_result sql_big_result sql_warnings straight_joinstarting status string tabletables temporary terminated text then time timestamp tinyblob tinyte

32、xt tinyint trailing totype use using uniqueunlock unsigned update usage values varchar variables varying varbinary with write whenwhere year year_month zerofill查看全文常用 SQL 命令和 ASP 編程在進行數(shù)據(jù)庫操作時, 無非就是添加、 刪除、修改,這得設(shè)計到一些常用的SQL語句,如下:SQL 常用命令使用方法:(1) 數(shù)據(jù)記錄篩選:sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by

33、字段名 desc" sql="select * from 數(shù)據(jù)表 where 字段名 like %字段值% order by 字段名desc"sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 desc"sql="select * from數(shù)據(jù)表where字段名 in (值 1,值 2,值 3)"sql="select * from數(shù)據(jù)表where字段名 between 值 1 and 值 2"(2) 更新數(shù)據(jù)記錄:sql="update 數(shù)

34、據(jù)表 set 字段名=字段值 where 條件表達式 "sql="update 數(shù)據(jù)表 set 字段 1=值 1,字段 2=值 2 字段 n=值 n where 條件表達式"(3) 刪除數(shù)據(jù)記錄:sql="delete from 數(shù) 據(jù) 表 where 條 件 表 達 式 " sql="delete from 數(shù)據(jù)表 " (將數(shù)據(jù)表所有記錄刪除 )(4) 添加數(shù)據(jù)記錄:sql="insert into 數(shù)據(jù)表 (字段 1,字段 2,字段 3 ) valuess值(1,值 2,值 3 )"sql="

35、;insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表 " (把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表 )(5) 數(shù)據(jù)記錄統(tǒng)計函數(shù):AVG( 字段名) 得出一個表格欄平均值COUNT(*| 字段名) 對數(shù)據(jù)行數(shù)的統(tǒng)計或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計MAX( 字段名) 取得一個表格欄最大的值MIN( 字段名) 取得一個表格欄最小的值SUM( 字段名) 把數(shù)據(jù)欄的值相加引用以上函數(shù)的方法:sql="select sum(字段名 ) as 別名 from 數(shù)據(jù)表 where 條件表達式 " set rs=conn.excute(sql)用 rs("別名

36、") 獲取統(tǒng)的計值,其它函數(shù)運用同上。(5) 數(shù)據(jù)表的建立和刪除:CREATE TABLE數(shù)據(jù)表名稱 (字段 1 類型 1(長度),字段 2 類型 2(長度) )例: CREATE TABLE tab01(name varchar(50),datetime default now() DROP TABLE數(shù)據(jù)表名稱 (永久性刪除一個數(shù)據(jù)表 )在 ASP 編程時,下面這些語句是必須知道的:1. 連接數(shù)據(jù)庫a. ASP與 Access數(shù)據(jù)庫連接:<% language=VBs cript%><%dim conn,mdbfilemdbfile=server.mappath

37、("數(shù)據(jù)庫名稱 .mdb")set conn=server.createobject("adodb.connection")conn.open "driver=microsoft access driver (*.mdb);uid=admin;pwd= 數(shù)據(jù)庫密碼;dbq="&mdbfile%>b. ASP 與 SQL 數(shù)據(jù)庫連接:<% language=VBs cript%><%dim connset conn=server.createobject("ADODB.connection&qu

38、ot;)con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務(wù)器名稱或 IP 地址;UID=sa;PWD=數(shù)據(jù)庫密碼 ;DATABASE= 數(shù)據(jù)庫名稱%>建立記錄集對象:set rs=server.createobject("adodb.recordset") rs.open SQL語句,conn,3,22. 記錄集對象的方法:rs.movenext 將記錄指針從當(dāng)前的位置向下移一行rs.moveprevious 將記錄指針從當(dāng)前的位置向上移一行rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行rs.movelast 將

39、記錄指針移到數(shù)據(jù)表最后一行rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第 N 行rs.absolutepage=N 將記錄指針移到第 N 頁的第一行rs.pagesize=N 設(shè)置每頁為 N 條記錄rs.pagecount 根據(jù) pagesize 的設(shè)置返回總頁數(shù)rs.recordcount 返回記錄總數(shù)rs.bof 返回記錄指針是否超出數(shù)據(jù)表首端, true 表示是, false為否rs.eof 返回記錄指針是否超出數(shù)據(jù)表末端, true 表示是, false為否rs.delete 刪除當(dāng)前記錄,但記錄指針不會向下移動rs.addnew 添加記錄到數(shù)據(jù)表末端rs.upda

40、te 更新數(shù)據(jù)表記錄附:常數(shù) 常數(shù)值 說明 adLockReadOnly 1 缺省值, Recordset對象以只讀方式啟動, 無法運行 AddNew、Update 及 Delete 等方法adLockPrssimistic 2 當(dāng)數(shù)據(jù)源正在更新時,系統(tǒng)會暫時鎖住其他用戶的動作,以保持數(shù)據(jù)一致性。adLockOptimistic 3 當(dāng)數(shù)據(jù)源正在更新時,系統(tǒng)并不會鎖住其他用戶的動作,其他用戶可以對數(shù)據(jù)進行增、刪、改的操作。adLockBatchOptimistic 4 當(dāng)數(shù)據(jù)源正在更新時,其他用戶必須將CursorLocation屬性改為 adUdeClientBatch 才能對數(shù)據(jù)進行增、刪

41、、改的操作。分類: ( 一般分類 ) : 評論 (0) : 靜態(tài)鏈接網(wǎng)址: 引 用 (0)<!- ->SQLSERVER2000功略 (4)-自動化管理發(fā)表人:kendy517 | 發(fā)表時間 : 2007 年二月 09 日, 11:56面對大量反復(fù)的工作, 即使一個優(yōu)秀的管理員也會感到很大的負擔(dān)。 但為了保持服務(wù)器維持在最佳運行狀態(tài), 這些又時不得不作的工作。這時, SQLSERVER 想你所想, 提供了自動化的管理措施。 在我們工作之前, 我們需要了解自動化背后的好助手 SQLSERVER Agent,這個就是 SQLSERVER 的代理程序, 他是運行在后臺的服務(wù),可謂是幕后英

42、雄!那他有什么功能呢,如下: 作業(yè)調(diào)度。 執(zhí)行作業(yè)。 產(chǎn)生報警。 在指定的事件發(fā)生時,通知指定的管理員或操作員。說到這里,我們就談?wù)勛詣踊械慕巧翰僮鲉T,作業(yè),警報。操作員:所謂的操作員只是人名與其通信方式(可有電子郵件地址,呼叫器或 NET SEND 的目的地三種) 的設(shè)置而已。只要將服務(wù)器管理人員的聯(lián)絡(luò)方式都以操作員設(shè)置妥當(dāng)時,當(dāng)SQLSERVER 遇到各種需要處理的狀況, SQLSERVER Agent 就會通過指定的方式通知管理人員前來完成, 以達到及時的排除各種問題。作業(yè):作業(yè)是 SQLSERVER Agent 諸多功能中最常用的。所謂作業(yè)就是可讓SQLSERVERAgent 自動

43、執(zhí)行的一組操作,它既可以自動執(zhí)行(這個就涉及到調(diào)度),也可以手動執(zhí)行。在定義作業(yè)必須注意以下內(nèi)容:作業(yè)的名稱,作業(yè)的種 類,作業(yè)的所有者,作業(yè)的說明文字。警報:就是指針對特殊的事件,要發(fā)信給操作員的設(shè)置。在作業(yè)的設(shè)置中的“通知“頁面中指定了要將作業(yè)執(zhí)行狀態(tài)通知操作員時,其實就是在設(shè)置警報(如下圖)在定義警報時, 可有兩種設(shè)置事件的方式, 一種是指明了針對某特定事件, 也就是只要在服務(wù)器發(fā)生該事件。另一種是指定事件的嚴重度(Serverity),只要是達到指定嚴重程度的所有事件, SQLSERVER Agent 就會發(fā)信通知操作員。了解了概念, 就是動手的時候了, 這些我們就以圖片給與說明, 第

44、一個我們新建“操作員 “,過程如下:screen.width-333)this.width=screen.width-333" border="0"galleryimg="no" />screen.width-333)this.width=screen.width-333" border="0"galleryimg="no" />screen.width-333)this.width=screen.width-333" border="0" galler

45、yimg="no" />接著新建 “作業(yè)“過程如下:screen.width-333)this.width=screen.width-333" border="0"galleryimg="no" />screen.width-333)this.width=screen.width-333" border="0"galleryimg="no" />再來看看 “警報“的創(chuàng)建過程:screen.width-333)this.width=screen.width-3

46、33" border="0" galleryimg="no" />screen.width-333)this.width=screen.width-333" border="0"galleryimg="no" />(注意在建立警報的 “響應(yīng)”欄目里,對應(yīng)著相應(yīng)的作業(yè)和操作員 )談過了這些功能, 是不是覺得真是很方便呀, 當(dāng)然了良好的運用不僅僅就這簡單的幾步, 這需要大家在應(yīng)用中適時的總結(jié)以適應(yīng)我們的需要?,F(xiàn)在, 我們再談?wù)撘粋€ SQLSERVER的另一項不錯的功能 腳本。所謂的利用腳

47、本, 就是可以將數(shù)據(jù)庫對象或服務(wù)器中的其他對象以腳本 ( Script) 方式存入文件,也就是存成 SQL 程序以供我們繼續(xù)利用。同樣腳本也可以用于這里的自動化管理。 例如:我們可以將操作員, 作業(yè)和警報等對象存成 Script 文件后, 再拿到別的服務(wù)器上加以利用。 這是不是在不同的服務(wù)器上創(chuàng)建相同的操作員等重復(fù)的工作了。這就是腳本的效率所在。如果需要存為腳本文件,可以在企業(yè)管理器中右擊相應(yīng)的對象在“所有任務(wù) “/生“ 成 SQL 腳本”命令,設(shè)置確定即可。談了上面的自動化管理的方式是很實用的, 但似乎是不是缺乏全面性, 要為自己的服務(wù)器構(gòu)建一套完善的自動化維護機制, 可能需要花費不少心力,

48、 但是將大部分的日常維護工作適度的自動化,多少可以減輕管理上的負擔(dān),為此 SQLSERVER 還提供了一項可以將整套數(shù)據(jù)庫維護工作自動化的功能,這就是數(shù)據(jù)庫的維護計劃。我們可以在企業(yè)管理器中執(zhí)行 “工具“數(shù)/據(jù)庫維護計劃器,這樣就見到了如下界面,依次設(shè)置即可。這次的討論就說到這里, 關(guān)于自動化管理, 我不用說大家都明白, 合理的設(shè)置會給你的工作帶來什么樣的影響,好好體會,讓工作更加輕松!分類: ( 一般分類 ) : 評論 (0) : 靜態(tài)鏈接網(wǎng)址: 引 用 (0)<!- ->SQLSERVER2000功略 (3)數(shù)據(jù)庫的登陸及其用戶權(quán)限發(fā)表人:kendy517 | 發(fā)表時間 : 2

49、007 年二月 09 日, 11:54SQLSERVER2000 功略(3)數(shù)據(jù)庫的登陸及其用戶權(quán)限SQLSERVER2000 功略數(shù)據(jù)庫的登陸及其用戶權(quán)限說過了兩章純粹的理論, 是不是有乏味的感覺, 好,我們從這一講就進入實質(zhì)的管理階段。首先,我們討論的是SQLSERVER 安全管理中的登陸和權(quán)限問題。SQLSERVER 的登陸是安全管理的第一關(guān)。這個決定了那些人可以使用SQLSERVER(就像進屋時的房門鑰匙)。關(guān)于登陸控制,SQLSERVER 則采用了兩種不同的檢查方式: windows 驗證和 windows,sqlserver混合驗證。前者就是我們登陸 windows 時的用戶帳號,

50、而后者則是在保留前者的前提下也允許SQLSERVER 中建立的登陸帳號。這也是為用戶提供方便的選擇。我們擁有了登陸的帳號,就可以進入SQLSERVER 的控制中心,那我們可以做些什么哪?這個肯定是有控制的進行的。SQLSERVER 中的訪問權(quán)限分為兩方面,分別是:服務(wù)器本身的操作權(quán)限和數(shù)據(jù)庫的訪問權(quán)限。我們分別加以簡介:服務(wù)器的操作權(quán)限是從真?zhèn)€服務(wù)器來說的, 是面向所有數(shù)據(jù)庫的定義。 例如:是否有權(quán)創(chuàng)建或者刪除登陸帳號, 是否可以建立數(shù)據(jù)庫等等。 這些也就是通過設(shè)置服務(wù)器角色( server role)來實現(xiàn)的。 SQLSERVER 內(nèi)建了七個服務(wù)器角色,分別代表七種服務(wù)器工作的操作權(quán)。數(shù)據(jù)庫

51、的訪問權(quán)限就是針對某一個數(shù)據(jù)庫而言的。他可以分為兩層, 第一層是限制何人訪問數(shù)據(jù)庫, 第二層限制可訪問數(shù)據(jù)庫中的那些表, 視圖和存儲過程, 以及是否可以用 select,insert,update等等。這個權(quán)限往往是通過數(shù)據(jù)庫角色得以實現(xiàn)的。(服務(wù)器角色不可以自定義,數(shù)據(jù)庫角色可以自定義)僅僅知道上面這些概念是不行的,因為SQLSERVER 中的權(quán)限是比較復(fù)雜的, 因為彼此之間可能存在某些權(quán)鏈。 所以僅僅概念是不容易說清的, 我們討論的就是基礎(chǔ)的東西, 懂得了這些在真正工作中才可以更好的掌握管理技能。我們簡單的談?wù)剻?quán)鏈的問題吧!由于每個對象都有他自己的擁有權(quán)信息, 這個對象可能和其他對象存在一

52、定的依存關(guān)系, 比如: 一個視圖是從另外一個視圖建立過來的。 這些相互依存的對象關(guān)系可能拉的很長, 因此相依存的對象的擁有權(quán)就形成一個由上而下的鏈結(jié),這在SQLSERVER 中就稱作擁有權(quán)鏈( Ownership Chain)。正是由于這樣,可能所產(chǎn)生的訪問權(quán)限變得非常復(fù)雜。 所以,我們在這里提出以視圖和存儲過程來限制訪問范圍。通過視圖確定用戶可以訪問的內(nèi)容, 然后把視圖的相關(guān)權(quán)限賦予具體的用戶,這樣可以有效的減輕權(quán)限設(shè)置的工作量(特別是用戶訪問范圍跨度較大的情況下)。除了視圖,我們也可以自定義存儲過程來對數(shù)據(jù)的訪問加以限制,即把一組可查詢某特定數(shù)據(jù)的語句存成存儲過程,然后將其 execute

53、 權(quán)限設(shè)置給用戶,用戶就可以執(zhí)行他來取得數(shù)據(jù)了。 這樣省去了很多復(fù)雜的授權(quán)過程, 是不是很方便呀!簡單的說了說這些,我們再來談?wù)?SQLSERVER 中特殊的東西: sa 帳號, public數(shù)據(jù)庫角色, guest數(shù)據(jù)庫用戶。Sa是 SQLSERVER 默認的管理員帳號,主要是為了向下兼容而設(shè)置的。這個也就是安裝好 SQLSERVER 時就有的帳號,而且權(quán)限極大,所以在安裝過程中最好把他的密碼進行設(shè)置,不要為空。這個帳號相當(dāng)于服務(wù)器角色中的system administrator,而且不可以刪除。Public 數(shù)據(jù)庫角色是一個公共的數(shù)據(jù)庫角色, 也就是說當(dāng)你新建一個數(shù)據(jù)庫角色的時候,默認的就

54、屬于這個角色。這個也是不可刪除的。所以為了安全期間,我 們對 public 數(shù)據(jù)庫對象不要賦予過多的權(quán)限(除非有這個需要)。Guest是一個特殊的數(shù)據(jù)庫用戶,類似于 windows NT/2000 下的 guest 帳號,都是給未經(jīng)授權(quán)的用戶提供某種程度的訪問權(quán)限。 如果不需要這個用戶可以將其刪除。說了這些概念, 其實現(xiàn)都是通過 “企業(yè)管理器 ”實現(xiàn)的, 我們就這些談?wù)動孟鄳?yīng)的系統(tǒng)存儲過程:登陸管理: sp_addlogin 新增帳號sp_droplogin 刪除帳號sp_grantlogins 允許某 windows 帳號訪問sp_denylogins 禁止某 windows 帳號訪問sp_

55、revokelogins 刪除某 windows 帳號訪問sp_helplogin 查看帳號信息sp_addsrvrolemember 將某用戶添加到服務(wù)器角色sp_dropsrvrolemember 將某用戶從數(shù)據(jù)庫角色中刪除sp_helpsrvrole 查看服務(wù)器角色的信息數(shù)據(jù)庫用戶管理: sp_grantaccess建立數(shù)據(jù)庫用戶sp_revokedbaccess刪除數(shù)據(jù)庫用戶sp_helpuser 查看用戶信息數(shù)據(jù)庫角色管理: sp_addrole 建立數(shù)據(jù)庫角色sp_addrolemember 將用戶加入數(shù)據(jù)庫角色sp_helprole 查看數(shù)據(jù)庫角色信息sp_helprolemem

56、ber 查看某數(shù)據(jù)庫角色的所有成員sp_droprole 刪除角色sp_droprolemember 刪除角色中的某一成員好了,看了上面的不要感覺麻煩呀,這可是讓你高效工作的寶貝呀,熟能生巧, 我們一起聯(lián)系多了,其實掌握就覺得很輕松了!繼續(xù)努力?。海┓诸? ( 一般分類 ) : 評論 (0) : 靜態(tài)鏈接網(wǎng)址 : 引用 (0)<!- ->SQLSERVER2000攻略 (1)工作流程篇發(fā)表人:kendy517 | 發(fā)表時間 : 2007 年二月 09 日, 11:51SQLSERVER2000 是 windows 平臺上一個重要的數(shù)據(jù)管理工具。 了解數(shù)據(jù)庫的朋友對他一定很熟悉。 我們就此在這里作一系列的討論, 希望通過這次的交流我們對 SQLSERVER2000 有個深刻的理解。首先,我們探討一下他的工作流程,這可是工作的基礎(chǔ)呀,好,我們開始了!簡單的說, SQLSERVER2000 是個采用主從結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫系統(tǒng)。 哈,是不是太簡單, 畢竟現(xiàn)在市面上的數(shù)據(jù)庫產(chǎn)品幾乎都是這個結(jié)構(gòu)。我們來深入一點, 所謂 SQLSERVER 的主從結(jié)構(gòu)(Client/Server),就是由 SQLSE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論