国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql索引概論

2024-07-24 12:36:03
字體:
來源:轉載
供稿:網友
  Mysql索引概述
 
  索引介紹
 
  索引是對記錄集的多個字段進行排序的方法。
  類似于書的目錄
  索引類型包括:Btree,B+tree,hash
  索引優缺點
 
   索引優點-通過創建唯一性索引,可以保證數據庫中每一行數據的唯一性-可以加快數據的檢索速度
  索引缺點-當對表中的數據進行增加,刪除和修改的時候,索引也要動態的維護,降低數據的維護速度-索引需要占物理空間
  MySQL鍵值類型
 
  鍵值類型
 
  INDEX:普通索引
  UNIQUE: 唯一索引
  FULLTEXT: 全文索引
  PRIMARY KEY: 主鍵
  POREIGN KEY: 外鍵
  INDEX普通索引
 
  基本概念-一個表中只能有一個primary key 字段-對應的字段值不允許有重復,且不允許賦NULL值-如果有多個字段都作為primary key,稱為復合主鍵,必須一起創建-主鍵字段的KEY標志是PRI-通常與AUTO_INCREMENT 連用-經常把表中能夠唯一標識記錄的字段設置為主鍵字段【記錄編號字段】
  建表的時候指定主鍵字段-primary key(字段名)
  mysql> create table test2(
      -> id int(3) auto_increment,
      -> name varchar(4) not null,
      -> age int(2) not null,
      -> primary key(id)
      -> );
  Query OK, 0 rows affected (0.05 sec)
  mysql> desc test2;
  +-------+------------+------+-----+---------+----------------+
  | Field | Type       | Null | Key | Default | Extra          |
  +-------+------------+------+-----+---------+----------------+
  | id    | int(3)     | NO   | PRI | NULL    | auto_increment |
  | name  | varchar(4) | NO   |     | NULL    |                |
  | age   | int(2)     | NO   |     | NULL    |                |
  +-------+------------+------+-----+---------+----------------+
  3 rows in set (0.00 sec
  在已有的表中設置primary key字段-alter table 表名 add primary key(字段名);
  mysql> desc test2;
  +-------+------------+------+-----+---------+-------+
  | Field | Type       | Null | Key | Default | Extra |
  +-------+------------+------+-----+---------+-------+
  | id    | int(3)     | NO   |     | NULL    |       |
  | name  | varchar(4) | NO   |     | NULL    |       |
  | age   | int(2)     | NO   |     | NULL    |       |
  +-------+------------+------+-----+---------+-------+
  3 rows in set (0.01 sec)
  mysql> alter table test2 add primary key(name);
  Query OK, 0 rows affected (0.05 sec)
  Records: 0  Duplicates: 0  Warnings: 0
  mysql> desc test2;
  +-------+------------+------+-----+---------+-------+
  | Field | Type       | Null | Key | Default | Extra |
  +-------+------------+------+-----+---------+-------+
  | id    | int(3)     | NO   |     | NULL    |       |
  | name  | varchar(4) | NO   | PRI | NULL    |       |
  | age   | int(2)     | NO   |     | NULL    |       |
  +-------+------------+------+-----+---------+-------+
  3 rows in set (0.00 sec)
  移除表中的PRIMARY KEY字段-alter table 表名 drop primary key;(如果有auto_increment則需要先移除再移除主鍵,移除auto_incrememt為對該字段type重新賦值)
  ysql> desc test2;
  +-------+------------+------+-----+---------+-------+
  | Field | Type       | Null | Key | Default | Extra |
  +-------+------------+------+-----+---------+-------+
  | id    | int(3)     | NO   | PRI | NULL    |       |
  | name  | varchar(4) | NO   |     | NULL    |       |
  | age   | int(2)     | NO   |     | NULL    |       |
  +-------+------------+------+-----+---------+-------+
  3 rows in set (0.00 sec)
  mysql> alter table test2 drop primary key;
  Query OK, 0 rows affected (0.31 sec)
  Records: 0  Duplicates: 0  Warnings: 0
  mysql> desc test2;
  +-------+------------+------+-----+---------+-------+
  | Field | Type       | Null | Key | Default | Extra |
  +-------+------------+------+-----+---------+-------+
  | id    | int(3)     | NO   |     | NULL    |       |
  | name  | varchar(4) | NO   |     | NULL    |       |
  | age   | int(2)     | NO   |     | NULL    |       |
  +-------+------------+------+-----+---------+-------+
  3 rows in set (0.01 sec)
  foreign key 外鍵
 
  基本概念-讓當前表字段的值在另一個表中字段值得范圍內選擇。
  使用外鍵的條件-表的存儲引擎必須是innodb-字段類型要一致-被參照字段必須要是索引類型的一種(primary key)。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武功县| 怀柔区| 马关县| 南岸区| 岢岚县| 抚顺县| 平潭县| 集贤县| 南京市| 乌苏市| 绍兴市| 宿迁市| 宁化县| 阿城市| 中方县| 泗水县| 临泉县| 琼结县| 阳谷县| 阜新市| 惠来县| 合水县| 定西市| 鹰潭市| 嘉义市| 香河县| 土默特右旗| 汶川县| 收藏| 子长县| 抚宁县| 海原县| 日照市| 潍坊市| 舟曲县| 海林市| 循化| 柏乡县| 莱州市| 长乐市| 长岭县|