一.SQL簡介
二.SQL數據類型
三.SQL語法
四.SQL SELECT語句
五.SQL INSERT語句
六.SQL UPDATE語句
七.SQL DELETE語句
八.SQL DROP語句
九.SQL CREDTE語句
十.SQL?ALTER 語句總結
十一.SQL事務
十二.函數總結
十三.數據庫其他操作
十四.MySQL 、SQL MS Access、和 SQL Server 數據類型
十五.存儲過程專題
?
1.SQL 是用于訪問和處理數據庫的標準的計算機語言,這類數據庫包括:Oracle, Sybase, SQL Server, DB2, Access ,mysql等等。
結構化查詢語言(Structured Query Language)簡稱SQL,一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;
同時也是數據庫腳本文件的擴展名。
?
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的接口。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
SQL 是什么?
- SQL 發音為“sequel”。
- SQL 指結構化查詢語言,全稱是 Structured Query Language(是最初由IBM開發)。
- SQL 是關系數據庫系統的標準語言。
- SQL 是一種 ANSI(American National Standards Institute 美國國家標準化組織)標準的計算機語言。
SQL 能做什么?
- SQL可以創建新的數據庫及其對象(表,索引,視圖,存儲過程,函數和觸發器)。
- SQL可以修改現有數據庫的結構。
- SQL可以從數據庫中刪除(刪除)對象。
- SQL可以TRUNCATE(刪除)表中的所有記錄。
- SQL可以對數據字典進行COMMENT。
- SQL可以RENAME一個對象。
- SQL可以從數據庫中選擇(檢索)數據。
- SQL可以將數據插入到表中。
- SQL可以更新表中的現有數據。
- SQL可以從數據庫表中刪除記錄。
- SQL可以在數據庫中設置用戶的GRANT和REVOKE權限。
SQL 的歷史
- SQL由IBM的Donald D. Chamberlin和Raymond F. Boyce于1970年開發。
- 首先,開發版本最初被稱為SEQUEL(結構化英語查詢語言)。
- 關系軟件于1979年發布了第一個叫做System / R的商業產品。
- 由于商標沖突問題,SEQUEL首字母縮略詞后來更改為SQL。
- 后來IBM基于System / R的原型開始在SQL上開發商業產品。
- SQL 格式化工具:https://www.w3cschool.cn/tools/index?name=sql_formatter
2.SQL語句結構
結構化查詢語言包含6個部分:
一:數據查詢語言(DQL:Data Query Language):
其語句,也稱為“數據檢索語句”,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其他類型的SQL語句一起使用。
二:數據操作語言(DML:Data Manipulation Language):
其語句包括動詞INSERT,UPDATE和DELETE。它們分別用于添加,修改和刪除表中的行。也稱為動作查詢語言。
三:事務處理語言(TPL):
它的語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
四:數據控制語言(DCL):
它的語句通過GRANT或REVOKE獲得許可,確定單個用戶和用戶組對數據庫對象的訪問。某些RDBMS可用GRANT或REVOKE控制對表單個列的訪問。
五:數據定義語言(DDL):
其語句包括動詞CREATE和DROP。在數據庫中創建新表或刪除表(CREAT TABLE 或 DROP TABLE);為表加入索引等。DDL包括許多與人數據庫目錄中獲得數據有關的保留字。它也是動作查詢的一部分。
六:指針控制語言(CCL):
它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于對一個或多個表單獨行的操作。
簡要描述一下結構化查詢語言中的五種數據類型:字符型,文本型,數值型,邏輯型和日期型。
1.字符型(VARCHARVS CHAR)
VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字符串長度小于255的字符。
假如你向一個長度為四十個字符的VARCHAR型字段中輸入數據Bill Gates。當你以后從這個字段中取出此數據時,你取出的數據其長度為十個字符——字符串Bill Gates的長度。假如你把字符串輸入一個長度為四十個字符的CHAR型字段中,那么當你取出數據時,所取出的數據長度將是四十個字符。字符串的后面會被附加多余的空格。
當你建立自己的站點時,你會發現使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段時,你不需要為剪掉你數據中多余的空格而操心。
VARCHAR型字段的另一個突出的好處是它可以比CHAR型字段占用更少的內存和硬盤空間。當你的數據庫很大時,這種內存和磁盤空間的節省會變得非常重要。?
2.文本型(TEXT)
使用文本型數據,你可以存放超過二十億個字符的字符串。當你需要存儲大串的字符時,應該使用文本型數據。
注意文本型數據沒有長度,而上一節中所講的字符型數據是有長度的。一個文本型字段中的數據通常要么為空,要么很大。
當你從HTML FORM的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲于文本型字段中。但是,無論何時,只要你能避免使用文本型字段,你就應該不使用它。文本型字段既大且慢,濫用文本型字段會使服務器速度變慢。文本型字段還會吃掉大量的磁盤空間。
一旦你向文本型字段中輸入了任何數據(甚至是空值),就會有2K的空間被自動分配給該數據。除非刪除該記錄,否則你無法收回這部分存儲空間。?
3,。數值型(整數INT 、小數NUMERIC、錢數MONEY)
INT 對比 SMALLINT 對比 TINYINT
通常,為了節省空間,應該盡可能的使用最小的整型數據。一個TINYINT型數據只占用一個字節;一個INT型數據占用四個字節。這看起來似乎差別不大,但是在比較大的表中,字節數的增長是很快的。另一方面,一旦你已經創建了一個字段,要修改它是很困難的。因此,為安全起見,你應該預測一下,一個字段所需要存儲的數值最大有可能是多大,然后選擇適當的數據類型。
NUMERIC
為了能對字段所存放的數據有更多的控制,你可以使用NUMERIC型數據來同時表示一個數的整數部分和小數部分。NUMERIC型數據使你能表示非常大的數——比INT型數據要大得多。一個NUMERIC型字段可以存儲從-10^38到10^38范圍內的數。NUMERIC型數據還使你能表示有小數部分的數。例如,你可以在NUMERIC型字段中存儲小數3.14。
MONEY 對比 SMALLMONEY
你可以使用 INT型或NUMERIC型數據來存儲錢數。但是,專門有另外兩種數據類型用于此目的。如果你希望你的網點能掙很多錢,你可以使用MONEY型數據。如果你的野心不大,你可以使用SMALLMONEY型數據。MONEY型數據可以存儲從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢數。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數據。
SMALLMONEY型數據只能存儲從-214,748.3648到214,748.3647 的錢數。同樣,如果可以的話,你應該用SMALLMONEY型來代替MONEY型數據,以節省空間。
?
邏輯型(BIT)
如果你使用復選框(CHECKBOX)從網頁中搜集信息,你可以把此信息存儲在BIT型字段中。BIT型字段只能取兩個值:0或1。
注意:在你創建好一個表之后,你不能向表中添加 BIT型字段。如果你打算在一個表中包含BIT型字段,你必須在創建表時完成。
日期型(DATETIME 對比 SMALLDATETIME)
一個 DATETIME型的字段可以存儲的日期范圍是從1753年1月1日第一毫秒到9999年12月31日最后一毫秒。
如果你不需要覆蓋這么大范圍的日期和時間,你可以使用SMALLDATETIME型數據。它與DATETIME型數據同樣使用,只不過它能表示的日期和時間范圍比DATETIME型數據小,而且不如DATETIME型數據精確。一個SMALLDATETIME型的字段能夠存儲從1900年1月1日到2079年6月6日的日期,它只能精確到秒。
DATETIME型字段在你輸入日期和時間之前并不包含實際的數據,認識這一點是重要的。
SQL 語法規則?
- SQL語句總是以關鍵字開始。
- SQL語句以分號結尾。
- SQL不區分大小寫,意味著update與UPDATE相同
SQL 語句后面的分號??
- 一些數據庫系統需要在每個SQL語句的末尾使用分號。
- 分號是分離數據庫系統中每個SQL語句的標準方法,這樣您就可以在對服務器的同一請求中執行多個SQL語句。
一些最重要的 SQL 命令
- SELECT?- 從數據庫中提取數據
- UPDATE?- 更新數據庫中的數據
- DELETE?- 從數據庫中刪除數據
- INSERT INTO?- 向數據庫中插入新數據
- CREATE DATABASE?- 創建新數據庫
- ALTER DATABASE?- 修改數據庫
- CREATE TABLE?- 創建新表
- ALTER TABLE?- 變更(改變)數據庫表
- DROP TABLE?- 刪除表
- CREATE INDEX?- 創建索引(搜索鍵)
- DROP INDEX?- 刪除索引?
https://www.cnblogs.com/lukelook/p/9585574.html?
https://www.cnblogs.com/lukelook/p/9586049.html
https://www.cnblogs.com/lukelook/p/9586221.html
https://www.cnblogs.com/lukelook/p/9587752.html
https://www.cnblogs.com/lukelook/p/9592856.html
https://www.cnblogs.com/lukelook/p/9592856.html
https://www.cnblogs.com/lukelook/p/9595340.html
https://www.cnblogs.com/lukelook/p/9597496.html
https://www.cnblogs.com/lukelook/p/9595437.html
https://www.cnblogs.com/lukelook/p/9595915.html
十四.MySQL 、SQL MS Access、和 SQL Server 數據類型
https://www.cnblogs.com/lukelook/p/9598088.html
https://www.cnblogs.com/lukelook/p/9600407.html