Python mysql-SQL概要
阿新 • • 發佈:2017-09-06
是否 括號 dbm 根據 插入 用戶 str date 指定
2017-09-05 20:10:58
一、SQL語句及其種類
SQL使用關鍵字,表名,列名等組合成一條語句來描述操作的內容。關鍵字是指那些含義或者使用方法是先已經定義好的英語單詞。根據RDBMS賦予的指令種類的不同,SQL語句可以分為以下三類:
- 數據定義語言DDL(data definition language)用來創建或者刪除數據庫以及數據庫中的表等對象。DDL包含以下幾種指令。
create : 創建數據庫和表等對象
drop : 刪除數據庫和表等對象
alter : 修改數據庫和表等對象的結構
- 數據操作語言DML(data manipulation language)用來查詢或者變更表中的記錄。DML包含以下幾種指令。
select : 查詢表中的數據
insert : 向表中插入新的數據
update : 變更表中的數據
delete : 刪除表中的數據
- 數據控制語言DCL(data control language)用來確認或者取消對數據庫中的數據進行的變更。除此之外,還可以對RDBMS的用戶是否有權限操作數據庫中的對象(數據庫表等)進行設定。DCL包含以下幾種指令。
commit : 確認對數據庫中的數據進行的變更
rollback : 取消對數據庫中的數據進行的變更
grant : 賦予用戶操作權限
revoke : 取消用戶的操作權限
實際使用的SQL語句中有90%屬於DML。
二、SQL的基本書寫規則
- SQL語句要以分號結尾
- SQL語句不區分大小寫(關鍵詞的大小寫不加區分)
- 常數的書寫方式是固定的(字符串和日期一遍需要使用但引號‘’括起來,數字常數無需加上單引號)
- 單詞之間需要使用半角空格或者換行符來進行分割
- 命名規則:只能使用半角英文字符、數字、下劃線作為數據庫、表和列的名稱。並且名稱的開頭必須以半角英文字符開始
三、數據類型
- INTEGER
用來指定存儲整數的列的數據類型,不能存儲小數
- CHAR
用來指定存儲字符串的列的數據類型,可以像CHAR(100)這樣,在括號中指定字符串的最大長度,字符串一旦超出最大長度的部分是無法輸入到該列中的。根據RDBMS的不同這裏的100有可能指的字符個數,也有可能指的是字節長度。
字符串以定長字符串的形式存儲在被指定為CHAR的列中,所謂定長字符串,就是當列中存儲的字符串長度達不到最大長度的時候,使用半角空格進行補足。當然這裏的字符是區分大小寫的。
- VARCHAR
可邊長字符串類型,可以像VARCHAR(100)這樣,在括號中指定字符串的最大長度,字符串如果未達最大長度,也不會使用半角空格進行補足。當然這裏的字符串是區分大小寫的。
- DATE
用來指定存儲日期(年月日)的列的數據類型
Python mysql-SQL概要