国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

Mysql數(shù)據(jù)庫(kù)高級(jí)用法之視圖、事務(wù)、索引、自連接、用戶(hù)管理實(shí)例分析

2020-01-18 20:38:31
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Mysql數(shù)據(jù)庫(kù)高級(jí)用法之視圖、事務(wù)、索引、自連接、用戶(hù)管理。分享給大家供大家參考,具體如下:

視圖

視圖是對(duì)若干張基本表的引用,一張?zhí)摫恚徊樵?xún)語(yǔ)句執(zhí)行結(jié)果的字段類(lèi)型和約束,不存儲(chǔ)具體的數(shù)據(jù)(基本表數(shù)據(jù)發(fā)生了改變,視圖也會(huì)跟著改變),方便操作,特別是查詢(xún)操作,減少?gòu)?fù)雜的SQL語(yǔ)句,增強(qiáng)可讀性。

1.――――創(chuàng)建視圖:

create view 視圖名稱(chēng)(一般以v_開(kāi)頭) as 查詢(xún)語(yǔ)句;

2.――――查看視圖:

select * from 視圖名稱(chēng);

3.――――刪除視圖:

drop view 視圖名稱(chēng);

事務(wù)

1.特性:四大特性ACID

(1)原子性(Atomicity):一個(gè)事務(wù)必須被視為一個(gè)不可分割的最小工作單元,整個(gè)事務(wù) 中的所有操作要么全部提交成功,要么全部失敗回滾,對(duì)于一個(gè)事務(wù)來(lái)說(shuō),不可能只執(zhí)行其中的一部分操作。

(2)一致性(Consistency):數(shù)據(jù)庫(kù)總是從一個(gè)一致性的狀態(tài)轉(zhuǎn)換到另一個(gè)一致性的狀態(tài)。

(3)隔離性(Isolation):一個(gè)事務(wù)所做的修改在最終提交以前,對(duì)其他事務(wù)是不可見(jiàn)的。

(4)持久性(Durability):一旦事務(wù)提交,則其所做的修改會(huì)永久保存到數(shù)據(jù)庫(kù)。

2.使用:

(1)開(kāi)啟事務(wù):開(kāi)啟事務(wù)后執(zhí)行修改命令,變更會(huì)為護(hù)到本地緩存,而不是物理表中。
begin;或者start transaction;

(2)回滾事務(wù):放棄緩存中變更的數(shù)據(jù),表示事務(wù)執(zhí)行失敗,回到開(kāi)始事務(wù)的狀態(tài)。
rollback;

(3)提交事務(wù):將緩存中的數(shù)據(jù)變更維護(hù)到物理表中。
commit;

索引

索引是一種特殊的文件(InnoDB數(shù)據(jù)表上的索引是表空間的一個(gè)組成部分),它們包含著對(duì)數(shù)據(jù)表里所有記錄的位置信息,更通俗的說(shuō),數(shù)據(jù)庫(kù)索引好比是一本書(shū)前面的目錄,能加快數(shù)據(jù)庫(kù)的查詢(xún)速度。

1.使用:

(1)――――查看索引:

show index from 表名;

(2)――――創(chuàng)建索引:

create index 索引名稱(chēng) on 表名(字段名稱(chēng)(長(zhǎng)度));

(3)――――刪除索引:

drop index 索引名稱(chēng) on 表名;

2.驗(yàn)證性能:

(1)開(kāi)啟運(yùn)行時(shí)間檢測(cè):

set profiling=1;

(2)查找第十萬(wàn)條數(shù)據(jù):

select * from test_index where title='ha-99999';

(3)為表建立索引:

create index title_index on test_index(title(10));

(4)查找第十萬(wàn)條數(shù)據(jù):

select * from test_index where title='ha-99999';

(5)查看執(zhí)行時(shí)間:

show profiles; 

總結(jié):索引可以極大提升查詢(xún)速度,但是創(chuàng)建索引的時(shí)間比查詢(xún)的速度要慢很多,所以 數(shù)據(jù)表經(jīng)常更新時(shí),不適合使用索引,當(dāng)數(shù)據(jù)表數(shù)據(jù)很大時(shí),并且長(zhǎng)時(shí)間不更新時(shí),建 議使用索引,其他情況不建議使用。

用戶(hù)管理

1.――――查看用戶(hù): 

select host,user,authentication_string from user;

 ――――查看用戶(hù)權(quán)限:

show grants for 用戶(hù)名@主機(jī);

2.――――創(chuàng)建用戶(hù)并賦予權(quán)限:'

grant 權(quán)限名稱(chēng) on 數(shù)據(jù)庫(kù)名.* to ‘用戶(hù)名'@'主機(jī)' identified by ‘密碼';

3.――――修改權(quán)限: 

grant 權(quán)限名稱(chēng) on 數(shù)據(jù)庫(kù)名.* to ‘用戶(hù)名'@'主機(jī)' where grant option;

 刷新權(quán)限:

flush privileges;

4.――――修改密碼:

update user set authentication_string=password(‘新密碼') where user='用戶(hù)名';

5.――――刪除用戶(hù):
卸載:

drop drop user ‘用戶(hù)名'@'主機(jī)';

 手動(dòng)刪除:

delete from user where user='用戶(hù)名';

 刷新權(quán)限:

flush privileges;

自連接

將多張相似表的數(shù)據(jù)匯總到一個(gè)表中,將自己與自己相連接進(jìn)行查詢(xún)。

1.――――用法:

select * from 表名 as 別名1 inner join 表名 as 別名2 on 條件;

2.――――案例:


aid為編號(hào),pid為所屬編號(hào)
查詢(xún)山西省的所有城市:

select city.* from areas as cityinner join areas as province on city.pid=province.aidwhere province.atitle='山西省'; 

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL查詢(xún)技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 会东县| 南昌市| 舞钢市| 丹凤县| 苏州市| 静宁县| 股票| 金乡县| 五大连池市| 布尔津县| 阿巴嘎旗| 丹阳市| 宜都市| 陇西县| 林周县| 英吉沙县| 临湘市| 长岭县| 方正县| 平利县| 永胜县| 柘城县| 和田市| 铁岭县| 武强县| 祁阳县| 遂宁市| 伊通| 依安县| 乌兰浩特市| 丰台区| 克什克腾旗| 阜南县| 巴里| 扶沟县| 梁山县| 临澧县| 罗甸县| 福鼎市| 祁门县| 上林县|