数据库转换Mysql-Oracle之建表语句
Mysql建库语句(导出的):
DROP TABLE IF EXISTS `tablename`;
CREATE TABLE `tablename` (
`C_DI_CDE` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
/*Mysql添加注释方法:在创建字段后直接填写COMMENT '注释内容'*/
`C_PATER_CDE` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT ' 父代码',
`C_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT ' 名称',
`C_DESCRIBE` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '0' COMMENT ' 描述',
`C_STATE` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '0' COMMENT ' 状态',
PRIMARY KEY (`C_DI_CDE`),
/*MySQL中的KEY为键的含义和索引定义相同,是索引约束,即主键外键也是索引的一种,故Unique KEY表示唯一性索引*/
UNIQUE KEY `PK_WEB_BAS_DIC_DT` (`C_DI_CDE`) USING BTREE,
KEY `IDX_WEB_BAS_DIC_DT_C_DICT_TYPE` (`C_DICT_TYPE`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='CLM_C_DICD_DATAS';
备注:表名和表字段上的符号不是单引号而是tab键上面的那个键的英文状态下的符号,加或不加都可以,在表字段名为关键字是需要加该符号防止与关键字冲突而建表失败。
Oracle建表语句:
CREATE TABLE WEB_TABLE (
C_TABLE_ID VARCHAR2(50 BYTE) DEFAULT '' NOT NULL PRIMARY KEY, /*创建主键方法之一*/
C_DPT_CDE VARCHAR2(30 BYTE) DEFAULT NULL NULL ,
C_KIND_NO VARCHAR2(2 BYTE) DEFAULT NULL NULL ,
C_PROD_NO VARCHAR2(10 BYTE) DEFAULT NULL NULL UNIQUE, /*创建Unique约束方法之一*/
C_LEV_TYP VARCHAR2(2 BYTE) DEFAULT NULL NULL ,
C_LEV_CDE VARCHAR2(5 BYTE) DEFAULT NULL NULL ,
C_LEV_NME VARCHAR2(100 BYTE) DEFAULT NULL NULL ,
C_FLG VARCHAR2(2 BYTE) DEFAULT NULL NULL ,
CONSTRAINT PK_WEB_CLM_ADJUST PRIMARY KEY (C_TABLE_ID), /*创建主键方法之二*/
CONSTRAINT PK_WEB_RISK_CLM_SEQ UNIQUE (C_DPT_CDE,C_PROD_NO) /*创建Unique约束方法之二*/
) ;
/*Oracle添加注释方法:COMMENT ON 表名.字段名 IS '注释内容' */
COMMENT ON COLUMN WEB_TABLE.C_TABLE_ID IS '主键';
COMMENT ON COLUMN WEB_TABLE.C_DPT_CDE IS '机构编码';
COMMENT ON COLUMN WEB_TABLE.C_PROD_NO IS '产品编码';
COMMENT ON COLUMN WEB_TABLE.C_LEV_TYP IS '级别类型';
COMMENT ON COLUMN WEB_TABLE.C_LEV_CDE IS '级别编码';
COMMENT ON COLUMN WEB_TABLE.C_LEV_NME IS '级别名称';
COMMENT ON COLUMNWEB_TABLE.C_FLG IS '发送状态';
-- ---------------------------- -- Indexes structure for table WEB_CLM_AUTH -- ----------------------------
CREATE INDEX IYA_AUTH_LEV_TYP ON WEB_TABLE (C_LEV_TYP ASC) ; /*创建普通索引*/
CREATE UNIQUE INDEX UIYA_AUTH_DPT_CDE ON WEB_TABLE (C_DPT_CDE ASC, C_PROD_NO ASC, C_LEV_TYP ASC, C_LEV_CDE ASC) ; /*创建Unique索引*/
-- ---------------------------- -- Primary Key structure for table WEB_CLM_AUTH -- ----------------------------
/*该方法需要命名约束名称时可使用CONSTRAINT属性的写法来*/
ALTER TABLE WEB_TABLE ADD PRIMARY KEY (C_TABLE_ID); /*创建主键方法之三*/
ALTER TABLE WEB_TABLE ADD Unique (C_PROD_NO); /*创建唯一约束方法之三*/
补充说明:
1.一个表只能有一个primary key,可以有多个unique约束,Oracle中不容许在相同列上既创建主键又创建唯一性约束。
2.Oracle中当创建primary key的时候,会同时建立一个索引,名字和primary key的名称相同.
3.当某属性为primary key,会默认新增not null约束,当删除primary key后,not null属性取消.
4.表的一个属性可以同时设定not null和primary key约束.
关于CONSTRAINT
http://blog.csdn.net/lengyue_wy/article/details/6712258
数据库转换Mysql-Oracle之建表语句的更多相关文章
- oracle基本建表语句
oracle基本建表语句 2010-09-20 10:37:33| 分类: 数据库 | 标签:数据库 oracle |字号 订阅 --创建用户create user han identifie ...
- oracle的建表语句
oracle数据库的建表语句,具体语法如下: CREATE TABLE tablename (column_name datatype [null,not null], column_name dat ...
- oracle得到建表语句
第一种方法是使用工具,如:pl/sql developer,在[工具]--[导出用户对象]出现就可以得到建表脚本. 第二种方法是,sql语句. DBMS_METADATA.GET_DDL包可以得到数据 ...
- 五、oracle基本建表语句
--创建用户create user han identified by han default tablespaceusers Temporary TABLESPACE Temp;grant conn ...
- mysql workbench 导出建表语句
导出建表语句和数据 server—–>data export—–>选中表 注意,export to dump project folder,这种方式是每个表对应一个sql文件. 导出建 ...
- 【MySQL】查看建表语句
命令如下: SHOW CREATE TABLE tbl_name 例子: mysql> show create table m_zhbess_vehicle_report\G ********* ...
- [Oracle] 简单建表语句
// 注意表名,字段名,索引名 尽量不要带引号 CREATE TABLE FIRSTTB ( "ID" NUMBER(8,0) not null primary key, & ...
- 三种常用的MySQL建表语句
MySQL建表语句是最基础的SQL语句之一,下面就为您介绍最常用的三种MySQL建表语句,如果您对MySQL建表语句方面感兴趣的话,不妨一看. 1.最简单的: CREATE TABLE t1( ...
- mysql 常用命令,连接数据库,查看建表语句,批量导入数据,批量更新数据,连接查询
1. 1)MySQL 连接本地数据库,从cmd中进入mysql命令编辑器: root root分别为用户名和密码 mysql -uroot -proot 2)MySQL 连接本地数据库,用户名为“ro ...
随机推荐
- .NET core 部署到Docker +Docker Protainer管理实现
.NET core 部署到Docker +Docker Protainer管理实现 上次说到将.net core的应用程序发布到Linux中(https://www.cnblogs.com/Super ...
- Maven工程pom中定义jdk版本
今天把之前做的项目导进eclipse,然后发现报错,一些类在1.6中不支持,需要将JDK版本设置为1.7,我直接通过eclipse中的提示进行更改,然后update project一下,发现又回到了S ...
- h5 调起app 如果没安装就跳转下载
<!doctype html> <html> <head> <title></title> <meta charset="u ...
- Angular的启动过程
我们知道由命令 ng new project-name,cli将会创建一个基础的angular应用,我们是可以直接运行起来一个应用.这归功与cli已经给我们创建好了一个根模块AppModule,而根模 ...
- [Jenkins] TestComplete 使用Jenkins进行持续集成测试
1.安装正确的TestComplete插件 在Jenkins里面搜索TestComplete,找到正确的插件然后安装,可以重启jenkins或者选择不重启 在Install Tab 下面可以查看到正确 ...
- springboot 框架 - 探究-pom文件
一.pom文件 父项目 <parent> <groupId>org.springframework.boot</groupId> <artifactId> ...
- python pylab.plot() 方法使用
Python 中用pylab模块, pylab.plot() 函数,绘制折线统计图 import pylab as pl x = [, , , ] y = [, , , ] ''' plot参数说明: ...
- 解决 上下拉的橡皮筋 和 复制无效 和 ios滑动屏幕定时器停止问题cordova
cordova 安装插件cordova plugin add cordova-plugin-wkwebview-engine@latest --save config.xml 的 <platfo ...
- Python解决RSA加密
最近爬个网站需要用发现密码是通过RSA加密的,因此找网上python加密例子,发现都没有一个比较完整的demo so,自己写一个吧~ 首先,安装相应的库: 1. pyCrypto : pip inst ...
- 学好Linux必备知识
鸟哥的私房菜中提到学好Linux必备的几种技能: 1. 计算器概论不硬件相关知识: 因为既然想要走Linux这门路,信息相关癿基础技能也丌能没有啊! 所以先理觋一下基础癿硬件知识,丌用一定要全懂啦! ...