MySQL學習11:修改資料表(一)

來源:互聯網
上載者:User

標籤:

       修改資料表包括添加列、刪除列、添加約束、刪除約束,修改列定義和修改資料表名稱,後面的兩個我們使用時

一定要謹慎,盡量不使用。

       下面就來一個一個單獨介紹怎麼修改資料表:

        一添加資料表中的列        (1)添加單列

        MySQL資料庫的資料表中添加單列的文法格式為:

        ALTER TABLE table_name ADD [COLUMN] col_name columns_definition [FIRST | AFTER col_name];

        例子:

        SHOW COLUMNS FROM users1;

        ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;

        SHOW COLUMNS FROM users1;


        再來增加一個password欄位並把這列放在username欄位的後面:

        ALTER TABLE users1 ADD password VARCHAR(32) NOT NULL AFTER username;

        SHOW COLUMNS FROM users1;


        增加一個truename欄位並把這列放在第一列的位置(也就是放在所有欄位的前面):

        ALTER TABLE users1 ADD truename VARCHAR(20) NOT NULL FIRST;

        SHOW COLUMNS FROM users1;

        (2)添加多列

        MySQL資料庫的資料表中添加多列的文法格式為:

        ALTER TABLE table_name ADD [COLUMN] (col_name columns_definition,...);

        例子:這裡我們只是添加兩列

        ALTER TABLE users1 ADD (password VARCHAR(32) NOT NULL AFTER username,age TINYINT UNSIGNED

 NOT NULL DEFAULT 10);

        DESC users1;


        和添加單列不同的是添加多列只能在所有列的後面添加多列。

        二刪除資料表中的列        (1)刪除單列

        MySQL資料庫中的資料表刪除單列的文法格式:

        ALTER TABLE table_name DROP [COLUMN] col_name;

        例子;

        ALTER TABLE users1 DROP truename;

        SHOW COLUMNS FROM users1;

        (2)刪除多列

        MySQL資料庫的資料表中刪除多列的文法格式:

        ALTER TABLE table_name DROP [COLUMN] col_name1,DROP [COLUMN] col_name2,...;

        例子:這裡只是刪除兩列

        ALTER TABLE users1 DROP password,DROP age;

        SHOW COLUMNS FROM users1;


        三添加約束        (1)添加主鍵約束

        MySQL資料庫的資料表中添加主鍵約束的文法格式為:

        ALTER TABLE table_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...);

        先來建立一張資料表users2:

        CREATE TABLE users2(

           username VARCHAR(10) NOT NULL,

           pid SMALLINT UNSIGNED

        ); 

        SHOW CREATE TABLE users2;


        上述表明資料表中並沒有主鍵約束。

        添加主鍵約束的例子:

        1)首先添加一個要做為主鍵的列:

        ALTER TABLE users2 ADD id SMALLINT UNSIGNED;

        SHOW COLUMNS FROM users2;


              2)在要做為主鍵的列添加主鍵約束:        ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);

        SHOW COLUMNS FROM users2;


        上面的例子中我們也可以不加關鍵字CONSTRAINT,加上它我們就可以為這個主鍵約束起一個名字,我們所起

的主鍵名稱為PK_users2_id,為了以後方便操作主鍵,我們最好給主鍵起個名字。

        (2)添加唯一約束

        MySQL資料庫中的資料表添加唯一約束的文法格式:

        ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX| KEY] [index_name] [index_type]

 (index_col_name,...);

        例子:

        ALTER TABLE users2 ADD UNIQUE (username);

        SHOW COLUMNS FROM users2;


        

MySQL學習11:修改資料表(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.