Oracle、MySQL常見表結構變更語句對比
測試資料
SQL> conn cjc/****** SQL> create table t1(id int,name varchar2(10)); /* mysql:create table t1(id int,name char(10)); */ SQL> insert into t1 values(1,'cjc'); SQL> commit;
新增列
Oracle語法:
alter table t1 add (col1 char(10),col2 number(2));
MySQL語法:
alter table t1 add (col1 char(10),col2 int); alter table t1 add column (col1 char(10),col2 int);
新增列、預設值、非空
alter table t1 add(col3 int default 5 not null);
修改列型別
Oracle語法:
alter table t1 modify(col1 char(15));
MySQL語法:
alter table t1 modify col1 char(15);
Oracle語法:
修改列型別、預設值
alter table t1 modify(col2 number(3) default 10);
MySQL語法:
alter table t1 modify col2 int default 10;
新增約束
新增檢查約束
Oracle、MySQL語法
ALTER TABLE t1 ADD CONSTRAINT chk_t1_col3 CHECK (col3 >=3);
新增主鍵約束
alter table t1 add constraint pk_t1_id primary key(id);
新增外來鍵約束
---create table t2 as select * from t1; ---alter table t2 add constraint pk_t2_id primary key(id); alter table t1 add constraint fk_t1_id foreign key(id) references t2(id);
查詢約束
Oracle語法:
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME='T1';
MySQL語法:
show create table t1\G; select CONSTRAINT_NAME,TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where TABLE_SCHEMA='cjc';
重新命名列
Oracle語法:
ALTER TABLE t1 RENAME COLUMN col3 TO col5;
MySQL語法:
alter table t1 change col3 col5 int;
新增備註
Oracle語法:
新增表備註
COMMENT ON TABLE t1 is 'The Test table t1';
新增列備註
comment on column t1.id is 'The table t1 column id';
MySQL語法:
新增表備註
ALTER TABLE t1 COMMENT='The Test table t1';
新增列備註
ALTER table t1 MODIFY id int COMMENT 'The table t1 column id';
查詢備註
Oracle語法:
select * from user_tab_comments where table_name='T1';
查詢列備註
select * from user_col_comments where table_name='T1';
MySQL語法:
show create table t1\G; SHOW FULL COLUMNS FROM t1;
列備註
SHOW FULL COLUMNS FROM t1;
###chenjuchao 20230102 17:30###
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2930456/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL千萬級大表線上變更表結構MySql
- ORACLE結構化查詢語句Oracle
- mysql常見的查詢語句的應用MySql
- 表結構對比版本
- 資料庫-單表結構-建表語句資料庫
- 【SQL】Oracle資料庫變更後sql效能對比SQLOracle資料庫
- MySQL表結構變更引起的Metadata Lock|如何定位DDL被阻塞MySql
- Mysql跨表更新 多表update sql語句總結MySql
- 常見邏輯語句逆向分析
- MySQL複製表結構和內容到另一張表中的SQL語句MySql
- excel表結構生成powerDesigner模型,生成建表語句sqlExcel模型SQL
- 複製表結構和資料SQL語句SQL
- 【Oracle】scott使用者下表結構、初始化資料和建表語句Oracle
- [20220610]對比表結構的不同.txt
- java常見語句之迴圈體Java
- MySQL檢視建表語句MySql
- Oracle 操作表結構基本語法及示例Oracle
- 【SQL】Oracle sql語句 minus函式執行效率與join對比SQLOracle函式
- 2.語句結構
- ORACLE常見檢視和表整理Oracle
- DBus資料庫表結構變更處理方案資料庫
- OGG 表結構變化導致同步異常
- MySQL基本操作語句小結MySql
- MySQL基本sql語句總結MySql
- MySQL -update語句流程總結MySql
- 【SCRIPT】Oracle表管理段管理常用語句Oracle
- MySQL高階部分-建表語句MySql
- Oracle中如何查詢未使用繫結變數的SQL語句?Oracle變數SQL
- mysql常見問題總結MySql
- 常見開源分散式檔案系統架構對比分散式架構
- ### 流程控制語句結構
- 流程控制語句結構
- Python常見的三種分支語句詳解!Python
- Python選擇語句常見的三種形式!Python
- 常見的SQL語句(建立、刪除、切換)SQL
- 常見Hybrid App框架優劣對比APP框架
- 幾千萬記錄,資料庫表結構如何平滑變更?資料庫
- ORACLE常用語句:Oracle