一、START TRANSACTION 和BEGIN TRAN的區(qū)別
在MySQL里,START TRANSACTION和BEGIN是等價(jià)的。Start TRANSACTION:開啟事務(wù)。BEGIN TRANSACTION:開啟事務(wù),標(biāo)識(shí)一個(gè)事務(wù)的開始。查閱資料顯示,它們作用是一樣的,只是符號(hào)不同,使用過程中只要不和某些特殊詞沖突就OK了。
形如:
?????? START TRANSACTION;
?????? 事務(wù)代碼
?????? commit;
比如更新用戶名:
??? ??? START TRANSACTION;
?????? update t_user set username=’jack’ where id=1;
?????? commit;
set autocommit=0,這個(gè)命令會(huì)將這個(gè)線程的更新自動(dòng)提交掉。這意味著如果你只執(zhí)行一個(gè)select語句,這個(gè)事務(wù)就啟動(dòng)了,并且不會(huì)自動(dòng)提交。這個(gè)事務(wù)持續(xù)存在知道你主動(dòng)執(zhí)行commit或rollback語句,或者鏈接斷開。
mysql中查看當(dāng)前自動(dòng)提交狀態(tài)的命令為:show VARIABLES like ‘a(chǎn)utocommit’; 如下value為on代表是自動(dòng)提交已經(jīng)打開。
延伸閱讀:
二、什么是數(shù)據(jù)庫
有組織且相互關(guān)聯(lián)的數(shù)據(jù)的集合稱為數(shù)據(jù)庫。database 是一個(gè)存儲(chǔ)數(shù)據(jù)的應(yīng)用程序。它有各種應(yīng)用程序,包括 MySQL、Microsoft SQL、Oracle 等。
每個(gè)數(shù)據(jù)庫都不同,因?yàn)槊總€(gè)公司/組織都有其結(jié)構(gòu)、數(shù)據(jù)類型和約束。數(shù)據(jù)庫 會(huì)定期更新,以獲取有關(guān)公司的最新數(shù)據(jù)。
數(shù)據(jù)庫可以手動(dòng)和數(shù)字方式維護(hù)。在這個(gè)數(shù)據(jù)無處不在的時(shí)代,數(shù)字?jǐn)?shù)據(jù)庫是優(yōu)選和使用。數(shù)據(jù)庫的大小取決于組織的數(shù)據(jù)和需求。
數(shù)據(jù)庫有很多種類型,從最簡單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。
數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫”。在經(jīng)濟(jì)管理的日常工作中,常常需要把某些相關(guān)的數(shù)據(jù)放進(jìn)這樣“倉庫”,并根據(jù)管理的需要進(jìn)行相應(yīng)的處理。
例如,企業(yè)或事業(yè)單位的人事部門常常要把本單位職工的基本情況(職工號(hào)、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個(gè)數(shù)據(jù)庫。
有了這個(gè)”數(shù)據(jù)倉庫”就可以根據(jù)需要隨時(shí)查詢某職工的基本情況,也可以查詢工資在某個(gè)范圍內(nèi)的職工人數(shù)等等。這些工作如果都能在計(jì)算機(jī)上自動(dòng)進(jìn)行,那的人事管理就可以達(dá)到極高的水平。
此外,在財(cái)務(wù)管理、倉庫管理、生產(chǎn)管理中也需要建立眾多的這種“數(shù)據(jù)庫”,使其可以利用計(jì)算機(jī)實(shí)現(xiàn)財(cái)務(wù)、倉庫、生產(chǎn)的自動(dòng)化管理。