MySQL數據庫及表的管理



庫管理
mysql


1.建立數據庫sql


mysql> help create database;

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...
create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name



wKiom1hR63rw24WbAABFIvUbdEc505.png-wh_50



wKioL1hR63qSr-MCAAAuHD_Ml5U350.png-wh_50




2.刪除數據庫
數據庫


mysql> help drop database;

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name


wKiom1hR67HCmaGyAAATnjhcWQw529.png-wh_50



3.修改數據庫的字符集和排序字符以及數據字典bash


mysql> help alter database;

ALTER {DATABASE | SCHEMA} [db_name]
    alter_specification ...
ALTER {DATABASE | SCHEMA} db_name
    UPGRADE DATA DIRECTORY NAME

alter_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name



表管理ide


1.建立表spa


(a)第一種方式3d

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]

[create_definition]
     字段的定義:字段名、類型和類型修飾符;
     鍵、索引和約束; --> 鍵是索引,索引未必是鍵;鍵能夠表示約束
          primary key、unique key、foreign key、check(條件約束)
          {index|key}

[table_options]
     engine [=] engine_name  ---> 注1
     AUTO_INCREMENT [=] value 指定AUTO_INCREMENT的起始值
     [DEFAULT] CHARACTER SET [=] charset_name 指定默認字符集
     CHECKSUM [=] {0 | 1} 是否使用校驗值
     [DEFAULT] COLLATE [=] collation_name 排序規則
     COMMENT [=] 'string' 註釋
     DELAY_KEY_WRITE [=] {0 | 1} 是否啓用鍵延遲寫入 (索引下降了寫操做)
     ROW_FORMAT [=] {DEFAULT(默認)|DYNAMIC(動態)|FIXED(靜態)|COMPRESSED(壓縮)|REDUNDANT(冗餘)|COMPACT(緊緻)} 表格式
     TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 表空間  ---> 注2


(b)第二種方式(複製表數據)blog

 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    select_statement


wKioL1hSLjzR52sGAAA5HWGB2yU554.png-wh_50


wKiom1hSLk6wZeeSAABRPnRxwFQ883.png-wh_50


(c)第三種方式(複製表結構)排序

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) }


wKiom1hSLmChBp9WAACNS5nXsSU347.png-wh_50


2.查看錶的狀態信息索引

show table status like ‘table_name’



3.刪除表

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]



4.修改表

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
    [alter_specification [, alter_specification] ...]


(a)修改字段定義

插入新字段:
    ADD [COLUMN] col_name column_definition
        [FIRST | AFTER col_name ]
刪除字段
    DROP [COLUMN] col_name
修改字段
    修改字段名稱
        CHANGE [COLUMN] old_col_name new_col_name column_definition
            [FIRST|AFTER col_name]
    修改字段類型及屬性等
        MODIFY [COLUMN] col_name column_definition
            [FIRST | AFTER col_name]



(b)表更名

mysql > rename table to old_name TO new_name


(c)修改存儲引擎

engine =


(d)指定排序標準的字段

ORDER BY col_name [, col_name] ...

 

(e)轉換字符集及排序規則

CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]



注1

mysql > show engine


wKiom1hSLV2isa0uAAAvI96VMig510.png-wh_50


wKioL1hSLV2TdgSJAABPKdgjBc4680.png-wh_50


wKiom1hSLWKBxyXiAAA7OZn7mEA585.png-wh_50


wKioL1hSLWKBqyRxAABfOd1aMZ0799.png-wh_50


注2

TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 表空間

     MyISAM表,每一個表有三個文件,都位於數據庫目錄中

        tb_name.frm:表結構定義

        tb_name.MYD:數據文件

        tb_name.MYI:索引文件

     InnoDB表,有兩種存儲方式

        1.默認:每表有一個獨立文件和一個多表共享的文件

        tb_name.frm:表結構的定義,位於數據庫目錄中

        ibdata#:共享的表空間文件,默認位於數據目錄(datadir指向的目錄)中

        圖

        2.獨立的表空間文件:

        每表有一個表結構文件tb_name.frm

        一個獨立的表空間文件 tb_name.ibd(數據和索引)

            (a)應該修改innodb_file_per_table爲ON 

            (b)能夠經過修改配置文件永久有效在 [mysqld]段

               innodb_file_per_table=ON


wKioL1hSLgGC0fZHAAAw3NHf2iU216.png-wh_50


wKiom1hSLgLAOGdHAABP3KqBTgc446.png-wh_50

相關文章
相關標籤/搜索