事务、视图、索引、备份、还原
事務: 是作為單個邏輯公作單元執行的一系列操作 。事務是一個不可分割的公作邏輯單元
多個操作作為一個整體向系統提交.要么都執行,要么不執行
?
事務必須具備以下四個屬性,簡稱ACID屬性
原子性 事務是一個完整的操作,事務的各步操作是不可分的原子性
一致性
當事務完成時,數據必須處于一致狀態
隔離性
并發事務之間彼此隔離 獨立 它不應該以任何方式依賴于或影響其他事務
持久性
事務完成后,它對數據庫的修改被永久保持
MYSQL中支持事務的儲存引擎InnoDB和BDB
開始事務
BEGIN
或
START TRANSACTION
提交事務 : COMMIT
回滾(撤銷)事務:ROLLBACK
默認情況下,每一條單獨的SQL語句視為一個事務
關閉默認提交狀態后,可手動開啟,關閉事務
關閉/開啟自動提交狀態
SET autocommit=0|1;
值為0:關閉自動提交
值為1:開啟自動提交
關閉自動提交后,從下一條語句開始則開啟新事務,需要使用commit或者rollback語句結束該事務
事務是作為單個邏輯單元執行的一系列操作
四個屬性
原子性
一致性
隔離性
持久性
操作事務
開始事務 提交事務 回滾事務
視圖的主要用途
篩選表中的行
防止未經許可的用戶訪問敏感數據
降低操作數據庫的復雜過程
將多個物理數據庫抽象作為一個邏輯數據庫
使用SQL語句創建視圖
CREATE VIEW VIEW_name
as
<SELECT 語句>
使用SQL語句刪除視圖
DROP VIew [IF EXISTS] view_name
?????????????? ↓
? 刪除前判斷視圖是否存在
使用SQL語句查看視圖
SELECT 字段一,字段二,....FROM VIEW_name
查看所用視圖
USE INFOrMAtion_schema
SELECT * from VIEWS\G
注意事項:
視圖中可以使用多張表
一個視圖可以嵌套另一個視圖
對視圖數據進行添加,更新和刪除操作將直接影響所引用表中的數據
當視圖數據來自多個表時,不允許添加和刪除數據
使用視圖修改數據會有很多限制,一般在實際開發中視圖僅用作查詢
索引是一種有效組合數據的方式,為了快速的查找到指定記錄
作用
大大提高數據庫的檢索速度
改善數據的性能
MYSQL索引按存儲類型分類
B-樹索引: InnoDB MyISAM均支持
哈希索引
普通索引:基本索引
?允許在定義索引的列插入重復值和空值
唯一索引:索引列數據不重復
?允許有空值
主鍵索引:主鍵列中的每一個值是非空唯一的
? 一個主鍵將自動創建主鍵索引
復合索引:將多個列組合作為索引
全文索引:支持值得全文查找
?允許重復值和空值
空間索引: 對空間數據類型的列建立的索引
創建一個索引
CREATE???? index 索引名
刪除索引
DROP INDEX index_name on table_name
刪除表時候 該表的索引同時被刪除
按照下列標準選擇建立索引的列
頻繁搜素的列
經常用作查詢的列
經常排序分組的列
經常用作連接列(主鍵/外鍵)
請不要使用下面的列創建索引
僅包含幾個不同值的列
表中僅包含幾行
查詢時減少使用* 返回全部列,不要返回不需要的列
索引應該盡量小,在字節數小的列上建立索引
where子句有多個條件表達式,包含索引列的表達式應置于其他表達式之前
避免在orderby子句中使用表達式
SHOW INDEX from 表名
查看數據庫中全部索引信息
USE MYSCHOOL
SHOW INDEX FROM `STUDENT\G`
備份和還原
?備份
?mysqldump -uroot -hlocalhost -p myschool>d:\\1.sql
?恢復
?mysql -uroot -proot myschool<d:\\1.sql
?
轉載于:https://www.cnblogs.com/wh1520577322/p/8465510.html
總結
以上是生活随笔為你收集整理的事务、视图、索引、备份、还原的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RocketMQ集群搭建-4.2.0版本
- 下一篇: elastic search2.3.1(