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
- MySQL 對比資料庫表結構MySql資料庫
- 表結構對比版本
- 常見問題--oracle10g修改表結構Oracle
- mysql常見的查詢語句的應用MySql
- oracle對非使用繫結變數的語句去重Oracle變數
- SQL語句查詢表結構SQL
- ORACLE結構化查詢語句Oracle
- oracle 對比sql語句執行環境OracleSQL
- 資料庫-單表結構-建表語句資料庫
- 海量資料處理_表結構變更
- MySQL表結構變更引起的Metadata Lock|如何定位DDL被阻塞MySql
- 常見邏輯語句逆向分析
- 【SQL】Oracle資料庫變更後sql效能對比SQLOracle資料庫
- 使用PL/SQL工具比對錶結構,同步表結構SQL
- Mysql跨表更新 多表update sql語句總結MySql
- MySQL複製表結構和內容到另一張表中的SQL語句MySql
- Oracle和SQL對比語法總結OracleSQL
- ORACLE START WITH 語句的樹級結構例子Oracle
- 複製表結構和資料SQL語句SQL
- java常見語句之迴圈體Java
- DBus資料庫表結構變更處理方案資料庫
- oracle的表分析語句Oracle
- excel表結構生成powerDesigner模型,生成建表語句sqlExcel模型SQL
- 由一條create語句的問題對比mysql和oracle中的date差別MySqlOracle
- 在Oracle 9i中修改表的結構的相關sql語句OracleSQL
- MySQL檢視建表語句MySql
- 常見開源分散式檔案系統架構對比分散式架構
- mysql常見問題總結MySql
- 常見問題--oracle物理資料庫結構概述Oracle資料庫
- OGG 表結構變化導致同步異常
- Oracle環境下SQL語句的不同寫法效率對比OracleSQL
- 大資料常見術語表大資料
- 【Oracle】scott使用者下表結構、初始化資料和建表語句Oracle
- 行變列構建sql語句SQL
- oracle找出沒有使用繫結變數的sql語句Oracle變數SQL
- MySQL -update語句流程總結MySql
- MySQL基本操作語句小結MySql