MySQL主健、索引講義

下文內(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、刪除索引

MySQL主健、索引講義

【主健】

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)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司