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