真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mysql索引、存儲引擎有何具體區(qū)別

下文我給大家簡單講講關(guān)于MySQL索引、存儲引擎有何具體區(qū)別,大家之前了解過相關(guān)類似主題內(nèi)容嗎?感興趣的話就一起來看看這篇文章吧,相信看完Mysql索引、存儲引擎有何具體區(qū)別對大家多少有點幫助吧。

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)魯山,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575


一、普通索引:index
查看索引:
desc 庫名.表名;
show index from 庫名.表名;

默認(rèn)使用的索引類型:
BTREE(二叉樹) hash B+Tree

創(chuàng)建索引:
--》建表時創(chuàng)建:
creat table 表名(
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件,
index(字段1),index(字段2)
);
create table t2 (
name char(10) not null,
index(name)
);

--》已有表添加索引:
create index 索引名 on 表名(字段名);
create index id on t1(id);

//注意:我們索引名與字段名可以不相同,但是為了方便辨認(rèn),我們一般將索引名與字段名設(shè)置相同。

刪除索引:
drop index 索引名 on 表名;

##########################################################################################3

二、主鍵:primary key

使用規(guī)則:
-->設(shè)置主鍵的字段的值,不能重復(fù),且不能賦空值
--》一個表只能有一個主鍵
--》如果,多個字段都作為primary key,稱為復(fù)合主鍵,必須一起創(chuàng)建。
--》主鍵字段的key標(biāo)志為pri
--》通常與auto_increment(自動增長),一起連用。

創(chuàng)建主鍵:
--》建表時創(chuàng)建:
create table 表名(
字段名1 類型(寬度) 約束條件,
字段名2 類型(寬度) 約束條件,
primary key(字段名1,字段名2)
);
create table t4(
id int auto_increment,            //設(shè)置自動增長(不賦值時,會根據(jù)上條記錄自動加1)
name char(10),
primary key(id,name)            //設(shè)置復(fù)合主鍵
);

--》已有表創(chuàng)建:
alter table 表名 primary key(字段名);
alter table t1 primary key(id);

刪除主鍵:
alter table 表名 drop primary key;

##########################################################################################

三、唯一索引:unique

使用規(guī)則:
--》字段值可以為null,但不能重復(fù)
--》當(dāng)將字段修改為null,限制與主鍵相同,
--》表中可以有多個unique字段

創(chuàng)建唯一索引:
--》建表時創(chuàng)建:
create table 表名(
字段名1 類型(寬度) 約束條件,
字段名2 類型(寬度) 約束條件,
unique(字段名1),
unique(字段名2)
);
create table t5(
id int,
name char(10),
unique(id),
unique(name)
);

--》已有表創(chuàng)建:
create unique index 索引名 on 表名(字段名);

刪除唯一索引:
drop index 索引名 on 表名;

#############################################################################################

四、外鍵:foreign key
外鍵:
讓當(dāng)前表字段的值在另一個表中字段值的范圍內(nèi)選擇。

使用規(guī)則:
--》表的存儲引擎必須是innodb
--》字段類型要一致
--》被參照字段必須要是索引類型的一種

創(chuàng)建外鍵:

命令:foreign  key(字段名)  references  表名(字段名)
        on  update cascade     on  delete cascade

create table jfb(
id int auto_increment,
name char(10),
pay  float(7,2),
primary key(id),
);

create table xsb(
num int,
name char(10),
class char(10),
foreign key(num) references key(id) on update cascade on delete cascade
);

//創(chuàng)建jfb表,創(chuàng)建xsb表。xsb的num需要參考jfb中的id字段。即將num設(shè)為外鍵,將jfb中的id設(shè)為參考鍵。并設(shè)置自動更新。

insert into jfb values(1,"bob",20000),(2,"lucy",19000);

insert into xsb values(3,"jim","1709");    //無法插入,因為num的值,不在jfb的id值范圍內(nèi)。
insert into xsb values(1,"jim","1709";    //插入成功

update jfb set id=6 where name=“bob”        
select * from xsb;                //更新jfb中的id字段數(shù)據(jù),查看xsb中的記錄,也同時更新

delete from jfb where name=“bob”;
selece * from xsb;                //刪除jfb表中記錄,xsb中的記錄也隨之刪除。

查看外鍵:
show create table 表名;                //可以查看外鍵信息,包含外鍵名

刪除外鍵:
alter table 表名 drop foreign key 外鍵名;

##############################################################################################


mysql存儲引擎:

一、介紹:
mysql數(shù)據(jù)庫服務(wù)軟件自帶的程序,不同的存儲引擎有不同的功能和數(shù)據(jù)存儲方式,是表的處理器。

mysql服務(wù)體系結(jié)構(gòu):
連接池
sql接口
分析器
優(yōu)化器
查詢緩存
存儲引擎
文件系統(tǒng)
管理工具

########################################################################################

二、基本設(shè)置、
查看數(shù)據(jù)庫服務(wù)使用的存儲引擎:
show engines;
查看表使用的存儲引擎:
show create table 表名;

設(shè)置數(shù)據(jù)庫服務(wù)使用的存儲引擎:
vim /etc/my.cnf
[mysql]
default-storage-engine=引擎類型
設(shè)置表的存儲引擎:
create  table  表名(。。。。);                //使用默認(rèn)引擎
create  table  表名(。。。。)engine=innodb;        //設(shè)置存儲引擎為innodb

修改表使用的存儲引擎:
alter table 表名 engine=存儲引擎類型;

################################################################################3

三、常用引擎的特點:
myisam特點:
表.MYI   索引信息
表.MYD  數(shù)據(jù)
表.frm   表結(jié)構(gòu)
支持表級鎖 (鎖一張表)
不支持事務(wù)  事務(wù)回滾

innodb特點:
表.frm   表結(jié)構(gòu)
表.ibd   索引信息+數(shù)據(jù)
支持行級鎖 (只給當(dāng)前被訪問的行加鎖)
支持事務(wù)  事務(wù)回滾


鎖的作用:解決并發(fā)訪問沖突問題。

鎖類型 :讀鎖    和   寫鎖
           

鎖粒度 : 行級鎖    表級鎖


事務(wù): 一次數(shù)據(jù)訪問從開始到結(jié)束的過程 稱為事務(wù)
事務(wù)回滾:  一次數(shù)據(jù)訪問 任意一步執(zhí)行失敗,恢復(fù)所有操作。
事務(wù)的特性:  一致性  原子性  隔離性

事務(wù)日志文件:記錄對innodb存儲引擎的表執(zhí)行過的操作。

工作如何如何決定表使用的存儲引擎:
接收寫操作多的表適合使用innodb存儲引擎。
接收讀操作多的表適合使用myisam存儲引擎

大家覺得Mysql索引、存儲引擎有何具體區(qū)別這篇文章怎么樣,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。


文章標(biāo)題:Mysql索引、存儲引擎有何具體區(qū)別
文章URL:http://weahome.cn/article/pdishs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部