= & := 的區別
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 ...