在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MySQL修改表結(jié)構(gòu)
MySQL+Node.js連接和操作
MySQL刪除表數(shù)據(jù)
http://www.yiibai.com/mysql/triggers.html
MySQL是什么?
MySQL插入數(shù)據(jù)
MySQL是什么?
MySQL全文搜索
MySQL數(shù)據(jù)庫服務(wù)器安裝
MySQL創(chuàng)建表
MySQL導(dǎo)入示例數(shù)據(jù)庫
MySQL教程
MySQL函數(shù)
MySQL管理
MySQL WHERE語句
MySQL存儲過程
MySQL技巧
MySQL觸發(fā)器
MySQL示例數(shù)據(jù)庫
MySQL重命名表
MySQL數(shù)據(jù)類型
MySQL創(chuàng)建與刪除數(shù)據(jù)庫
MySQL更新表數(shù)據(jù)
MySQL快速學(xué)習(xí)入門
MySQL安裝
MySQL快速入門
MySQL視圖
http://www.yiibai.com/mysql/mysqltips.html
MySQL修改表結(jié)構(gòu)
MySQL基礎(chǔ)教程
MySQL+Python連接和操作
http://www.yiibai.com/mysql/basic-mysql.html
MySQL查詢數(shù)據(jù)
http://www.yiibai.com/mysql/views.html
http://www.yiibai.com/mysql/full-text-search.html
下載本MySQL教程的示例數(shù)據(jù)庫(其中包函表和示例數(shù)據(jù))
http://www.yiibai.com/mysql/stored-procedure.html

MySQL修改表結(jié)構(gòu)

在本教程中,您將了解并使用MySQL ALTER TABLE語句來更改現(xiàn)有表結(jié)構(gòu)(如添加或刪除列,更改列屬性等)。

MySQL ALTER TABLE語句簡介

可以使用ALTER TABLE語句來更改現(xiàn)有表的結(jié)構(gòu)。 ALTER TABLE語句可用來添加列,刪除列,更改列的數(shù)據(jù)類型,添加主鍵重命名表等等。 以下說明了ALTER TABLE語句語法:

ALTER TABLE table_name action1[,action2,…]

要更改現(xiàn)有表的結(jié)構(gòu):

  • 首先,在ALTER TABLE子句之后指定要更改的表名稱。
  • 其次,列出一組要應(yīng)用于該表的操作。操作可以是添加新列,添加主鍵,重命名表等任何操作。ALTER TABLE語句允許在單個(gè)ALTER TABLE語句中應(yīng)用多個(gè)操作,每個(gè)操作由逗號(,)分隔。

讓我們創(chuàng)建一個(gè)用于練習(xí)ALTER TABLE語句的新表。

我們將在示例數(shù)據(jù)庫(yiibaidb)中創(chuàng)建一個(gè)名為tasks的新表。 以下是創(chuàng)建tasks表的腳本。

DROP TABLE IF EXISTS tasks;

CREATE TABLE tasks (
    task_id INT NOT NULL,
    subject VARCHAR(45) NULL,
    start_date DATE NULL,
    end_date DATE NULL,
    description VARCHAR(200) NULL,
    PRIMARY KEY (task_id),
    UNIQUE INDEX task_id_unique (task_id ASC)
);

使用MySQL ALTER TABLE語句更改列

使用MySQL ALTER TABLE語句來設(shè)置列的自動遞增屬性

假設(shè)您希望在任務(wù)表中插入新行時(shí),task_id列的值會自動增加1。那么可以使用ALTER TABLE語句將task_id列的屬性設(shè)置為AUTO_INCREMENT,如下所示:

ALTER TABLE tasks
CHANGE COLUMN task_id task_id INT(11) NOT NULL AUTO_INCREMENT;

可以通過在tasks表中插入一些行數(shù)據(jù)來驗(yàn)證更改。

INSERT INTO tasks(subject,
                  start_date,
                  end_date,
   description)
VALUES('Learn MySQL ALTER TABLE',
       Now(),
       Now(),
      'Practicing MySQL ALTER TABLE statement');

INSERT INTO tasks(subject,
                  start_date,
                  end_date,
           description)
VALUES('Learn MySQL CREATE TABLE',
       Now(),
       Now(),
      'Practicing MySQL CREATE TABLE statement');

您可以查詢數(shù)據(jù)以查看每次插入新行時(shí)task_id列的值是否增加1

SELECT 
    task_id, description
FROM
    tasks;

使用MySQL ALTER TABLE語句將新的列添加到表中

由于新的業(yè)務(wù)需求,需要添加一個(gè)名為complete的新列,以便在任務(wù)表中存儲每個(gè)任務(wù)的完成百分比。 在這種情況下,您可以使用ALTER TABLE將新列添加到tasks表中,如下所示:

ALTER TABLE tasks 
ADD COLUMN complete DECIMAL(2,1) NULL
AFTER description;

使用MySQL ALTER TABLE從表中刪除列

假設(shè)您不想將任務(wù)的描述存儲在tasks表中了,并且必須將其刪除。 以下語句允許您刪除tasks表的description列:

ALTER TABLE tasks
DROP COLUMN description;

使用MySQL ALTER TABLE語句重命名表

可以使用ALTER TABLE語句重命名表。請注意,在重命名表之前,應(yīng)該認(rèn)真考慮以了解更改是否影響數(shù)據(jù)庫和應(yīng)用程序?qū)?,不要因?yàn)橹孛碇?,?yīng)用程序因未找到數(shù)據(jù)庫表而出錯。

以下語句將tasks表重命名為work_items表:

ALTER TABLE tasks
RENAME TO work_items;

在本教程中,您學(xué)習(xí)了如何使用MySQL ALTER TABLE語句來更改現(xiàn)有的表結(jié)構(gòu)并重命名表。


上一篇:MySQL WHERE語句下一篇:MySQL函數(shù)