mysql小知識總結

2021-08-21 16:36:29 字數 2468 閱讀 5359

show processlist; 資料庫死鎖 程序檢視

-- 查詢自增長步長

show variables like 'auto_inc%';

-- 查詢自增長 欄位下乙個值

select auto_increment_increment from information_schema.tables where table_schema='資料庫名' and table_name='表明';

1)mysql 中!='' 可以同時把!=null過濾掉

表資料:

查詢結果:

總結:1、null相當於乙個無窮小的值;

2、在函式count、sum等中會忽略null值,但count(*) 可以統計全表行數,而count(name)則是只統計name is not null的行數(注意)。

2)查詢資料庫所有資料庫表名和表注釋comment的sql

select table_name 表名,table_comment 表注釋 from information_schema.tables where table_schema = 'eln' ##資料庫名 

and table_name like 'companies'

3、group by 

1)用sum統計,當沒有資料時,會返回null行,使用group by 某乙個字段,就不會返回null行了,而是直接返回空

4、 resultmap

實體類中包含集合 

一、事務的基本要素(acid)

1、原子性(atomicity):事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事務執行過程中出錯,會回滾到事務開始前的狀態,所有的操作就像沒有發生一樣。也就是說事務是乙個不可分割的整體,就像化學中學過的原子,是物質構成的基本單位。

2、一致性(consistency):事務開始前和結束後,資料庫的完整性約束沒有被破壞 。比如a向b轉賬,不可能a扣了錢,b卻沒收到。

3、隔離性(isolation):同一時間,只允許乙個事務請求同一資料,不同的事務之間彼此沒有任何干擾。比如a正在從一張銀行卡中取錢,在a取錢的過程結束前,b不能向這張卡轉賬。

4、永續性(durability):事務完成後,事務對資料庫的所有更新將被儲存到資料庫,不能回滾。

二、事務的併發問題

1、髒讀:事務a讀取了事務b更新的資料,然後b回滾操作,那麼a讀取到的資料是髒資料

2、不可重複讀:事務 a 多次讀取同一資料,事務 b 在事務a多次讀取的過程中,對資料作了更新並提交,導致事務a多次讀取同一資料時,結果 不一致。

3、幻讀:系統管理員a將資料庫中所有學生的成績從具體分數改為abcde等級,但是系統管理員b就在這個時候插入了一條具體分數的記錄,當系統管理員a改結束後發現還有一條記錄沒有改過來,就好像發生了幻覺一樣,這就叫幻讀。

小結:不可重複讀的和幻讀很容易混淆,不可重複讀側重於修改,幻讀側重於新增或刪除。解決不可重複讀的問題只需鎖住滿足條件的行,解決幻讀需要鎖表

三、mysql事務隔離級別

事務隔離級別

髒讀不可重複讀

幻讀讀未提交(read-uncommitted)是是

是不可重複讀(read-committed)否是

是可重複讀(repeatable-read)否否

是序列化(serializable)否否

否mysql預設的事務隔離級別為repeatable-read

隔離級別

含義isolation_default

使用後端資料庫預設的隔離級別。

isolation_read_uncommitted

允許讀取尚未提交的更改。可能導致髒讀、幻影讀或不可重複讀。

isolation_read_committed

允許從已經提交的併發事務讀取。可防止髒讀,但幻影讀和不可重複讀仍可能會發生。

isolation_repeatable_read

對相同欄位的多次讀取的結果是一致的,除非資料被當前事務本身改變。可防止髒讀和不可重複讀,但幻影讀仍可能發生。

isolation_serializable

完全服從acid的隔離級別,確保不發生髒讀、不可重複讀和幻影讀。這在所有隔離級別中也是最慢的,因為它通常是通過完全鎖定當前事務所涉及的資料表來完成的。

小知識總結

關於nginx access.log 問題待 兩個重要的命令 netstat losf netstat a all 顯示所有選項,預設不顯示listen相關 t tcp 僅顯示tcp相關選項 u udp 僅顯示udp相關選項 n 拒絕顯示別名,能顯示數字的全部轉化成數字。l 僅列出有在 listen...

Activiti小知識總結

1.act hi actins表中assignee欄位沒有值的情況,必須在完成任務之前加上 指定某人 2.審批意見的設定,我們可以試用 採用意見表儲存 act hi comments taskservice.addcomment task.getid task.getprocessinstancei...

Activiti小知識總結

1.color red act hi actins表中assignee欄位沒有值的情況 color 必須在完成任務之前加上 指定某人 taskservice.claim task.getid userid img 2.審批意見的設定,我們可以試用 採用意見表儲存 act hi comments ta...