當前位置:首頁 » 數據倉庫 » sql資料庫筆記
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫筆記

發布時間: 2023-01-12 02:52:17

Ⅰ 用友中的賬套在sql資料庫中對應的表

http://hi..com/fcw2005kj/blog/category/%D3%C3%D3%D1%C8%ED%BC%FE%BC%BC%CA%F5%BD%BB%C1%F7/index/10
http://hi..com/fcw2005kj/blog/category/%D3%C3%D3%D1%C8%ED%BC%FE%BC%BC%CA%F5%BD%BB%C1%F7/index/11
上面是我曾經學習過的用友資料庫筆記,不知道對你有沒有用。

Ⅱ 資料庫筆記-SQL過濾(LIKE&正則表達式)

查詢語句:

結果:

查詢語句:

結果:

查詢語句:

結果:

查詢語句:

正則表達式 [32]1,[32]定義一組字元,它的意思是匹配 3 或匹配 2,也就是「31」或者 「21」都算是匹配的。

結果:

查詢語句:

結果:

如果要匹配特殊字元的,需要加上前導「」,「-」表示查找「-」,「.」表示查找「.」
這種就是 「轉義(escaping)」 ,在正則表達式里,本身有意義的字元,比如「.」是匹配任意字元的意思。那如果要匹配它,需要轉義。
注意:在 MySQL 里,是比其他的正則表達式多一個「」的,就是「」。

趣味提問:

如何匹配「」?
答案:「\」

\([0-9] sticks?\) 匹配的是(NUM stick)或者(NUM sticks)。s後的 ? 使得s可選。

重復元字元

* 是 0 個或多個匹配
? 是 1 個或多個匹配
{n} 是指定n個匹配
{n,} 是 不少於 n 個匹配
{n,m} 是 指定匹配的范圍,m不超過 255

查詢語句:

^值的是字元串的開始,$是字元串的結尾。

這就是 REGEXP 與 LIKE 類似,但是它獨特的好處:可以通過「定位符」只匹配「子字元串」。

結果:

Ⅲ 02.SQL語言藝術讀書筆記

細節之中潛藏著危險,過分「精益求精」會使我們精力分散,甚至關注不相乾的問題,合理把握處理數據的層次非常重要。

一般而言,應盡量使用具有實際意義的主鍵,而不是灰色的遞增整數。

所有屬性都具有了原子性,且確定了鍵,我們的數據就符合1NF了

在1NF的基礎上,如果去除了只依賴部分鍵的屬性後,表就符合2NF了 ,如在保存用戶信息時,單位,姓名都設置為欄位,但同一個單位中的人員不止一個,那麼在用戶表中保存的單位欄位就不完全依賴用戶表的主鍵,這樣會造成數據的冗餘,可以把單位分離出來。

通常,滿足2NF的數據集也滿足3NF。我們可以這樣思考: 屬性A的值確定之後,屬性B的值是否就確定了呢?

Ⅳ 計算機三級資料庫技術筆記

網路資料庫技術
一、單項選擇題
1. 存儲在計算機內有結構的數據的集合,稱為資料庫。
2. 以二維表格的形式組織資料庫中的數據,這種數據模型是關系模型
3. 下面哪個資料庫屬於中小規模資料庫管理系統Access。
4. SQL Server 2000有兩類資料庫,分別是用戶資料庫和系統資料庫。
5. 兩個實體:學院和學生之間的聯系應為一對多聯系。
6. 錯誤的對象部分限定名是伺服器名.對象名。
7. SQL Server字元型包括char和varchar。
8. 下列SQL語句中,修改表結構的是ALTER TABLE。
9. 下列SQL語句中,向表中插入數據的是INSERT。
10. 關系運算的特點是運算的對象和結果都是表。
11. 兩個表連接最常用的條件是兩個表的某些列值相等,這樣的連接稱為等值連接。
12. 在資料庫查詢語句SELECT中,指定分組表達式的子句是GROUP BY子句。
13. 用以限制查詢結果集中的行數過多,僅指定部分結果所採用的關鍵字是TOP。
14. 能夠在LIKE子句中匹配多個字元的通配符是%。
15. 統計組中滿足條件的行數或總行數的聚合函數是COUNT。
第16到第19題基於這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
16. 檢索所有比「王華」年齡大的學生姓名、年齡和性別。正確的SELECT語句是SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=『王華』)
17. 檢索選修課程「C2」的學生中成績最高的學生的學號。正確的SELECT語句是SELECT S# FROM SC WHERE C#=『C2』 AND GRADE>= ALL (SELECT GRADE FROM SC WHERE C#=『C2』)
18. 檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是SELECT S.SN, SC.C#, SC.GRADE FROM S, SC WHERE S.S#=SC.S#
19. 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。正確的SELECT語句是SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC
20. 創建視圖的SQL命令是CREATE VIEW
22. 打開游標所使用的SQL命令是OPEN。
23. 請選出不屬於T-SQL語言組成部分的是數據轉換語言。
24. 聲明變數所使用的關鍵字為DECLARE。
25. 按照索引的組織方式,可以將索引分為聚集索引和非聚集索引。
26. 又稱為列完整性,指給定列輸入的有效性的是域完整性。
27. 創建存儲過程的SQL命令是CREATE PROCEDURE。
28. 不屬於維護數據的觸發器的是SELECT。
29. 只備份自上次備份以來發生過變化的資料庫的數據,也稱增量備份的是差異備份。
30. 資料庫系統與外部進行數據交換的操作是導入/導出。
31. 具有數據表達方式簡潔、直觀,插入、刪除、修改操作方便等特點的數據模型是關系模型.
32. 按一定的數據模型組織數據,對資料庫進行管理的是資料庫管理系統.
33. 對於這樣一個關系:學生(學號、姓名、專業名、性別、出生日期、總學分),請選出關系的碼(關鍵字)為學號
34. 兩個實體:學院和學生之間的聯系應為一對多聯系.
35. 資料庫對象的名稱中各部分使用何種符號隔開「.」。
36. 每個表可以有多少個列設置為標識屬性identity1。
37. 下列SQL語句中,創建表結構的是CREATE TABLE。
38. 下列SQL語句中,刪除表中的指定數據的是DELETE。
39. 關系運算的特點是運算的對象和結果都是表。
40. 從表中選出指定的屬性值(列名)組成一個新表,這樣的關系運算是投影。
41. 在資料庫查詢語句SELECT中,指定表或視圖的子句是FROM子句。
42. 在資料庫查詢語句中,為使用自己選擇的列標題而更改查詢結果的列標題名,所使用的關鍵字是AS。
43. 在WHERE子句中,可以使用通配符來對字元串進行模糊匹配的關鍵字是LIKE。
44. 在學生表XS表中查詢總學分尚未定的學生情況,正確的查詢語句是SELECT * FROM XS WHERE 總學分 IS NULL。
45. 在查詢語句中對查詢的結果進行排序,用於升序排序的關鍵字是ASC。
第16到第19題基於這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
46. 檢索所有比「王華」年齡大的學生姓名、年齡和性別。正確的SELECT語句是;SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=『王華』)
47. 檢索選修課程「C2」的學生中成績最高的學生的學號。正確的SELECT語句是;SELECT S# FROM SC WHERE C#=『C2』 AND GRADE>= ALL (SELECT GRADE FROM SC WHERE C#=『C2』)
48. 檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是;SELECT S.SN, SC.C#, SC.GRADE FROM S, SC WHERE S.S#=SC.S#
49. 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。正確的SELECT語句是;SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC
50. 修改視圖的SQL命令是ALTER VIEW。
51. 若用如下的SQL語句創建一個student表:(『1031』, 『曾華』, NULL, NULL)
52. 在使用游標時首先要執行的是聲明游標。
53. SQL語言是一種用於資料庫查詢的結構化語言。
54. 請選出不屬於T-SQL語言組成部分的是數據轉換語言。
55. T-SQL中局部變數用哪種符號進行標識@。
56. 請選擇不是索引的作用的是使表中數據排列更為美觀。
57. 如果一個表中的一個欄位或若干個欄位的組合是另一個表的碼,則稱該欄位或欄位組合為該表的外碼。
58. 執行存儲過程的SQL命令是EXEC 。
59. SQL Server 2000中不允許使用的備份介質是只讀光碟。
60. 從外部數據源中檢索數據,並將數據插入到SQL Server表的過程,稱為導入數據。
61、表格中的一行稱為一個記錄,一列稱為一個欄位,每列的標題稱為欄位名。
62、SQL Server 2000有兩類資料庫:系統資料庫和用戶資料庫。
63、在設計表時列的identity屬性:實現的是自動增長的功能。
64、創建資料庫的SQL命令:CREATE DATABASE。
65、刪除資料庫的SQL命令:DROP DATABASE。
66、創建表的SQL命令:CREATE TABLE。
67、刪除表的SQL命令:DROP TABLE。
68插入表數據的SQL 命令:INSERT。
69、刪除表數據的SQL命令:DELETE和TRUNCATE TABLE,了解二者的區別。
70、修改表數據的SQL命令:UPDATE。
71、使用SQL命令創建視圖:CREATE VIEW。
72、使用SQL命令修改視圖:ALTER VIEW。
73、當視圖所依賴的基本表有多個時,不提倡向該視圖插入數據,因為這會影響多個基本表。
74、使用SQL命令刪除視圖:DROP VIEW。
75、使用SQL命令聲明游標:DECLARE。
76、聲明游標時SCROLL的用法:可以使游標向前、向後滾動。
77、使用SQL命令打開游標:OPEN。
78、使用SQL命令利用游標讀取數據:FETCH。
79、控制游標的關鍵字:NEXT| PRIOR| FIRST | LAST| ABSOLUTE n| RELATIVE n。
80、使用SQL命令關閉游標:CLOSE。
81、使用SQL命令刪除游標:DEALLOCATE。
82、 SQL語言是用於資料庫查詢的結構化語言。
83、T-SQL語言的組成部分:數據定義語言、數據操縱語言和數據控制語言。
84、變數的命名:以字母、_、@或#開頭,後接多個字母、數字、_、@或#構成。
85、運算符與表達式:AND和OR
86、按照索引的組織方式,可將索引分為聚集索引和非聚集索引。
87、惟一索引:不會有兩行記錄相同的索引鍵值。
88、使用SQL命令刪除索引:DROP INDEX。
89、使用SQL命令創建帶參數的存儲過程的格式:
CREATE PROCEDURE procere_name @variable_name datatype
AS
<sql_statement>
90、使用SQL命令執行帶參數的存儲過程:EXEC procere_name value。
91、使用SQL命令修改存儲過程的格式:
ALTER PROCEDURE procere_name
AS
<sql_statement>
92、使用SQL命令刪除存儲過程:DROP PROCEDURE。
93、設計備份策略的指導思想是:以最小的代價恢復數據。
94. 假定學生關系是S(S#, SNAME, SEX, AGE),課程關系是C(C#, CNAME, TEACHER),學生選課關系是SC(S#, C#, GRADE)。要查找選修課程名「COMPUTER」的性別為「女」的學生姓名,將涉及到的關系是:S, C, SC。
95. 資料庫對象的名稱中各部分使用何種符號隔開「.」。
96. 在SQL Server 2000中,精確整數型包括decimal和numeric。
97. 下列SQL語句中,實現刪除資料庫的語句是DROP DATABASE。
98. 下列SQL語句中,向表中插入數據的是INSERT。
99. 把兩個表中的行按照給定的條件進行拼接而形成新表,這樣的關系運算是連接。
100. 在資料庫查詢語句SELECT中,指定表或視圖的子句是FROM子句。
101. 在資料庫查詢中,消除結果集中的重復行所使用的關鍵字是DISTINCT。
102. 能夠在LIKE子句中匹配單個字元的通配符是「_」。
103. 在查詢語句中對查詢的結果進行排序,用於降序排序的關鍵字是。DESC
104. 若用如下的SQL語句創建一個student表:
CREATE TABLE student(NO C(4) NOT NULL,
NAME C(8) NOT NULL,
SEX C(2),
AGE N(2))
可以插入到student表中的是(『1031』, 『曾華』, NULL, NULL)
第16到第19題基於這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
105. 檢索所有比「王華」年齡大的學生姓名、年齡和性別。正確的SELECT語句是
SELECT SN, AGE, SEX FROM S
WHERE AGE>(SELECT AGE FROM S
WHERE SN=『王華』)
106. 檢索選修課程「C2」的學生中成績最高的學生的學號。正確的SELECT語句是
SELECT S# FROM SC
WHERE C#=『C2』 AND GRADE>= ALL
(SELECT GRADE FROM SC
WHERE C#=『C2』)
107. 檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是
SELECT S.SN, SC.C#, SC.GRADE
FROM S, SC
WHERE S.S#=SC.S#
108. 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。正確的SELECT語句是
SELECT S#, SUM(GRADE) FROM SC
WHERE GRADE>=60
GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC
109. 創建視圖的SQL命令是
CREATE VIEW
110、局部變數在聲明後初始化為NULL。

二、多項選擇題
1. 關系資料庫模型的優勢在於;數據表達方式簡潔、直觀;插入、刪除、修改操作方便。
2. 請選出SQL Server 2000的兩種常用工具;企業管理器;查詢分析器。
3. 設計表時空值的作用;表示不需要添加的數據;表示將在以後添加的數據。
4. 資料庫的查詢語句SELECT的語法格式中不包含以下哪些內容;DROP子句;UPDATE子句。
5. 在比較子查詢可以使用的比較關鍵字包括;ALL ; ANY。
6. 在使用游標讀取數據時,可用來滾動記錄的關鍵字是;NEXT;LAST;PRIOR;FIRST。
7. 索引的功能包括;快速存取數據;保證數據記錄的惟一性;實現表與表之間的參照完整性;利用索引可減少排序和分組的時間。
8. 資料庫中的數據丟失或被破壞的原因是;計算機軟、硬體故障;誤操作;自然災害;盜竊。
9. 確定備份頻率主要考慮的是;系統恢復的工作量;系統執行的事務量。
10. 導入/導出操作包括數據傳輸;數據轉換。
11. 目前,大型的資料庫管理系統主要包括;Oracle;SQL Server;DB2。
12. SQL Server 2000的資料庫可以分為;系統資料庫;用戶資料庫。
13. 資料庫對象包括;表;視圖;索引;存儲過程;觸發器。
14. 設計表時空值的作用;表示不需要添加的數據;表示將在以後添加的數據。
15. 資料庫的查詢語句SELECT的語法格式中包括以下哪些內容;FROM子句;WHERE子句;GROUP BY子句;HAVING子句;ORDER BY子句。
16. 可以用於SELECT語句的聚合函數包括;SUM和AVG;MAX和MIN;COUNT。
17. T-SQL語言包含以下哪些重要部分;數據定義語言 ;數據操縱語言;數據控制語言。
18. 數據完整性包括;域完整性;實體完整性;參照完整性。
19. 資料庫中的數據丟失或被破壞的原因是;計算機軟、硬體故障;誤操作;自然災害;盜竊。
20. 對導入/導出操作描述正確的是;導入/導出是資料庫系統與外部進行數據交換的操作;導入數據是把其他系統的數據引入到SQL Server的資料庫中;導出數據是把資料庫從SQL Server資料庫中引導其他欄位。
21、流行的中小型資料庫包括Access和Visual Foxpro。大型資料庫管理系統包括Oracle,Microsoft的SQL Server,Sybase和IBM的DB2。
22、數據模型分為關系模型、層次模型、網狀模型。所劃分原則是數據之間的聯系。關系模型優勢:數據表達方式簡潔、直觀,插入、刪除、修改操作方便。
23、實體之間的聯系有如下幾種:一對一的聯系(1: 1)、一對多的聯系(1: n)、多對多的聯系(m: n)。
24、 SQL Server 2000的兩種常用工具:企業管理器,查詢分析器。
25、SQL Server 2000的資料庫對象包括:表、視圖、索引、存儲過程、觸發器和約束。
26、資料庫對象的完全限定名包括:伺服器名、資料庫名、所有者名和對象名。其中前三個可以省略,掌握省略的格式。
27、常用的關系運算包括:連接、選擇和投影。關系運算的特點是運算的對象和結果都是表。
28、SQL Server對游標的使用要遵循的步驟:聲明游標;打開游標;讀取數據;關閉游標;刪除游標。
29、全局變數和局部變數分別用@@和@進行標識。
30、數據完整性的分類:域完整性、實體完整性和參照完整性。
31. 資料庫管理系統採用的數據模型有;層次模型;網狀模型;關系模型。
32. SQL Server 2000的資料庫可以分為;系統資料庫;用戶資料庫。
33. 資料庫對象包括;表;視圖;索引;;存儲過程;觸發器。
34. 常見的連接操作包括;等值連接;自然連接。
35. 資料庫的查詢語句SELECT的語法格式中不包含以下哪些內容;DROP子句;UPDATE子句。
36. 請從下面的關鍵字中選出能夠用於WHERE子句中進行范圍比較的是;IN;BETWEEN。
37. 請選出對視圖描述正確的項;資料庫中只存儲視圖的定義;對視圖的數據進行操作時,系統根據視圖的定義去操作與視圖相關聯的基本表。
38. 按照索引的組織方式,可將索引分為;聚集索引;非聚集索引。
39. 存儲過程包括以下哪些類型;系統存儲過程;本地存儲過程;臨時存儲過程;遠程存儲過程;擴展存儲過程。
40.SQL Server 2000中,允許使用的備份介質包括;硬碟;磁帶;命名管道。

三、名詞解釋
1、碼:在關系表中,如果一個欄位或幾個欄位組合的值可惟一標識其對應記錄,則稱該欄位或欄位組合為碼。
2、記錄:每個表包含了若干行數據,它們是表的「值」,表中的一行稱為一個記錄。
3. 投影:投影運算從表中選出指定的屬性值(列名)組成一個新表,記為:∏A(R)。
4. 索引: 根據表中一列或若干列按照一定順序建立的列值與記錄行之間的對應關系表。
5. 參照完整性: 又稱為引用完整性。參照完整性保證主表中的數據與從表中數據的一致性。
6. 資料庫:是存放數據及相關信息的倉庫。
7. 欄位:每個記錄由若干個數據項構成,將構成記錄的每個數據項稱為欄位。
8. 連接:連接運算把兩個表中的行按照給定的條件進行拼接而形成新表,記為: 。
9. 數據的完整性:是指資料庫中的數據在邏輯上的一致性和准確性。
10. 資料庫恢復:就是當資料庫出現故障時,將備份的資料庫載入到系統,從而使資料庫恢復到備份時的正確狀態。
11、資料庫(DB):資料庫是存放數據及相關信息的倉庫。
12、資料庫管理系統(DBMS):資料庫管理系統是管理資料庫的系統,它按一定的數據模型組織數據。
13、實體和實體集:每一類數據對象的個體稱為實體,而每一類對象個體的集合稱為實體集。
14、記錄:每個表包含了若干行數據,它們是表的「值」,表中的一行稱為一個記錄。
15、欄位:每個記錄由若干個數據項構成,將構成記錄的每個數據項稱為欄位。
16、選擇運算:選擇運算按給定的條件,從表中選出滿足條件的行形成一個新表作為運算結果,選擇運算的記號為σF(R)。
17、投影運算:投影運算從表中選出指定的屬性值(列名)組成一個新表,記為:∏A(R)。
18、連接運算:連接運算把兩個表中的行按照給定的條件進行拼接而形成新表,記為: 。
19、等值連接:兩個表的某些列值相等,這樣的連接稱為等值連接。
20、自然連接:自然連接運算要求兩個表有共同屬性,自然連接運算的結果表是在參與操作兩個表的共同屬性上進行等值連接後再去除重復的屬性後所得的新表,自然連接運算記為: 。
21、局部變數:DECLARE @local_variable data_type,所有局部變數在聲明後均初始化為NULL。
22、域完整性:域完整性又稱為列完整性,指給定列輸入的有效性。
23、實體完整性:實體完整性又稱為行的完整性,要求表中有一個主鍵,其值不能為空且能惟一地標識對應的記錄。
24、參照完整性:參照完整性又稱為引用完整性。參照完整性保證主表中的數據與從表中數據的一致性。
25、外碼:如果一個表中的一個欄位或若干個欄位的組合是另一個表的碼則稱該欄位或欄位組合為該表的外碼。
26、存儲過程:在SQL Server中,可以定義子程序存放在資料庫中,這樣的子程序稱為存儲過程。
27、觸發器:觸發器是一類特殊的存儲過程。觸發器與表的關系密切,用於保護表中的數據。當有操作影響到觸發器保護的數據時,觸發器自動執行。
28、導入/導出:導入/導出是資料庫系統與外部進行數據交換的操作。
導入數據是從外部數據源中檢索數據,並將數據插入到SQL Server表的過程,即把其他系統的數據引入到SQL Server的資料庫中。
導出數據是將SQL Server資料庫中的數據轉換為某些用戶指定格式的過程,即把資料庫從SQL Server資料庫中引到其他系統。

四、簡答題
1. 請列舉SQL Server 2000的資料庫對象。
表、視圖、索引、存儲過程、觸發器和約束。
2. 簡述存儲過程的優點。
(1)存儲過程在伺服器端運行,執行速度快。
(2)存儲過程執行一次後,其執行規劃就駐留在高速緩沖存儲器,在以後的操作中,只需從高速緩沖存儲器中調用已編譯好的二進制代碼執行,提高了系統性能。
(3)確保資料庫的安全。
(4)自動完成需要預先執行的任務。
3. 請根據以下表的定義寫出創建表的語句。
表名:Student
列名 數據類型 長度 是否允許為空
學號 定長字元型(char) 6 否
姓名 定長字元型(char) 8 否
專業名 定長字元型(char) 10 允許
性別 位型(bit) 1(系統默認值) 否
出生時間 日期時間類型(smalldatetime) 4(系統默認值) 否
總學分 整數型(tinyint) 1(系統默認值) 允許
備注 文本型(text) 16(系統默認值) 允許
CREATE TABLE student(
學號 char(6) NOT NULL,
姓名 char(8) NOT NULL,
專業名 char(10) NULL,
性別 bit NOT NULL,
出生日期 smalldatetime NOT NULL,
總學分 tinyint NULL,
備注 text NULL)
4. 根據以下要求寫出實現表操作的SQL語句。
假設資料庫中已經建立好以下表結構。
表名:Student
列名 數據類型 長度 是否允許為空
學號 定長字元型(char) 6 否
姓名 定長字元型(char) 8 否
專業名 定長字元型(char) 10 允許
性別 位型(bit) 1(系統默認值) 否
出生時間 日期時間類型(smalldatetime) 4(系統默認值) 否
總學分 整數型(tinyint) 1(系統默認值) 允許
備注 文本型(text) 16(系統默認值) 允許
請分別寫出如下操作的SQL語句:
(1) 增加新列 「獎學金等級」,數據類型為tinyint,允許為空;
(2) 刪除「備注」列;
(3) 將「出生日期」列的數據類型由原來的smalldatetime修改為datetime。
(1)ALTER TABLE Student ADD 獎學金等級 tinyint NULL
(2)ALTER TABLE Student DROP COLUMN 備注
(3)ALTER TABLE Student ALTER COLUMN 出生日期 datetime
5. 資料庫中已經存在下表。
表名:Student
列名 數據類型 長度 是否允許為空
學號 定長字元型(char) 6 否
姓名 定長字元型(char) 8 否
專業名 定長字元型(char) 10 允許
總學分 整數型(tinyint) 1(系統默認值) 允許
備注 文本型(text) 16(系統默認值) 允許
請寫出如下對表中數據進行操作的SQL語句:
(1)插入一條學生信息,學號為「532241」,姓名為「張鑫」,專業名為「計算機」;
(2)從表中刪除學號為「532240」的學生記錄;
(3)將表中所有記錄的專業名由「計算機」改為「計算機應用技術」。
(1)INSERT INTO Student(學號, 姓名, 專業名) VALUES(『532241』, 『張鑫』, 『計算機』)
或 INSERT INTO Student VALUES(『532241』, 『張鑫』, 『計算機』, NULL, NULL)
(2)DELETE FROM Student WHERE 學號=『532240』
(3)UPDATE Student SET 專業名=『計算機應用技術』 WHERE 專業名=『計算機』
6. 請列舉設計表時包括的內容。
確定表的名字、所包含的列名、列的數據類型、長度、是否可為空值、默認值情況、是否要使用以及何時使用約束、默認設置或規則以及所需索引、哪些列是主鍵、哪些列是外鍵。
7. 簡述索引的作用。
(1)快速存取數據。
(2)保證數據記錄的惟一性。
(3)實現表與表之間的參照完整性。
(4)在使用ORDER BY, GROUP BY子句進行數據檢索時,利用索引可減少排序和分組的時間。

8. 請根據以下表的定義寫出創建表的語句。
表名:Course
列名 數據類型 長度 是否允許為空
課程號 定長字元型(char) 3 否
課程名 定長字元型(char) 16 否
開課學期 整數型(tinyint) 1(系統默認值) 否
學時 整數型(tinyint) 1(系統默認值) 否
學分 整數型(tinyint) 4(系統默認值) 允許
CREATE TABLE course(
課程號 char(3) NOT NULL,
課程名 char(16) NOT NULL,
開課日期 tinyint NOT NULL,
學時 tinyint NOT NULL,
學分 tinyint NULL)
9. 根據以下要求寫出實現表操作的SQL語句。
假設資料庫中已經建立好以下表結構。
表名:Course
列名 數據類型 長度 是否允許為空
課程號 定長字元型(char) 3 否
課程名 定長字元型(char) 16 否
開課學期 整數型(tinyint) 1(系統默認值) 否
學時 整數型(tinyint) 1(系統默認值) 否
學分 整數型(tinyint) 4(系統默認值) 允許
請分別寫出如下操作的SQL語句:
(1) 增加新列「授課教師」,數據類型為char,長度為10,不允許為空;
(2) 刪除「學時」列;
(3) 將「課程名」列的長度由原來16改為20。
(1)ALTER TABLE Course ADD 授課教師 char(10) NOT NULL
(2)ALTER TABLE Course DROP COLUMN 學時
(3)ALTER TABLE Course ALTER COLUMN 課程名 char(20)
10. 資料庫中已經存在下表。
表名:Course
列名 數據類型 長度 是否允許為空
課程號 定長字元型(char) 3 否
課程名 定長字元型(char) 16 否
開課學期 整數型(tinyint) 1(系統默認值) 否
學時 整數型(tinyint) 1(系統默認值) 否
學分 整數型(tinyint) 4(系統默認值) 允許
繼續需要請留郵箱&上我空間留郵箱

Ⅳ PLSQL資料庫許可權基礎筆記(GRANT,REVOKE)

許可權包括:

SELECT 

INSERT

UPDATE[(col1,col2)]; 可以加括弧表示只賦予特定列的許可權

DELETE

ALTER

ALL PRIVILEGES

...

CREATE INDEX

CREATE TABLE

ALL PRIVILEGES

...

PUBLIC 關鍵字可以替換用戶名 代表全體用戶

ALL 關鍵字替代許可權 代表所有許可權

WITH GRANT OPTION 表示 賦予用戶許可權的許可權

GRANT OPTION FOR表示撤銷賦予用戶許可權的許可權

我們可以把許可權賦予角色 然後將角色賦予用戶 簡化操作。

創建角色

CREATE ROLE ROLENAME;

GRANT 許可權 ON 表名 TO 角色;

將角色賦予用戶

GRANT ROLENAME TO USERNAME;

GRANT CONNECT TO laurent IDENTIFIED BY motDePasse

Ⅵ oracle筆記-動態SQL

第 章 動態SQL

為何使用動態SQL

實現動態SQL有兩種方式 DBMS_SQL和本地動態SQL(EXECUTE IMMEIDATE)

主要從以下方面考慮使用哪種方式

是否知道涉及的列數和類型

DBMS_SQL包括了一個可以 描述 結果集的存儲過程(DBMS_SQL DESCRIBE_COLUMNS) 而本地動態SQL沒有

是否知道可能涉及的綁定變數數和類型

DBMS_SQL允許過程化的綁定語句的輸入 而本地動態SQL需要在編譯時確定

是否使用 數組化 操作(Array Processing)

DBMS_SQL允許 而本地動態SQL基本不可以 但可以用其他方式實現(對查詢可用FETCH BULK COLLECT INTO 對INSERT等 可用一個BEGIN … END塊中加循環實現)

是否在同一個會話中多次執行同一語句

DBMS_SQL可以分析一次執行多次 而本地動態SQL會在每次執行時進行軟分析

是否需要用REF CURSOR返回結果集

僅本地動態SQL可用REF CURSOR返回結果集

如何使用動態SQL

DBMS_SQL

調用OPEN_CURSOR獲得一個游標句柄

調用PARSE分析語句 一個游標句柄可以用於多條不同的已分析語句 但一個時間點僅一條有效

調用BIND_VARIABLE或BIND_ARRAY來提供語句的任何輸入

若是一個查詢(SELECT語句) 調用DIFINE_COLUMN或DEFINE_ARRAY來告知Oracle如何返回結果

調用EXECUTE執行語句

若是一個查詢 調用FETCH_ROWS來讀取數據 可以使用COLUMN_VALUE從SELECT列表根據位置獲得這些值

否則 若是一個PL/SQL塊或帶有RETURN子句的DML語句 可以調用VARIABLE_VALUE從塊中根據變數名獲得OUT值

調用CLOSE_CURSOR

注意這里對任何異常都應該處理 以關閉游標 防止泄露資源

本地動態SQL

EXECUTE IMMEDIATE 語句

[INTO {變數 變數 … 變數N | 記錄體}]

[USING [IN | OUT | IN OUT] 綁定變數 … 綁定變數N]

[{RETURNING | RETURN} INTO 輸出 [ … 輸出N]…]

注意本地動態SQL僅支持弱類型REF CURSOR 即對於REF CURSOR 不支持BULK COLLECT

最後說明

lishixin/Article/program/Oracle/201311/18948

Ⅶ sql server 2008 的一些筆記 盡量詳細些

建議你申請一個博客園的賬號,然後在學習中不知道的,都可以在博客園中找資料看看,博客園中的資料講解非常的詳細,對於初學者而言,幫助還是非常大的

Ⅷ SQL基礎筆記

1 、SQL 分類 - 3類

1.1、DDL 語句

Ⅸ 「筆記」資料庫查詢機制以及select的使用

查詢語法

asc升序(從小到大,默認就是升序,可以不寫) desc降序(從大到小) order by這句一定是放在最後。如果有多個列名,使用英文逗號分開,優先排序前面的,先排列前面的列名,然後再排序後面的列名。

查詢全部行和列:

查詢部分行業列:

select Sname,SGrade from Students

where

as取別名

取別名,再給領導匯報數據的時候,欄位都是是用自己定義的數據,領導可能看不懂,怎麼辦?把欄位換成中文來顯示:

判斷空值有兩種,一種是有值刪除後,使用=,where Name=』『

如果是值默認的空值NULL,只能使用is,where Name is NULL

使用 top 數字 取前幾條查詢語句

使用百分比 top 數字 percent

另外只有日期類型比較特殊,可以使用大於等於小於的,帶引號,格式不能寫錯。

系統函數:

字元串函數

charindex

select charindex(參數1需要找的,數據源,起始位置數字)

LEN 返回長度。(去掉最右邊的空格,中間和前面的空格去不掉)

selcet len(』 M y 『)

LTRIM 去左邊的空格,嵌套使用

select len(ltrim(' M y ') //去掉左邊的空格,返回

……太多了,記不住,需要的時候,到網上搜索

還有日期函數,數學函數,……

cast數據轉換

select cast(文本數字 as int)

convert有格式的轉換

Ⅹ 求 sql server資料庫 備課筆記,速~~!!

這種事也乾的出,我們老師的臉都被你丟沒了,不會找同事要麼?到這里來要!