使用事務保證資料完整性和建立和使用索引

2021-07-31 02:55:03 字數 1857 閱讀 6356

一.使用事務保證資料完整性

(一)mysql的事務處理

1.失誤就是將一組sql語句放在同一批次內執行

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

注意:mysql事務處理只支援innodb和bdb資料表型別

(二)事務的acid原則

1.原子性(atomic)

2.一致性(consist)

3.隔離性(isolated)

4.永續性(durable)

(三)mysql的事務實現方法

set  autocommit

使用set語句來改變自動提交模式

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

set  autocommit = 1;   #開啟自動提交模式

注意:mysql中預設是自動提交

使用事務時應關閉自動提交

(四)mysql的事務實現方法

1.start transaction

開始乙個事務,標記事務的起始點

2.commit

提交乙個事務給資料庫

3.rollback

將事務回滾,資料回到本次事務的初始狀態

4. set  autocommit = 1;

還原mysql資料庫的自動提交

二.建立和使用索引

資料庫索引

1.作用:

提高查詢速度

確保資料的唯一性

可以加速表和表之間的鏈結,實現表與表之間的參照完整性

使用分組和排序子句進行資料檢索時,可以顯著減少分組和排序的時間

全文檢索字段進行搜尋優化

2.分類:

主鍵索引(primary key)

唯一索引(unique)

常規索引(index)

全文索引(fulltext)

①主鍵索引

1.主鍵:

作用:某一屬性組能唯一標識一條記錄

如:學生表(學號,姓名,班級,性別等),學號是唯一標識的,可 作

為主鍵2.特點:最常見的索引型別

確保資料記錄的唯一性

②唯一索引

1.作用:避免同乙個表中某資料列中的值重複

2.與主鍵索引的區別:主鍵索引只能有乙個

唯一索引可有多個

③常規索引

1.作用:快速定位特定資料

2.注意:(1)index和key關鍵字都可以設定常規索引

(2)應加在查詢條件的字段

(3)不宜新增太多常規索引,影響資料的差入、刪除和修改操作

④全文索引

1.作用:快速定位特定資料

2.注意:只能用於myisam型別的資料表

只能用於char、varchar、text資料列表型

適合大型資料集

管理索引

1.建立索引:

建立表是新增

建表後追加:語法:alert table 表名 add索引型別(資料列名)

2.刪除索引:

drop  index  索引名  on      表名

alter  table  表名  drop  index   索引名

alter  table  表名  drop  primary key

3.檢視索引:

show    index(或keys)   from    表名

索引準則

1.索引不是越多越好

2.不要對經常變動的資料加索引

3.小資料量的表建議不要加索引

4.索引一般應加在查詢條件的字段

2.注意:(1)index和key關鍵字都可以設定常規索引

(2)應加在查詢條件的字段

(3)不宜新增太多常規索引,影響資料的差入、刪除和修改操作

保證資料完整性

1.資料的完整性 資料的完整性分為四類 實體完整性,域完整性,引用完整性,自定義完整性。2.資料完整性的實現 建立非空約束的語法 create table friend name varchar 50 not null 設定主鍵約束 主鍵約束是應用於表的列的乙個約束。設定唯一約束 指給定列的所有的值...

保證資料完整性

保證資料完整想性 資料完整性 可靠性 準確性 資料完整性分類 1.實體完整性 保證一行資料是有效的 2.域完整性 保證一列資料是有效的 3.引用完整性 保證引用1編號是有效的 4.使用者自定義完整性 保證自定義規則 資料完整性的實現 建立非空約束 not null 設定主鍵約束 primary ke...

保證資料的完整性

資料完整性 可靠性 準確性。保證資料的完整性可以從下面幾個方面進行完善 1 實體完整性 2 域完整性 3 引用完整性 4 使用者自定義完整性 實體完整性 保證行資料是有效的 主鍵約束,唯一約束 保證列資料是有效的 非空約束,預設約束,外來鍵約束等 主鍵約束 primary key 運用主鍵是要注意的...