91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql索引、存儲引擎有何具體區別

發布時間:2020-06-01 15:16:08 來源:網絡 閱讀:206 作者:三月 欄目:MySQL數據庫

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


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

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

創建索引:
--》建表時創建:
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);

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

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

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

二、主鍵:primary key

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

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

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

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

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

三、唯一索引:unique

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

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

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

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

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

四、外鍵:foreign key
外鍵:
讓當前表字段的值在另一個表中字段值的范圍內選擇。

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

創建外鍵:

命令: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
);

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

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

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

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

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

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

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

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


mysql存儲引擎:

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

mysql服務體系結構:
連接池
sql接口
分析器
優化器
查詢緩存
存儲引擎
文件系統
管理工具

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

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

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

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

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

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

innodb特點:
表.frm   表結構
表.ibd   索引信息+數據
支持行級鎖 (只給當前被訪問的行加鎖)
支持事務  事務回滾


鎖的作用:解決并發訪問沖突問題。

鎖類型 :讀鎖    和   寫鎖
           

鎖粒度 : 行級鎖    表級鎖


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

事務日志文件:記錄對innodb存儲引擎的表執行過的操作。

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新泰市| 松阳县| 万年县| 湄潭县| 贺州市| 吴旗县| 内乡县| 衢州市| 昭苏县| 崇阳县| 东光县| 宽甸| 田东县| 柏乡县| 哈密市| 临朐县| 平原县| 定日县| 辽宁省| 新野县| 宾川县| 彩票| 棋牌| 昌邑市| 腾冲县| 纳雍县| 卢龙县| 明水县| 白山市| 长海县| 高清| 金秀| 潼南县| 邛崃市| 临安市| 南昌县| 威宁| 吉首市| 盐城市| 蓬莱市| 本溪市|