一、MySQL怎么建數(shù)據(jù)倉庫
CREATE DATABASE
應(yīng)該提到的在MySQL中創(chuàng)建數(shù)據(jù)庫的名列前茅種方法是使用CREATE DATABASE語句。該語句以指定的名稱創(chuàng)建一個(gè)數(shù)據(jù)庫。請(qǐng)記住,要使用它,你需要有數(shù)據(jù)庫的CREATE權(quán)限。語法:CREATE DATABASE mydatabase。
注意:
如果運(yùn)行CREATE DATABASE語句而未指定IF NOT EXISTS并且數(shù)據(jù)庫已經(jīng)存在,則會(huì)出現(xiàn)錯(cuò)誤。因此,較好使用IF NOT EXISTS子句來防止錯(cuò)誤。
CREATE DATABASE IF NOT EXISTS mydatabase;
在執(zhí)行CREATE DATABASE語句后,MySQL將返回一條消息,通知數(shù)據(jù)庫是否已成功創(chuàng)建。
從命令行客戶端創(chuàng)建數(shù)據(jù)庫
MySQL Command Line Client通常隨MySQL Server安裝包一起提供。它安裝有兩個(gè)版本–支持UTF-8,不支持UTF-8。您可以直接從“開始”菜單運(yùn)行控制臺(tái)客戶端。
通過MySQL命令行客戶端創(chuàng)建新的MySQL數(shù)據(jù)庫:
1.運(yùn)行客戶端。
2.輸入您的密碼。
3.執(zhí)行創(chuàng)建數(shù)據(jù)庫命令。
延伸閱讀:
二、undo log的工作原理
在更新數(shù)據(jù)之前,MySQL會(huì)提前生成undo log日志,當(dāng)事務(wù)提交的時(shí)候,并不會(huì)立即刪除undo log,因?yàn)楹竺婵赡苄枰M(jìn)行回滾操作,要執(zhí)行回滾(rollback)操作時(shí),從緩存中讀取數(shù)據(jù)。undo log日志的刪除是通過通過后臺(tái)purge線程進(jìn)行回收處理的。
1、事務(wù)A執(zhí)行update操作,此時(shí)事務(wù)還沒提交,會(huì)將數(shù)據(jù)進(jìn)行備份到對(duì)應(yīng)的undo buffer,然后由undo buffer持久化到磁盤中的undo log文件中,此時(shí)undo log保存了未提交之前的操作日志,接著將操作的數(shù)據(jù),也就是Teacher表的數(shù)據(jù)持久保存到InnoDB的數(shù)據(jù)文件IBD。
2、此時(shí)事務(wù)B進(jìn)行查詢操作,直接從undo buffer緩存中進(jìn)行讀取,這時(shí)事務(wù)A還沒提交事務(wù),如果要回滾(rollback)事務(wù),是不讀磁盤的,先直接從undo buffer緩存讀取。