20200819 事務處理 新增索引

2021-10-23 12:37:55 字數 1827 閱讀 3970

將一組sql語句放在同一批次內去執行

(1)如果乙個sql語句出錯,則該批次內的所有sql都被取消執行

(2)myisam不支援事務

(3)事務的acid原則

原子性:一組語句當乙個整體執行

一致性:所有資料處於同樣的狀態

隔離性:事務之間互不影響

永續性:事務成交以後,對於資料的影響是持久的

–檢視資料庫事務支援

show variables like 『event scheduler』;

– 設定資料庫支援事務

set global scheduler=on;

set autocommit = 0; --關閉自動提交模式

start transaction; --開始乙個事務

commit/rollback; --提交乙個事務給資料庫/事務回滾,將資料回到本次初始狀態

set cutocommit = 1; --開啟自動提交

create table account(

id int(4) primary key auto_increment,

name varchar(32) not null,

cash decimal(9,2) not nul

insert into account(name,cash)

values(『a』,2000),(『b』,10000);

set autocommit = 0;

start transaction;

update account set cash = cash -500 where name=『customer』;

update account set cash = cash +500 where name=『shop』;

#commit;

rollback;

set autocommit = 1;

select * from account;

對錶裡面某列進行排序

在物理上來說是單獨的儲存在磁碟上的一種資料庫結構(對錶裡面的引用的指標)

(1)主鍵索引

資料庫會自動的給新增了主鍵的字段新增乙個索引

主鍵唯一區分資料庫裡的一條記錄

原理:資料庫把索引單獨存起來在乙個檔案裡,索引對應的是一些資料

當要查這個資料的時候會先去找這個索引,再根據這個索引直接找到這個資料

(類似於查字典)索引就相當於目錄

先找到在索引中的位置,再根據索引中的位置找到資料的位置

(2)唯一索引–不是為了提高查詢速度的

不同於主鍵索引

唯一索引是唯一的,但主鍵索引不是唯一的

主鍵可為空,且不唯一

(3)常規索引–是為了提高查詢速度的

經常被當作查詢條件的列可設定為常規索引

(4)全文索引–快速定位特定資料

只能用於mylsam型別的資料表

只能用於char varchar text

(1) 方式一:建立表,宣告列屬性時新增上

方式二:將所有列都宣告完畢後,再新增索引

方法三:先建立表,建立表完畢後,修改表新增索引

create table test(

in int(4) primary key,

testno varchar(10) unique

c varchar(50),

d varchar(20),

e text,

–或者方法二:

primary key(id),

unique key(testno),

index index_c(c,d),

fulltext(e)

) engine=myisam;

mysql 新增新增事務處理

開始首先說明一下,mysql資料庫預設的資料庫引擎是myisam,是不支援事務的,單數如果你新增了資料執行語句是不會出錯的,單數不管用,即便是回滾事務,記錄也是插入進去了,所有首先我們要做的第一步是更改資料庫引擎語句如下 alter table tablename engine innodb 用到的...

PB事務處理

1 資料視窗更新,只要dberror有錯誤,而事先沒有做過任何commit工作,那麼rollback可以回滾到上次commit位置,即上次commit後所有的資料將被回滾。2 如果是直接寫入sql語句,只要資料庫出現錯誤,那麼rollback可以回滾到上次commit的位置,即上次commit後所有...

MySQL事務處理

start transaction,commit和rollback語法 start transaction begin work commit work and no chain no release rollback work and no chain no release set autocom...