1. 程式人生 > >Python mysql-SQL概要

Python mysql-SQL概要

是否 括號 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的基本書寫規則

  1. SQL語句要以分號結尾
  2. SQL語句不區分大小寫(關鍵詞的大小寫不加區分)
  3. 常數的書寫方式是固定的(字符串和日期一遍需要使用但引號‘’括起來,數字常數無需加上單引號)
  4. 單詞之間需要使用半角空格或者換行符來進行分割
  5. 命名規則:只能使用半角英文字符、數字、下劃線作為數據庫、表和列的名稱。並且名稱的開頭必須以半角英文字符開始

三、數據類型

  • INTEGER

用來指定存儲整數的列的數據類型,不能存儲小數

  • CHAR

用來指定存儲字符串的列的數據類型,可以像CHAR(100)這樣,在括號中指定字符串的最大長度,字符串一旦超出最大長度的部分是無法輸入到該列中的。根據RDBMS的不同這裏的100有可能指的字符個數,也有可能指的是字節長度。

字符串以定長字符串的形式存儲在被指定為CHAR的列中,所謂定長字符串,就是當列中存儲的字符串長度達不到最大長度的時候,使用半角空格進行補足。當然這裏的字符是區分大小寫的。

  • VARCHAR

可邊長字符串類型,可以像VARCHAR(100)這樣,在括號中指定字符串的最大長度,字符串如果未達最大長度,也不會使用半角空格進行補足。當然這裏的字符串是區分大小寫的。

  • DATE

用來指定存儲日期(年月日)的列的數據類型

Python mysql-SQL概要