《MySQL必知必會》讀書筆記(一) 1~7章

一、模式 一種理解是關於數據庫和表的佈局及特性的信息; mysql

            另外一種理解是數據庫的同義詞。 sql

二、關於主鍵 數據庫

表中任何列均可以做爲主鍵,只要它知足如下條件: 安全

  • 任意兩行都不具備相同的主鍵值;
  • 每一個行都必須具備一個主鍵值(主鍵列不容許NULL值)。

主鍵一般定義在表的一列上,但這不是必需的,也能夠一塊兒使用多個列做爲主鍵。在使用多個列做爲主鍵時,上述條件必須應用到構成主鍵的全部列,全部列值的組合必須是惟一的(但單個列的值能夠不惟一)。 服務器

除強制規則外,應該堅持的幾個廣泛承認的好習慣: 佈局

  • 不更新主鍵列中的值;
  • 不重用主鍵列的值;
  • 不在主鍵列中使用可能會更改的值。

三、mysql命令參數 spa

-u用戶名,-h主機名,-P端口號,-p輸入密碼。 調試

四、選擇數據庫  排序

use 數據庫名 開發

五、show命令

  • show databases;
  • show tables;
  • show columns from 表名;與describe 表名;相同
  • show status; 顯示服務器狀態信息
  • show create database 庫名; 和show create table 表名; 分別用來顯示建立庫或表的sql語句
  • show grants;顯示用戶的安全權限
  • show errors 和 show warnings 顯示服務器錯誤或警告

六、SQL語句不區分大小寫,許多SQL開發人員喜歡對全部SQL關鍵字使用大寫,對全部列和代表使用小寫,這樣作⑩代碼更易於閱讀和調試。

七、select語句

  • 檢索單列 select 列名 from 表名;
  • 檢索多列 select 列名1,列名2 from 表名;
  • 檢索全部列 select * from 表名;
  • 檢索不一樣的行(惟一的行) select distinct 列名 from 表名;distinct關鍵字應用於全部列而不只是前置它的列,即select distinct 列名1,列名2 from 表名;表示列名1和列名2組合起來不一樣;
  • 限制結果 select 列名 from 表名 limit num; 返回結果很少於num行;select 列名 from 表名 limit num1, num2;返回結果從num1行開始,很少於num2行。行號從0開始。也能夠寫爲select 列名 from 表名 limit num2 offset num1。

八、排序檢索數據

select 列名 from 表名 order by 列名;默認爲升序(ASC),若是指定降序則爲 select 列名 from 表名 order by 列名 DESC; 

按多個列排序 select 列名 from 表名 order by 列名1,列名2。排序方向DESC只對前置它的列有效。

對文本性數據排序時,MySQL默認不區分大小寫。

order by子句應保證它位於from子句以後,若是使用limit,它必須位於order by以後。同時使用order by和where子句,order by應在where以後。

九、

where子句中使用的條件,若是將值與串類型的列進行比較,則須要限定引號;

使用between時必須制定兩個值,所需範圍的低端值和高端值,這兩個值必須用and分隔,between匹配範圍中全部的值,包括開始值和結束值。

能夠用is null匹配空值。注意在經過過濾選擇出不具備特定值的行時,具備NULL值的行不會被匹配。

OR的優先級小於AND。

相關文章
相關標籤/搜索