目錄
一、删除,添加或修改表字段
二、修改表名
三、主键和索引修改
首頁 資料庫 mysql教程 MySql之ALTER命令用法详细解读_MySQL

MySql之ALTER命令用法详细解读_MySQL

Jun 01, 2016 pm 12:59 PM
命令

本文详细解读了MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强大的。

USE learning;(自己要提前建好)
CREATE TABLE student(id INT NOT NULL,
name CHAR(10) NOT NULL,
class INT NOT NULL,
age INT
);
登入後複製
来看看新建好的表
\

一、删除,添加或修改表字段

删除表字段


如下命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 age字段:

ALTER TABLE student  DROP age;
登入後複製
来看看结果:
\

如果数据表中只剩余一个字段则无法使用DROP来删除字段。

添加表字段

MySQL 中使用 ADD 子句来想数据表中添加列,如下实例在表 student 中添加age字段,并定义数据类型:

ALTER TABLE student  ADD age INT NOT NULL;
登入後複製
执行以上命令后,i 字段会自动添加到数据表字段的末尾。

SHOW COLUMNS FROM student来看表结构

\
如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。
尝试以下 ALTER TABLE 语句, 在执行成功后,使用 SHOW COLUMNS 查看表结构的变化:

ALTER TABLE student  ADD sex CHAR(2) FIRST;
登入後複製

\
FIRST 和 AFTER 关键字只占用于 ADD 子句,所以如果你想重置数据表字段的位置就需要先使用 DROP 删除字段然后使用 ADD 来添加字段并设置位置。
ALTER TABLE student  DROP sex;
ALTER TABLE student  ADD sex CHAR(2) AFTER age;
登入後複製

\

修改表字段

修改字段类型及名称
如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。
例如,把字段 name 的类型从 CHAR(10) 改为 CHAR(100),可以执行以下命令:

ALTER TABLE student  MODIFY age CHAR(100);
登入後複製
\

使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段的类型及名称。尝试如下实例:
ALTER TABLE student CHANGE id  stu_id BIGINT PRIMARY KEY;
登入後複製

\

ALTER TABLE 对 Null 值和默认值的影响
当你修改字段时,你可以指定是否包含只或者是否设置默认值。
以下实例,指定字段sex为 NOT NULL 且默认值为男 。

ALTER TABLE sutdent  MODIFY sex  CHAR(2)  NOT NULL DEFAULT '男';
登入後複製
\
如果你不设置默认值,MySQL会自动设置该字段默认为 NULL。
你也可以使用 ALTER 命令及 DROP子句来删除字段的默认值,如下实例:
ALTER TABLE student ALTER sex DROP DEFAULT;
 SHOW COLUMNS FROM student;
登入後複製

\

修改数据表类型,可以使用 ALTER 命令及 TYPE 子句来完成。尝试以下实例,我们将表 student的类型修改为 MYISAM :
注意:查看数据表类型可以使用 SHOW CREATE TABLE 语句。

ALTER TABLE student ENGINE = MYISAM
SHOW CREATE TABLE student;
登入後複製
\

二、修改表名

如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使用 RENAME 子句来实现。
尝试以下实例将数据表 student 重命名为 student_1:

mysql> ALTER TABLE student RENAME TO student_1;

\

三、主键和索引修改

删除表中主键

ALTER TABLE student  DROP PRIMARY KEY;
登入後複製

\

添加主键

ALTER TABLE student   ADD CONSTRAINT PK_STUDENT  PRIMARY KEY (id,class);
登入後複製

\

添加索引

ALTER TABLE student ADD INDEX index_name (name);
登入後複製

查看索引

SHOW INDEX FROM student;
登入後複製

\

添加唯一限制条件索引

ALTER TABLE student  ADD UNIQUE emp_name(age);
登入後複製

 

\

删除索引

ALTER TABLE student DROP INDEX index_name;

\

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Windows 11/10中執行SUDO命令 如何在Windows 11/10中執行SUDO命令 Mar 09, 2024 am 09:50 AM

透過sudo指令,使用者可以在提升權限模式下執行指令,而無需切換到超級使用者模式。本文將介紹如何在Windows系統中模擬類似sudo指令的功能。什麼是數道司令部? Sudo(「超級使用者do」的縮寫)是一種命令列工具,允許基於Unix的作業系統(如Linux和MacOS)的使用者以提升的權限執行命令,這些權限通常是管理員所擁有的。在Windows11/10中執行SUDO命令然而,隨著最新發布的Windows11Insider預覽版推出,Windows用戶現在也可以體驗到這項功能。這項新功能使用戶能夠

win11網卡mac位址怎麼查? Win11使用指令取得網路卡MAC位址方法 win11網卡mac位址怎麼查? Win11使用指令取得網路卡MAC位址方法 Feb 29, 2024 pm 04:34 PM

本文將向讀者介紹在Win11系統中如何使用命令提示字元(CommandPrompt)來尋找網路介面卡的實體位址(MAC位址)。 MAC位址是網路介面卡(NIC)的唯一標識符,它在網路通訊中扮演著重要角色。透過命令提示符,使用者可以輕鬆地獲取到當前電腦上所有網路適配器的MAC位址信息,這對於網路故障排查、配置網路設定等任務非常有幫助。方法一:使用「命令提示字元」1、按【Win+X】組合鍵,或【右鍵】點選工作列上的【Windows標誌】,在開啟的選單項目中,選擇【執行】;2、執行窗口,輸入【cmd】指令,然

cmdtelnet指令不被辨識為內部或外部指令 cmdtelnet指令不被辨識為內部或外部指令 Jan 03, 2024 am 08:05 AM

cmd視窗中提示telnet不是內部或外部命令這個問題想必曾經也深深的困擾著你吧,這個問題的出現​​並不是因為用戶們的操作哪裡有什麼不對用戶們也不用太擔心只需要一些小小的操作設定就可以讓cmd視窗提示telnet不是內部或外部指令這個問題迎刃而解,一起來看看小編今天為大家帶來的cmd視窗提示telnet不是內部或外部指令解決方法吧。 cmd視窗提示telnet不是內部或外部指令解決方法:1、開啟電腦的控制面板。 2、找到程式和功能。 3、找到左側的啟動或關閉Windows功能。 4、找到「telnet客戶端

hyperv增強會話模式在哪? Win11用指令啟用或停用Hyper-V增強會話模式技巧 hyperv增強會話模式在哪? Win11用指令啟用或停用Hyper-V增強會話模式技巧 Feb 29, 2024 pm 05:52 PM

Win11系統中,可以透過指令來啟用或停用Hyper-V增強會話模式。本文將介紹如何使用指令來進行操作,幫助使用者更好地管理和控制系統中的Hyper-V功能。 Hyper-V是Microsoft提供的一種虛擬化技術,它內建在WindowsServer和Windows10、11(家用版除外)中,允許使用者在Windows系統中執行虛擬作業系統。雖然虛擬機器與宿主機作業系統隔離,但透過設置,它們仍然能夠使用宿主機的資源,如音效卡和儲存設備等。其中一個關鍵設定就是啟用「增強會話模式」。增強會話模式是Hyper

超實用!讓你成為Linux大神的Sar命令 超實用!讓你成為Linux大神的Sar命令 Mar 01, 2024 am 08:01 AM

一、概述sar命令透過從系統活動中收集的資料來展示系統的使用報告。這些報告由不同部分組成,每個部分都包含資料類型和收集資料的時間。 sar指令的預設模式顯示存取CPU的各種資源(如使用者、系統、I/O調度等)在不同時間增量下的CPU使用率。此外,它還顯示給定時間段內空閒CPU的百分比。報告底部列出了每個數據點的平均值。 sar預設每10分鐘報告一次收集的數據,但您可以使用各種選項來篩選和調整這些報告。與uptime指令類似,sar指令也可協助您監控CPU的負載狀況。透過sar,您可以了解過度負載發

Linux 重啟服務的正確方式是什麼? Linux 重啟服務的正確方式是什麼? Mar 15, 2024 am 09:09 AM

Linux重啟服務的正確方式是什麼?在使用Linux系統時,經常會遇到需要重新啟動某個服務的情況,但是有時我們可能會在重新啟動服務時遇到一些問題,例如服務沒有真正停止或啟動等情況。因此,掌握正確的重啟服務的方式是非常重要的。在Linux中,通常可以使用systemctl指令來管理系統服務。 systemctl指令是systemd系統管理員的一部分

Linux中的神器:eventfd的原理與應用 Linux中的神器:eventfd的原理與應用 Feb 13, 2024 pm 08:30 PM

Linux是一個強大的作業系統,它提供了許多高效的進程間通訊機制,如管道、訊號、訊息佇列、共享記憶體等。但是,有沒有一種更簡單、更靈活、更有效率的溝通方式呢?答案是有的,就是eventfd。 eventfd是Linux2.6版本引入的一種系統調用,它可以用來實現事件通知,也就是透過一個檔案描述符來傳遞事件。 eventfd包含一個由核心維護的64位元無符號整數計數器,進程可以透過對這個檔案描述子進行read/write來讀取/改變計數器的值,從而實現進程間通訊。 eventfd有什麼優點呢?它有以下幾個特

在 Windows 11 上安裝 VMware Workstation 只需一個簡單的指令 在 Windows 11 上安裝 VMware Workstation 只需一個簡單的指令 Sep 12, 2023 pm 08:33 PM

步驟1:開啟PowerShell或命令提示字元在您的Windows11或10系統上,前往搜尋方塊並根據您的選擇鍵入CMD或Powershell。這裡我們使用PowerShell。當它出現在結果中時,選擇“以管理員身份執行”。這是因為我們需要管理員使用者存取權限才能運行命令以在Windows上安裝任何軟體。步驟2:檢查Winget可用性好吧,儘管所有最新版本的Windows10和11預設都帶有Winget工具。但是,讓我們先檢查它是否可以使用。類型:winget作為回報,您將看到可與命令一起使用

See all articles