ALTER TABLE 用於修改現有表結構,DROP 用於永久刪除索引、表、資料庫。
ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
-- 部分資料庫不支援 DROP COLUMN (如舊版 SQLite)
-- MySQL / MariaDB
ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
-- SQL Server
ALTER TABLE table_name ALTER COLUMN column_name new_datatype;
-- Oracle
ALTER TABLE table_name MODIFY (column_name new_datatype);
-- MySQL
ALTER TABLE table_name DROP INDEX index_name;
-- SQL Server
DROP INDEX table_name.index_name;
-- Oracle / PostgreSQL
DROP INDEX index_name;
-- Access
DROP INDEX index_name ON table_name;
DROP TABLE table_name;
DROP DATABASE database_name;
TRUNCATE TABLE table_name;
與 DELETE FROM table 差異:
TRUNCATE 速度極快、不可回滾、重置自動遞增計數器、不觸發 Trigger。DELETE 可帶 WHERE、可回滾、觸發 Trigger、不重置自動遞增。