Linux學習筆記:MySQL修改表結構

來源:互聯網
上載者:User

標籤:mysql

mysql> help alter tableName: ‘ALTER TABLE‘Description:Syntax:ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name    [alter_specification [, alter_specification] ...]    [partition_options]alter_specification:    table_options  | ADD [COLUMN] col_name column_definition        [FIRST | AFTER col_name ]  | ADD [COLUMN] (col_name column_definition,...)  | ADD {INDEX|KEY} [index_name]        [index_type] (index_col_name,...) [index_option] ...  | ADD [CONSTRAINT [symbol]] PRIMARY KEY        [index_type] (index_col_name,...) [index_option] ...  | ADD [CONSTRAINT [symbol]]        UNIQUE [INDEX|KEY] [index_name]        [index_type] (index_col_name,...) [index_option] ...  | ADD FULLTEXT [INDEX|KEY] [index_name]        (index_col_name,...) [index_option] ...  | ADD SPATIAL [INDEX|KEY] [index_name]        (index_col_name,...) [index_option] ...  | ADD [CONSTRAINT [symbol]]        FOREIGN KEY [index_name] (index_col_name,...)        reference_definition  | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}  | CHANGE [COLUMN] old_col_name new_col_name column_definition        [FIRST|AFTER col_name]  | MODIFY [COLUMN] col_name column_definition        [FIRST | AFTER col_name]  | DROP [COLUMN] col_name  | DROP PRIMARY KEY  | DROP {INDEX|KEY} index_name  | DROP FOREIGN KEY fk_symbol  | DISABLE KEYS  | ENABLE KEYS  | RENAME [TO|AS] new_tbl_name  | ORDER BY col_name [, col_name] ...  | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]  | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]  | DISCARD TABLESPACE  | IMPORT TABLESPACE  | FORCE  | ADD PARTITION (partition_definition)  | DROP PARTITION partition_names  | TRUNCATE PARTITION {partition_names | ALL}  | COALESCE PARTITION number  | REORGANIZE PARTITION [partition_names INTO (partition_definitions)]  | ANALYZE PARTITION {partition_names | ALL}  | CHECK PARTITION {partition_names | ALL}  | OPTIMIZE PARTITION {partition_names | ALL}  | REBUILD PARTITION {partition_names | ALL}  | REPAIR PARTITION {partition_names | ALL}  | PARTITION BY partitioning_expression  | REMOVE PARTITIONINGindex_col_name:    col_name [(length)] [ASC | DESC]index_type:    USING {BTREE | HASH}index_option:    KEY_BLOCK_SIZE [=] value  | index_type  | WITH PARSER parser_name  | COMMENT ‘string‘table_options:    table_option [[,] table_option] ...  (see CREATE TABLE options)partition_options:    (see CREATE TABLE options)


以例子來說,使用mydb資料,為student表增加sex、age、qq列

mysql> use mydbDatabase changedmysql> alter table student add `sex` varchar(1), add `age` tinyint(3) unsigned, add `qq` int(10) unsigned;mysql> desc student;+-------+---------------------+------+-----+---------+----------------+| Field | Type                | Null | Key | Default | Extra          |+-------+---------------------+------+-----+---------+----------------+| id    | int(11)             | NO   | PRI | NULL    | auto_increment || name  | varchar(16)         | NO   | MUL | NULL    |                || score | int(1)              | YES  |     | 0       |                || sex   | varchar(1)          | YES  |     | NULL    |                || age   | tinyint(3) unsigned | YES  |     | NULL    |                || qq    | int(10) unsigned    | YES  |     | NULL    |                |+-------+---------------------+------+-----+---------+----------------+6 rows in set (0.04 sec)

關於一次增加多個列,看MySQL的官方HELP寫得不清楚,在每一個新列前面都需要使用關鍵字add,另外MySQL是沒有number的欄位類型的,要使用非負數類型,需要在整形後面添加unsigned關鍵字。



Linux學習筆記:MySQL修改表結構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.