sql 語法重點提要

sql:Structured Query Language,用於對結構化數據(關係型數據庫)做CURD 操作。

關係數據庫表內字段的關係,表與表之間的關係可以理解爲對現實世界的建模。

表與表之間的關係:一對一、一對多(一個表的一條記錄對應另一個表的多條記錄)、多對多。

主鍵:每個表必有主鍵,可以由一個或多個列共同組成,不允許重複;數據庫自動爲逐漸建立索引(由多個列組成的主鍵稱爲聯合主鍵)。

索引:是對數據庫一個或多個列做預先排序的數據結構。使用索引可以讓數據庫不必掃描整個表,而直接定位到符合條件的記錄,大大加快查詢速度。索引的效率取決於列的值是否散列,即該列的值越不相同,索引效率越高,列的值重複的越多,索引效率越低。

sql 重要元素:

  • select column1, column2
  • from column1, column2
  • where condition1 (and or not) condition2
  • order by column1, column2
  • group by column1, column2
  • limit m offset n :限制返回的條數,以及返回數據的起始位移
  • 邏輯連接:and,or,not
  • 聚合函數:count,avg,sum,min,max

並列的字段用逗號分隔,別名用空格分隔

from多表查詢:from table1, table2,通過from 多個表實現的多表查詢,返回的是多個表的笛卡爾乘積

join 多表查詢:先確定主表(select table),根據條件(on condition)把從表(join table)的字段連接到主表上。可以join 多個從表,使用多個 join … on … 子句即可

  • inner join table on condition
  • left outer join
  • right outer join
  • full outer join

insert into table (col1, col2) values (value1, value2), (value1, value2);

updata table set col1=value1, col2=value2 where condition
(如果where選擇出多條語句,則所有被選中的語句都會被update)

delete from table where condition

MySQL Client的可執行程序是mysql,MySQL Server的可執行程序是mysqld。mysql client 通過 TCP 連接與mysql server 通信。

replace into table (col1, col2) values (value1, value2); 如果記錄不存在就直接插入,否則先刪除再插入

事物:把多條sql語句作爲一個整體執行,要麼全部全執行,要麼全不執行。事物具有ACID特性。
Begin; sql1; sql2; commit

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章