首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

SQL ALTER vs JavaScript alert:一字之差的關鍵區別與 ALTER TABLE 常用語法速查

     編輯:MySQL 綜合教學

別再搞混!SQL ALTER (修改表結構) ≠ JS alert() (彈窗)

開發群常見提問:「用 alert 能不能改表結構?」—— alert 是瀏覽器彈窗 API,ALTER 才是 SQL 修改表結構的關鍵字。本文快速釐清兩者差異,並整理 ALTER TABLE 高頻操作語法備查。

JavaScript alert()

<script>
  alert("我是提示文字!"); // 瀏覽器彈出模態對話框
</script>

純前端交互,**零資料庫操作權限**。

MySQL ALTER TABLE 核心語法分類

1. 欄位 (Column) 操作

  • 新增欄位
    ALTER TABLE tbl ADD col_name col_definition [FIRST | AFTER existing_col];
    例:ALTER TABLE student ADD name VARCHAR(10);
  • 修改欄位 (類型/屬性/名稱)
    ALTER TABLE tbl CHANGE old_col new_col col_definition;
    例:ALTER TABLE student CHANGE name name VARCHAR(20) NOT NULL DEFAULT 'liming'; (改類型+屬性)
    例:ALTER TABLE student CHANGE name name1 VARCHAR(20) NOT NULL DEFAULT 'liming'; (改名)
  • 刪除欄位
    ALTER TABLE tbl DROP COLUMN col_name;
    例:ALTER TABLE student DROP name;

2. 索引 (Index) 操作

  • 新增普通索引
    ALTER TABLE tbl ADD INDEX idx_name (col1, col2...);
    例:ALTER TABLE student ADD INDEX stu_name (name);
  • 刪除索引
    ALTER TABLE tbl DROP INDEX idx_name;
    例:ALTER TABLE student DROP INDEX stu_name;
  • 查看索引
    SHOW INDEX FROM tbl;
  • 新增唯一索引
    ALTER TABLE tbl ADD UNIQUE idx_name (col_name);

3. 主鍵 (Primary Key) 操作

  • 新增主鍵
    ALTER TABLE tbl ADD PRIMARY KEY (col_name);
  • 刪除主鍵
    ALTER TABLE tbl DROP PRIMARY KEY;

4. 外鍵 (Foreign Key) 操作 (InnoDB)

  • 新增
    ALTER TABLE tbl ADD CONSTRAINT fk_name FOREIGN KEY (col) REFERENCES ref_tbl(ref_col) ON DELETE CASCADE;
  • 刪除
    ALTER TABLE tbl DROP FOREIGN KEY fk_name;

5. 表選項與重命名

  • ALTER TABLE tbl RENAME TO new_tbl;
  • ALTER TABLE tbl ENGINE=InnoDB;
  • ALTER TABLE tbl DEFAULT CHARSET=utf8mb4;
  • ALTER TABLE tbl AUTO_INCREMENT=1000;

實戰提醒

  • CHANGE 需指定**完整欄位定義** (類型、長度、NULL/NOT NULL、DEFAULT),否則屬性會重置為預設值。
  • 大表 ALTER TABLE 會鎖表 (5.6 前) 或產生臨時表 (Online DDL 5.6+),建議低峰期執行或用 pt-online-schema-change。
  • 修改欄位名稱時,同步更新應用程式代碼、視圖、存儲過程、觸發器中引用。

牢記:ALTER = 改結構 (DDL),alert = 彈窗 (JS),一字之差,天壤之別。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved