下文內(nèi)容主要給大家?guī)鞰ySQL主健、索引講義,這里所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗(yàn)分享價(jià)值,希望給廣大讀者帶來幫助。
為墨竹工卡等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及墨竹工卡網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站制作、墨竹工卡網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
<--目錄-->
1)主健
1、操作表的約束
(1)非空約束
(2)字段默認(rèn)值
(3)唯一約束
(4)主健約束
(5)添加主?。ㄖ攸c(diǎn))
(6) 自動增加
2)索引
1、創(chuàng)建普通索引(重點(diǎn))
2、創(chuàng)建唯一索引
3、創(chuàng)建全文索引
4、創(chuàng)建多列索引
5、刪除索引
【主健】
1、操作表的約束
###########################################################################
約束關(guān)健字 含義 #
not null 約束的字段值不能為空 #
default 設(shè)置字段的默認(rèn)值 #
unique key (uk) 約束字段的值是唯一 #
primary key (pk) 約束字段為表的主健,可以作為該記錄的唯一標(biāo)識 #
auto_increment 約束字段的值為自動增加 #
foreign key (fk) 約束字段為表的外健 #
###########################################################################
#設(shè)置非空約束
#解釋:設(shè)置了非空約束,字段內(nèi)容則不允許為空
mysql> create table t1(
-> id int(20) not null,
-> loc varchar(40)
-> );
#設(shè)置字段的默認(rèn)值
#解釋:當(dāng)為表中某個(gè)字段插入記錄沒有給他賦值,則系統(tǒng)會為這個(gè)字段插入默認(rèn)值
mysql> create table t1(
-> id int(20) not null,
-> dname varchar(20) default 'cjgong',
-> loc varchar(40)
-> );
#設(shè)置唯一約束
#解釋:數(shù)據(jù)庫表中某個(gè)字段的內(nèi)容不允許重復(fù)
mysql> create table t1(
-> id int(20) not null,
-> dname varchar(20) unique,
-> loc varchar(40)
-> );
#設(shè)置主健約束
#解釋:用數(shù)據(jù)庫表中的某個(gè)字段來標(biāo)識所有記錄
mysql> create table t1(
-> id int(20) primary key,
-> loc varchar(40)
-> );
#添加主健
alter table student change id id int primary key auto_increment;
#設(shè)置字段值自動增加
#解釋:當(dāng)為數(shù)據(jù)庫表中插入新記錄時(shí),字段上的值會自動生成唯一的ID
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> );
【索引】
1、創(chuàng)建普通索引
#解釋:普通索引不附加任何限制條件,可以創(chuàng)建在任何數(shù)據(jù)類型的字段上
mysql> create table t1(
-> 字段名 數(shù)據(jù)庫類,
-> 字段名 數(shù)據(jù)庫類,
-> ... ...
-> index 索引名(字段名)
-> );
#創(chuàng)建表時(shí)創(chuàng)建普通索引
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> index index_deptno(deptno)
-> );
#在已經(jīng)存在的表上創(chuàng)建普通索引
mysql> create index 索引名 on 表名(字段名)
mysql> create index index_deptno on t1(deptno)
#通過sql語句alter table創(chuàng)建普通索引
mysql> alter table table_name add index 索引名(字段名);
mysql> alter table t1 add index index_deptno(deptno);
2、創(chuàng)建和查看唯一索引
mysql> create table t1(
-> 字段名 數(shù)據(jù)庫類,
-> 字段名 數(shù)據(jù)庫類,
-> ... ...
-> unique index 索引名(字段名)
-> );
#創(chuàng)建表時(shí)創(chuàng)建唯一索引
#解釋:創(chuàng)建索引時(shí),索引的值必段是唯一的
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> unique index index_depktno(deptno)
-> );
#在已經(jīng)存在的表上創(chuàng)建唯一索引
mysql> create unique index 索引名 on 表名(字段名)
mysql> create unique index index_deptno on t1(deptno)
#通過sql語句alter table創(chuàng)建唯一索引
mysql> alter table table_name add unique index 索引名(字段名);
mysql> alter table t1 add unique index index_deptno(deptno);
3、創(chuàng)建和查看全文索引
#解釋:全文索引要關(guān)聯(lián)在char、varchar、text字段上,以便快速查詢數(shù)量較大的字符串類型的字段
mysql> create table t1(
-> 字段名 數(shù)據(jù)庫類,
-> 字段名 數(shù)據(jù)庫類,
-> ... ...
-> fulltext index 索引名(字段名)
-> );
#創(chuàng)建表時(shí)創(chuàng)建全文索引
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> fulltext index index_depktno(deptno)
-> );
#在已經(jīng)存在的表上創(chuàng)建全文索引
mysql> create fulltext index 索引名 on 表名(字段名)
mysql> create fulltext index index_deptno on t1(deptno)
#通過sql語句alter table創(chuàng)建全文索引
mysql> alter table table_name add fulltext index 索引名(字段名);
mysql> alter table t1 add unique fulltext index index_deptno(deptno);
4、創(chuàng)建和查看多列索引
#解釋:多列索引在創(chuàng)建索引時(shí),所關(guān)聯(lián)的字段是多個(gè)字段,雖然可以通過所關(guān)聯(lián)的字段進(jìn)行查詢,但是只有查詢條件中使用了所關(guān)聯(lián)字段中的第一個(gè)字段,多列索引才會被使用
mysql> create table t1(
-> 字段名 數(shù)據(jù)庫類,
-> 字段名 數(shù)據(jù)庫類,
-> ... ...
-> fulltext index 索引名(字段名)
-> );
#創(chuàng)建表時(shí)創(chuàng)建多列索引
mysql> create table t1(
-> 字段名 數(shù)據(jù)庫類,
-> 字段名 數(shù)據(jù)庫類,
-> ... ...
-> index 索引名(字段名1,字段名2)
-> );
#創(chuàng)建表時(shí)創(chuàng)建多列索引
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> index index_deptno(deptno,id)
-> );
#在已經(jīng)存在的表上創(chuàng)建多列索引
mysql> create index 索引名 on 表名(字段名1,字段名2)
mysql> create index index_deptno on t1(deptno,id)
#通過sql語句alter table創(chuàng)建多列索引
mysql> alter table table_name add index 索引名(字段名1,字段名2);
mysql> alter table t1 add index index_deptno(deptno,id);
5、刪除索引
語法形式如下:
drop index 索引名字 on 表名字
mysql> drop index index_deptno on t1;
對于以上關(guān)于MySQL主健、索引講義,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。
網(wǎng)頁名稱:MySQL主健、索引講義
新聞來源:http://muchs.cn/article26/gjsjcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、小程序開發(fā)、ChatGPT、建站公司、關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)