MySQL管理表和索引

IT小能手發表於2018-03-13

MySQL管理表和索引

建立資料庫:
    CREATE DATABASE|SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET=] [COLLATE=]  
刪除資料庫:
    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name    

建立表: 
1、直接定義一張空表; 
2、從其它表中查詢出資料,並以之建立新表; 
3、以其它表為模板建立一個空表;

1.  
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]
2.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    [partition_options]
    select_statement
通過select查詢語句建立表時,建立的表可能和被查詢表的格式定義不太一樣
3.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) } 
  建立表時定義其中的欄位型別時為數值時 加  unisined表示無符號數值型別(只有正數)。
               例如create table 表名 ( id int unisgned ) ; id列的值只能為正數
 

修改表定義: 
ALTER TABLE 
新增、刪除、修改欄位 
新增、刪除、修改索引 
改表名 
修改表屬性

 

刪除表:        
DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]    

InnoDB支援外來鍵
鍵也稱作約束,可用作索引,屬於特殊索引,BTree

索引由資料表中的一列或多列組合而成,建立索引的目的是為了優化資料庫的查詢速度。其中使用者建立的索引指向資料庫中具體資料的位置。當使用者通過索引查詢資料庫中的資料時
不需要遍歷所有資料庫中的資料,提高了查詢效率,索引是一種將資料庫中的單列或多列的值排序的結構
  使用者通過索引查詢資料,系統可以不必遍歷資料表中的所有記錄,而是查詢索引列,一般的過程的資料查詢是通過遍歷全部資料,並尋找資料庫中的匹配記錄而實現的

SHOW {INDEX | INDEXES | KEYS} FROM tb_name:顯示指定表上的索引
DESC table_name  顯示錶結構
索引建立:
    CREATE INDEX index_name ON tb_name (col,...);
   col_name [(length)] [ASC | DESC]
    
       create  index 索引名  on 表名 (欄位名(長度)     aes|desc)
      建立索引時 欄位名(長度)  中”(長度)”表示只索引最左邊的幾個字元

刪除索引:
    DROP INDEX index_name ON tbl_name   

原文來自 http://www.cnblogs.com/xiaonengsho/p/8556292.html 

相關文章