您好,登錄后才能下訂單哦!
下文內容主要給大家帶來MySQL主健、索引講義,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
<--目錄-->
1)主健
1、操作表的約束
(1)非空約束
(2)字段默認值
(3)唯一約束
(4)主健約束
(5)添加主健(重點)
(6) 自動增加
2)索引
1、創建普通索引(重點)
2、創建唯一索引
3、創建全文索引
4、創建多列索引
5、刪除索引
【主健】
1、操作表的約束
###########################################################################
約束關健字 含義 #
not null 約束的字段值不能為空 #
default 設置字段的默認值 #
unique key (uk) 約束字段的值是唯一 #
primary key (pk) 約束字段為表的主健,可以作為該記錄的唯一標識 #
auto_increment 約束字段的值為自動增加 #
foreign key (fk) 約束字段為表的外健 #
###########################################################################
#設置非空約束
#解釋:設置了非空約束,字段內容則不允許為空
mysql> create table t1(
-> id int(20) not null,
-> loc varchar(40)
-> );
#設置字段的默認值
#解釋:當為表中某個字段插入記錄沒有給他賦值,則系統會為這個字段插入默認值
mysql> create table t1(
-> id int(20) not null,
-> dname varchar(20) default 'cjgong',
-> loc varchar(40)
-> );
#設置唯一約束
#解釋:數據庫表中某個字段的內容不允許重復
mysql> create table t1(
-> id int(20) not null,
-> dname varchar(20) unique,
-> loc varchar(40)
-> );
#設置主健約束
#解釋:用數據庫表中的某個字段來標識所有記錄
mysql> create table t1(
-> id int(20) primary key,
-> loc varchar(40)
-> );
#添加主健
alter table student change id id int primary key auto_increment;
#設置字段值自動增加
#解釋:當為數據庫表中插入新記錄時,字段上的值會自動生成唯一的ID
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> );
【索引】
1、創建普通索引
#解釋:普通索引不附加任何限制條件,可以創建在任何數據類型的字段上
mysql> create table t1(
-> 字段名 數據庫類,
-> 字段名 數據庫類,
-> ... ...
-> index 索引名(字段名)
-> );
#創建表時創建普通索引
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> index index_deptno(deptno)
-> );
#在已經存在的表上創建普通索引
mysql> create index 索引名 on 表名(字段名)
mysql> create index index_deptno on t1(deptno)
#通過sql語句alter table創建普通索引
mysql> alter table table_name add index 索引名(字段名);
mysql> alter table t1 add index index_deptno(deptno);
2、創建和查看唯一索引
mysql> create table t1(
-> 字段名 數據庫類,
-> 字段名 數據庫類,
-> ... ...
-> unique index 索引名(字段名)
-> );
#創建表時創建唯一索引
#解釋:創建索引時,索引的值必段是唯一的
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> unique index index_depktno(deptno)
-> );
#在已經存在的表上創建唯一索引
mysql> create unique index 索引名 on 表名(字段名)
mysql> create unique index index_deptno on t1(deptno)
#通過sql語句alter table創建唯一索引
mysql> alter table table_name add unique index 索引名(字段名);
mysql> alter table t1 add unique index index_deptno(deptno);
3、創建和查看全文索引
#解釋:全文索引要關聯在char、varchar、text字段上,以便快速查詢數量較大的字符串類型的字段
mysql> create table t1(
-> 字段名 數據庫類,
-> 字段名 數據庫類,
-> ... ...
-> fulltext index 索引名(字段名)
-> );
#創建表時創建全文索引
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> fulltext index index_depktno(deptno)
-> );
#在已經存在的表上創建全文索引
mysql> create fulltext index 索引名 on 表名(字段名)
mysql> create fulltext index index_deptno on t1(deptno)
#通過sql語句alter table創建全文索引
mysql> alter table table_name add fulltext index 索引名(字段名);
mysql> alter table t1 add unique fulltext index index_deptno(deptno);
4、創建和查看多列索引
#解釋:多列索引在創建索引時,所關聯的字段是多個字段,雖然可以通過所關聯的字段進行查詢,但是只有查詢條件中使用了所關聯字段中的第一個字段,多列索引才會被使用
mysql> create table t1(
-> 字段名 數據庫類,
-> 字段名 數據庫類,
-> ... ...
-> fulltext index 索引名(字段名)
-> );
#創建表時創建多列索引
mysql> create table t1(
-> 字段名 數據庫類,
-> 字段名 數據庫類,
-> ... ...
-> index 索引名(字段名1,字段名2)
-> );
#創建表時創建多列索引
mysql> create table t1(
-> id int(20) primary key auto_increment,
-> loc varchar(40)
-> index index_deptno(deptno,id)
-> );
#在已經存在的表上創建多列索引
mysql> create index 索引名 on 表名(字段名1,字段名2)
mysql> create index index_deptno on t1(deptno,id)
#通過sql語句alter table創建多列索引
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;
對于以上關于MySQL主健、索引講義,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。