❶ 是真的猛!SQL 語法速成手冊
整理非常全面,原諒我書讀得少,只能用一句卧槽來贊美了!
本文針對關系型資料庫的一般語法。限於篇幅,本文側重說明用法,不會展開講解特性、原理。
SQL(Structured Query Language),標准 SQL 由 ANSI 標准委員會管理,從而稱為 ANSI SQL。各個 DBMS 都有自己的實現,如 PL/SQL、Transact-SQL 等。
SQL 語法結構包括:
SQL 語法要點,例如:SELECT 與 select、Select 是相同的。
SQL 分類數據定義語言(DDL):
數據定義語言(Data Definition Language,DDL)是 SQL 語言集中負責數據結構定義與資料庫對象定義的語言。
DDL 的主要功能是定義資料庫對象。
DDL 的核心指令是CREATE、ALTER、DROP。
數據操縱語言(DML):
數據操縱語言(Data Manipulation Language, DML)是用於資料庫操作,對資料庫其中的對象和數據運行訪問工作的編程語句。
DML 的主要功能是訪問數據,因此其語法都是以讀寫資料庫為主。
DML 的核心指令是INSERT、UPDATE、DELETE、SELECT。這四個指令合稱 CRUD(Create, Read, Update, Delete),即增刪改查。
事務控制語言(TCL):
事務控制語言 (Transaction Control Language, TCL) 用於管理資料庫中的事務。這些用於管理由 DML 語句所做的更改。它還允許將語句分組為邏輯事務。
TCL 的核心指令是COMMIT、ROLLBACK。
數據控制語言(DCL):
數據控制語言 (Data Control Language, DCL) 是一種可對數據訪問權進行控制的指令,它可以控制特定用戶賬戶對數據表、查看錶、預存程序、用戶自定義函數等資料庫對象的控制權。
DCL 的核心指令是GRANT、REVOKE。
(以下為 DML 語句用法)
增刪改查,又稱為 CRUD,資料庫基本操作中的基本操作。
插入數據:
插入完整的行、插入行的一部分、插入查詢出來的數據
更新數據 刪除數據:
刪除表中的指定數據、清空表中的數據
查詢數據:
查詢單列、查詢多列、查詢所有列、查詢不同的值、限制查詢結果
子查詢:
子查詢是嵌套在較大查詢中的 SQL 查詢。子查詢也稱為內部查詢或內部選擇,而包含子查詢的語句也稱為外部查詢或外部選擇。
子查詢的子查詢、WHERE 運算符描述、運算符描述:=等於、<>不等於、注釋:在 SQL 的一些版本中,該操作符可被寫成 !=、>大於、<=小於等於、BETWEEN 在某個范圍內、LIKE搜索某種模式、IN指定針對某個列的多個可能值。
SELECT 語句中的 WHERE 子句、UPDATE 語句中的 WHERE 子句、DELETE 語句中的 WHERE 子句。
IN 和 BETWEEN:
IN 示例、BETWEEN 示例
AND、OR、NOT:
AND 示例、OR 示例、NOT 示例
LIKE:
% 示例、_ 示例
連接和組合連接(JOIN):
內連接(INNER JOIN)、自連接、自然連接(NATURAL JOIN)、左連接(LEFT JOIN)、右連接(RIGHT JOIN)、組合(UNION)。
組合查詢
JOIN vs UNION
函數:
不同資料庫的函數往往各不相同,因此不可移植。本節主要以 Mysql 的函數為例。文本處理、函數說明、函數說明、LEFT()、RIGHT()、左邊或者右邊的字元、LOWER()、UPPER()、轉換為小寫或者大寫、LTRIM()、RTIM()、去除左邊或者右邊的空格、LENGTH()、長度、SOUNDEX()、轉換為語音值、其中,SOUNDEX() 可以將一個字元串轉換為描述其語音表示的字母數字模式。
日期和時間處理、函 數說 明、函 數說 明、AddDate()、增加一個日期(天、周等)、AddTime()、增加一個時間(時、分等)、CurDate()、返回當前日期、CurTime()、返回當前時間、Date()、返回日期時間的日期部分、DateDiff()、計算兩個日期之差、Date_Add()、高度靈活的日期運算函數、Date_Format()、返回一個格式化的日期或時間串、Day()、返回一個日期的天數部分、DayOfWeek()、對於一個日期,返回對應的星期幾、Hour()、返回一個時間的小時部分、Minute()、返回一個時間的分鍾部分、Month()、返回一個日期的月份部分、Now()、返回當前日期和時間、Second()、返回一個時間的秒部分、Time()、返回一個日期時間的時間部分、Year()、返回一個日期的年份部分。
數值處理、函 數說 明、函 數說 明、SIN()、正弦、COS()、餘弦、TAN()、正切、ABS()、絕對值、SQRT()、平方根、MOD()、余數、EXP()、指數、PI()、圓周率、RAND()、隨機數。
匯總、函 數說 明、AVG()、返回某列的平均值、COUNT()、返回某列的行數、MAX()、返回某列的最大值、MIN()、返回某列的最小值、SUM()、返回某列值之和、AVG() 會忽略 NULL 行、使用 DISTINCT 可以讓匯總函數值匯總不同的值。
排序和分組、ORDER BY、指定多個列的排序方向、GROUP BY、分組、分組後排序、HAVING、使用 WHERE 和 HAVING 過濾數據。
數據定義、DDL 的主要功能是定義資料庫對象(如:資料庫、數據表、視圖、索引等)。
資料庫(DATABASE)、創建資料庫、刪除資料庫、選擇資料庫、數據表(TABLE)、創建數據表、普通創建、根據已有的表創建新表、刪除數據表、修改數據表、添加列、刪除列、修改列、添加主鍵、刪除主鍵、視圖(VIEW)、創建視圖、刪除視圖、索引(INDEX)、創建索引、創建唯一索引、刪除索引、約束、SQL 約束用於規定表中的數據規則、創建表時使用約束條件。
事務處理、(以下為 DCL 語句用法)
許可權控制、創建賬戶、修改賬戶名、刪除賬戶、查看許可權、授予許可權、刪除許可權、更改密碼。
存儲過程、創建存儲過程、使用存儲過程。
游標、十二、觸發器:
觸發器是一種與表操作有關的資料庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行。可以使用觸發器來進行審計跟蹤,把修改記錄到另外一張表中。MySQL 不允許在觸發器中使用 CALL 語句,也就是不能調用存儲過程。BEGIN 和 END、當觸發器的觸發條件滿足時,將會執行BEGIN 和 END 之間的觸發器執行動作、注意:在 MySQL 中,分號; 是語句結束的標識符,遇到分號表示該段語句已經結束,MySQL 可以開始執行了、因此,解釋器遇到觸發器執行動作中的分號後就開始執行,然後會報錯,因為沒有找到和 BEGIN 匹配的 END、這時就會用到 DELIMITER 命令(DELIMITER 是定界符,分隔符的意思)、它是一條命令,不需要語句結束標識、語法為:DELIMITER new_delemiter、new_delemiter 可以設為 1 個或多個長度的符號、默認的是分號 ;、我們可以把它修改為其他符號、如 $ - DELIMITER $、在這之後的語句、以分號結束、解釋器不會有什麼反應、只有遇到了 $、才認為是語句結束、注意、使用完之後、我們還應該記得把它給修改回來。
NEW 和 OLD、創建觸發器、提示:為了理解觸發器的要點、有必要先了解一下創建觸發器的指令、CREATE TRIGGER 指令用於創建觸發器、語法、說明、示例、查看觸發器、刪除觸發器、復制、推薦閱讀、分享一套SpringBoot開發博客系統源碼、以及完整開發文檔、速度保存、Github上最值得學習的100個Java開源項目、涵蓋各種技術棧、2020年最新的常問企業面試題大全以及答案。
❷ 什麼是VFB二級考試
VFB二級考試是全國計算機等級考試(National Computer Rank Examination,簡稱NCRE),是經原國家教育委員會(現教育部)批准,由教育部考試中心主辦,面向社會,用於考查應試人員計算機應用知識與能力的全國性計算機水平考試體系。
二級考試(Visual FoxPro 程序設計)
基本要求
1.具有資料庫系統的基礎知識。
2.基本了解面向對象的概念。
3.掌握關系資料庫的基本原理。
4.掌握資料庫程序設計方法。
5.能夠使用Visual FoxPro建立一個小型的資料庫應用系統。
考試內容
一、Visual Foxpro的基礎知識
1.基本概念:資料庫,數據模型,資料庫管理系統、類和對象、事件、方法。
2.關系資料庫:
(1)關系資料庫:關系模型、關系模式、關系、元組、屬性、域、主關鍵字和外部關鍵字。
(2)關系運算:投影、選擇、聯接。
(3)資料庫的一致性和完整性:實體完整性、域完整性、參照完整性。
3.Visual FoxPro系統特點與工作方式:
(1)Windows版本的資料庫特點。
(2)數據類型和主要文件類型。
(3)各種設計器和向導。
(4)工作方式:交互方式(命令方式、可視化操作)和程序運行方式。
4.Visual Foxpro的基本數據元素:
(1)常量、變數、表達式。
(2)常用函數:字元處理函數、數值運算函數、日期時間函數、數據類型轉換函數、測試函數。
二、Visual FoxPro資料庫的基本操作
1.資料庫和表的建立、修改與有效性檢驗:
(1)表結構的建立與修改。
(2)表記錄的瀏覽、增加、刪除與修改。
(3)創建資料庫,向資料庫添加或從資料庫刪除表。
(4)設定欄位級規則和記錄級規則。
(5)表的索引:主索引、候選索引、普通索引、唯一索引。
2.多表操作:
(1)選擇工作區。
(2)建立表之間的關聯:一對一關聯、一對多關聯。
(3)設置參照的完整性。
(4)表的聯接JOIN:
內部聯接。
外部連接:左聯接、右聯接、完全聯接。
(5)建立表間臨時關系。
3.建立視圖與數據查詢:
(1)查詢文件的建立、執行與修改。
(2)視圖文件的建立、查看與修改。
(3)建立多表查詢。
三、關系型資料庫標准語言SQL
1、SQL的數據定義功能:
(1)CREATETABLE-SQL。
(2)ALTERTABLE-SQL。
2.SQL的數據修改功能:
(1)簡單查詢。
(2)嵌套查詢。
(3)聯接查詢。
(4)分組與計算查詢。
(5)集合的並運算。
四、項目管理器、設計器和向導的使用
1.使用項目管理器:
(1)使用「數據」選項卡。
(2)使用「文檔」選項卡。
2.使用表單設計器:
(1)在表單中加入和修改控制項對象。
(2)設定數據環境。
3.使用菜單設計器:
(1)建立主選項。
(2)設計子菜單。
(3)設定菜單選項程序代碼。
4.使用報表設計器:
(1)生成快速表。
(2)修改報表布局。
(3)設計分組報表。
(4)設計多欄報表。
5.使用應用程序向導。
五、Visual FoxPro程序設計
1、命令文件建立與運行:
(1)程序文件建立。
(2)簡單的交互方式輸入輸出命令。
(3)應用程序的調試與執行。
2.結構化程序設計:
(1)順序結構程序設計。
(2)分支結構程序設計。
(3)循環結構程序設計。
3.過程與過程調用:
(1)子程序設計與調用。
(2)過程與過程文件。
(3)局部變數和全局變數、過程調用中的參數傳遞。
考試方式
1.筆試:90分鍾。
2.上機考試:90分鍾。
上機操作包括:
(1)基本操作。
(2)簡單應用。
(3)綜合應用。