mysql 學習筆記

2021-10-03 12:22:51 字數 1738 閱讀 8672

= & := 的區別

group by & group_concat

group_concat:將group by後同一組中的值連線起來

臨時表和記憶體表

# 建立臨時表

create temporary table tmp_table(name varchar(10));

# 建立記憶體表

create table tmp_table(name varchar(10)) engine=memory;

臨時表記憶體表

儲存表結構和資料均存在記憶體裡

表結構存在磁碟,資料存在記憶體

重啟表結構和資料均丟失

資料丟失但表結構仍存在

對外可見

對其他session不可見

對其他session可見,因此不同session的臨時表不能用相同的名字

show

show tables不可見

show tables可見

實現組內排序

對要分組的列進行排序,如money

初始化兩個變數:

@r:通過判斷@v和當前money值,對行號賦值

select * from

( select

t.aid,

t.money,

if ( @v <> t.money, @n := 1, @n := @n + 1 ) as num,

if ( @v <> t.money, @v := t.money, @v ) as ctype

from

( select tb.aid, tb.money from tb order by tb.money, tb.aid ) as t,

( select @v := 1, @n := 1 ) as b

) rt

order by

rt.aid

mysql

mongodb

型別關係型資料庫

非關係型資料庫

永續性(durability):一旦事務被提交,那麼資料就一定會被寫入到資料庫中並持久儲存起來。若想要回滾,則需要建立乙個相反的事務對原操作進行補償

不同隔離級別會出現的三種問題

資料庫和例項

資料庫是檔案的集合,使用者通過例項去訪問資料庫。

在unix上,啟動乙個mysql例項往往會產生兩個程序:

mysql的資料提取和儲存引擎:innodb

表儲存原理:表定義資料索引分開儲存,均是通過二進位制儲存

鎖悲觀鎖:真正的鎖,只有當鎖被釋放了,其他執行緒才能進行操作。

innodb實現的標準行級鎖

互斥鎖(exclusive lock):稱為寫鎖,允許事務對資料進行刪除或更新。互斥鎖與其他任何鎖都不相容

innodb實現了表級鎖,稱為意向鎖(intention lock),意向鎖可快速讓其他事務知道該錶是否有(行級)共享鎖。

鎖的演算法

間隙鎖(gap lock)

next-key鎖

鎖實測transaction1 和 transaction2對同一張表操作,t1查詢資料,t2寫資料。

mysql學習筆記 51 mysql學習筆記

初學mysql時整理,隨時更新 資料操作 增 insert into 表名 字段列表 values 值列表 值列表 如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。可同時插入多條資料記錄!replace 與 insert 完全一樣,可互換。insert into 表名 set 欄位名...

mysql學習筆記 51 Mysql 學習筆記

一.首先進入mysql mysql u root p新增使用者許可權設定 grant all privileges on to jerry localhost identified by aa1234567 只允許本機訪問 grant all privileges on to jerry 10.80...

mysql做筆記 mysql學習筆記

alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...