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

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ 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ù)庫(kù)服務(wù)器安裝
MySQL創(chuàng)建表
MySQL導(dǎo)入示例數(shù)據(jù)庫(kù)
MySQL教程
MySQL函數(shù)
MySQL管理
MySQL WHERE語(yǔ)句
MySQL存儲(chǔ)過(guò)程
MySQL技巧
MySQL觸發(fā)器
MySQL示例數(shù)據(jù)庫(kù)
MySQL重命名表
MySQL數(shù)據(jù)類(lèi)型
MySQL創(chuàng)建與刪除數(shù)據(jù)庫(kù)
MySQL更新表數(shù)據(jù)
MySQL快速學(xué)習(xí)入門(mén)
MySQL安裝
MySQL快速入門(mén)
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查詢(xún)數(shù)據(jù)
http://www.yiibai.com/mysql/views.html
http://www.yiibai.com/mysql/full-text-search.html
下載本MySQL教程的示例數(shù)據(jù)庫(kù)(其中包函表和示例數(shù)據(jù))
http://www.yiibai.com/mysql/stored-procedure.html

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

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

MySQL ALTER TABLE語(yǔ)句簡(jiǎn)介

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

ALTER TABLE table_name action1[,action2,…]

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

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

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

我們將在示例數(shù)據(jù)庫(kù)(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語(yǔ)句更改列

使用MySQL ALTER TABLE語(yǔ)句來(lái)設(shè)置列的自動(dòng)遞增屬性

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

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

可以通過(guò)在tasks表中插入一些行數(shù)據(jù)來(lái)驗(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');

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

SELECT 
    task_id, description
FROM
    tasks;

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

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

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

使用MySQL ALTER TABLE從表中刪除列

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

ALTER TABLE tasks
DROP COLUMN description;

使用MySQL ALTER TABLE語(yǔ)句重命名表

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

以下語(yǔ)句將tasks表重命名為work_items表:

ALTER TABLE tasks
RENAME TO work_items;

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