MySQL:ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN


ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN 語句修改列:

  • ALTER COLUMN:改變、刪除列的默認值(備注:列的默認值存儲在 .frm 文件中)。

這個語句會直接修改 .frm 文件而不涉及表數據,所以操作很快。

-- 改變列的默認值
ALTER TABLE test ALTER COLUMN age SET DEFAULT 17;

-- 刪除列的默認值
ALTER TABLE test ALTER COLUMN age DROP DEFAULT;
  • MODIFY COLUMN:修改列數據類型;改變列的默認值、刪除列的默認值(備注:這個操作會做讀、插入操作,即:拷貝了整張表到一張新表)
-- 修改列的數據類型(備注:未執行語句之前是 name VARCHAR(10))
ALTER TABLE test MODIFY COLUMN name VARCHAR(20);

-- 改變列的默認值
ALTER TABLE test MODIFY COLUMN name VARCHAR(20) NOT NULL DEFAULT 'a';

-- 刪除列的默認值
ALTER TABLE test MODIRY COLUMN name VARCHAR(20);
  • CHANGE COLUMN:重命名列;重命名列和修改列的數據類型(備注:單獨修改列的數據類型報錯)
-- 重命名列
ALTER TABLE test CHANGE COLUMN name new_name VARCHAR(20) NOT NULL;

-- 重命名列和修改列的數據類型(備注:未執行語句之前是 new_name VARCHAR(20))
ALTER TABLE test CHANGE COLUMN new_name latest_name VARCHAR(50);

還是自己寫 SQL 驗證更靠譜!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM