日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

12.MYSQL高级(二)

發布時間:2024/7/5 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12.MYSQL高级(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.視圖(重點

視圖本質就是對查詢的封裝,定義視圖,建議以v_開頭

create view 視圖名稱 as select語句;

例:創建視圖,查詢學生對應的成績信息

create view v_stu_sco as
select students.*,scores.score from scores
inner join students on scores.stuid=students.id;

查看視圖:查看表會將所有的視圖也列出來

show tables;

刪除視圖

dropview 視圖名稱;
例:drop view v_stu_sco;

使用:視圖的用途就是查詢

select * from v_stu_score;

?

2.事務

事務(Transaction)是并發控制的基本單位。所謂事務,它是一個操作序列,這些操作要么都執行,要么都不執行,它是一個不可分割的工作單位。事務是數據庫維護數據一致性的單位,在每個事務結束時,都能保持數據一致性。

?

事務四大特性(簡稱ACID)

1.原子性(Atomicity):事務中的全部操作在數據庫中是不可分割的,要么全部完成,要么均不執行

2.一致性(Consistency):幾個并行執行的事務,其執行結果必須與按某一順序串行執行的結果相一致

3.隔離性(Isolation):事務的執行不受其他事務的干擾,事務執行的中間結果對其他事務必須是透明的

4.持久性(Durability):對于任意已提交事務,系統必須保證該事務對數據庫的改變不被丟失,即使數據庫出現故障

?

  • 查看表的創建語句show create table students;
  • 開啟事務,命令如下:begin;
  • 提交事務,命令如下:commit;
  • 回滾事務,命令如下:rollback;

?

?

3.索引(重點

主鍵和唯一索引,都是索引,可以提高查詢速度

主鍵是數據物理存儲的位置

索引會單獨創建一個目錄,對應數據的位置

索引分單列索引和組合索引

單列索引,即一個索引只包含單個列,一個表可以有多個單列索引

組合索引,即一個索引包含多個列

?

語法

查看索引show indexfrom 表名;

創建索引

  • 如果指定字段是字符串,需要指定長度,建議長度與定義字段時的長度一致
  • 字段類型如果不是字符串,可以不填寫長度部分

create index 索引名稱 on 表名(字段名稱(長度))

  • 刪除索引:

drop index 索引名稱 on 表名;

缺點

雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行INSERT、UPDATE和DELETE,因為更新表時,MySQL不僅要保存數據,還要保存一下索引文件

  • 建立索引會占用磁盤空間的索引文件

?

?

示例

?

創建測試表testindex

create table test_index(titlevarchar(10));

向表中加入十萬條數據

  • 創建存儲過程proc_test,在存儲過程中實現插入數據的操作

?

  • step1:定義分割符

delimiter //

  • step2:定義存儲過程

create procedureproc_test()
begin
declare i int default 0;
while i < 100000 do
insert into test_index(title) values(concat('test',i));
set i=i+1;
end while;
end //

  • step3:還原分割符

delimiter ;

  • 執行存儲過程proc_test

call proc_test();

總結

以上是生活随笔為你收集整理的12.MYSQL高级(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。