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