day37 學習總結

2021-10-21 12:18:09 字數 1786 閱讀 4645

結構:

主表:用來約束從表

從表:從表的外來鍵的一列中的元素必須時主表中存在元素,並且存在一列與主表主鍵對應

建立表時新增外來鍵約束

constrict 外鍵名 foreign key 外來鍵欄位名 reference 主表名(主鍵欄位名)

已有的表中增加外來鍵約束

alter table 從表 add constrict 外鍵名 foreign key 外來鍵欄位名 reference 主表名(主鍵欄位名)

刪除外來鍵

alter table 從表 drop foreign key 外來鍵名稱 ;

修改或者刪除主表中的主鍵時,同時更新或者喊出附表的外來鍵

on update cascade//級聯更新

on delete cascade//級聯刪除

1nf:資料表中的每一列都是不可分割的原子項

2nf:滿足第一正規化的條件下,表中的每一列都依賴於主鍵,一張表只完成一件事

3nf:滿足第二正規化的前提下,表中的每一列都是直接依賴於主鍵,而不是通過其他列間接依賴於主鍵

笛卡爾乘積:兩個表中,左表的每條資料與右表的資料組合,產生的結果

內連線:

隱式內連線:

select 欄位名 from 左表,右表 where 條件

顯示內連線:

select 欄位名 左表 inner join 右表 on 條件

查詢步驟注意:

確定查詢的表

確定表得連線條件

確定查詢條件

確定查詢字段

外連線:

左外連線:

select 欄位名 from 左表 letf outer join 右表 on 條件

在內連線的基礎上,保證左表的資料全部顯示,滿足條件時顯示,否則顯示null

有外連線:

select 欄位名 from 左表 right outer join 右表 on 條件

在內連線的基礎上,保證右表的資料全部顯示,滿足條件時顯示,否則顯示null

子查詢:

查詢語句的巢狀

select * from 表名 where 條件=(select 字段 form 表名)

多條sql語句共同完成一件事情,並且不可分割,如果完不成則回到開始事務得初始狀態

手動提交事務

自動提交事務

應用: 開啟事務:start transaction;

提交事務:commit

回滾事務:rollback

設定自動提交事務

set @autocommit = 0//0表示自動提交事務,1表示手動提交事務

原子性(atomicity):每個事務都是乙個整體,不可拆分

一致性(consistency):事務執行前資料庫的狀態與執行後資料庫的狀態一致

隔離性(isolation):事務於事務之間不應該互相影響

永續性(durability):一旦事務執行成功,對資料庫的操作是永久的

read uncommitted:讀未提交,會產生髒讀,不可重複讀,幻讀

read committed:讀已提交,避免髒讀,不可重複讀,幻讀

repeatable read:可重複讀,避免髒讀,不能避免幻讀,可重複讀,mysql預設隔離級別

serializable:避免髒讀,可重複讀,避免幻讀,並且在執行事務時,只有當前事務提交之後,其他事務才可以執行

多路復用 day37

多路復用 指的是多個連線在復用乙個執行緒 反過來說 乙個執行緒處理多個連線 提高了單執行緒處理能 多路復用提公升的 單執行緒處理網路io的效率 協程提公升的是 單執行緒處理所有io的效率 多路復用 import socket import select server socket.socket se...

如風一樣,飛翔 Day37

我一直都認為自己是個反應沒有那麼敏銳的人,而不幸的是事實上也是,所以,在菜鳥的頭銜上,我不得不再揹負上乙個笨鳥的 光芒 我不苛求一飛沖天的傳奇,卻也有著不甘寂寞的激昂,我選擇先飛,因為我還渴求著,如風一樣,飛翔.作為乙個已婚人士,我不得不面對生活的瑣碎,可事實上,這繁雜的經歷卻給了我乙份波瀾不驚的沉...

每日一題 Day37 刪除顏色片段

總共有n個顏色片段排成一列,每個顏色片段要麼是 a 要麼是 b 給你乙個長度為n的字串colors,其中 colors i 表示第 i 個顏色片段的顏色。alice 和 bob 在玩乙個遊戲,他們 輪流 從這個字串中刪除顏色。alice 先手 如果乙個顏色片段為 a 且 相鄰兩個顏色 都是顏色 a ...