在Oracle关于时间属性的建表

Example:

create tablecourses(

cidvarchar(20)not null primary key,

cnamevarchar(20)not null,

ctypeinteger,

ctimedate DEFAULT SYSDATE,

cscorefloat not null

)

insert intocoursesvalues('ss01','java',0,TO_DATE('2009-8-28','yyyy-mm-dd'),94)

insert intocoursesvalues('ss02','music',1,TO_DATE('2009-8-27','yyyy-mm-dd'),88)

insert intocoursesvalues('ss03','c++',0,TO_DATE('2009-8-29','yyyy-mm-dd'),78)

在PL/SQL建表以后,记得commit,才能在pl/sql上查询到数据。

对于日期类型

将字符串转换成日期:Insert Into table(col_date)Values(to_date(‘2003-01-16’,’yyyy-mm-dd’));将日期转换成字符串:Insert Into table(col_char)Values(to_char(Date,’format’));

select*fromcourseswherectime>to_date('2009-8-28','yyyy-mm-dd')

创建表1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2(size)可变长度的字符串,必须规定长度CHAR(size)固定长度的字符串,不规定长度默认值为1NUMBER(p,s)数字型p是位数总长度, s是小数的长度,可存负数最长38位.不够位时会四舍五入.DATE 日期和时间类型LOB 超长字符,最大可达4GCLOB 超长文本字符串BLOB 超长二进制字符串BFILE 超长二进制字符串,保存在数据库外的文件里是只读的.

数字字段类型位数及其四舍五入的结果原始数值1234567.89数字字段类型位数 存储的值Number 1234567.89

Number(8) 12345678

Number(6)错Number(9,1) 1234567.9

Number(9,3)错Number(7,2)错Number(5,-2) 1234600

Number(5,-4) 1230000

Number(*,1) 1234567.9

2.创建表时给字段加默认值和约束条件创建表时可以给字段加上默认值例如:日期字段 DEFAULT SYSDATE这样每次插入和修改时,不用程序操作这个字段都能得到动作的时间

创建表时可以给字段加上约束条件例如:非空NOT NULL不允许重复UNIQUE关键字PRIMARY KEY按条件检查CHECK (条件)外键REFERENCES表名(字段名)

3.创建表的例子CREATE TABLEDEPT(

EPTNONUMBER(2)CONSTRAINTPK_DEPTPRIMARY KEY,

DNAMEVARCHAR2(14),

LOCVARCHAR2(13)) ;

CREATE TABLEregion(

IDnumber(2) NOT NULL PRIMARY KEY,postcodenumber(6) default'0'NOT NULL,

areanamevarchar2(30) default' 'NOT NULL);

4.创建表时的命名规则和注意事项1)表名和字段名的命名规则:必须以字母开头,可以含符号A-Z,a-z,0-9,_,$,#

2)大小写不区分3)不用SQL里的保留字,一定要用时可用双引号把字符串括起来.4)用和实体或属性相关的英文符号长度有一定的限制

注意事项:

1)建表时可以用中文的字段名,但最好还是用英文的字段名2)创建表时要把较小的不为空的字段放在前面,可能为空的字段放在后面3)建表时如果有唯一关键字或者唯一的约束条件,建表时自动建了索引4)一个表的最多字段个数也是有限制的,254个.

5.约束名的命名规则和语法约束名的命名规则约束名如果在建表的时候没有指明,系统命名规则是SYS_Cn(n是数字)约束名字符串的命名规则同于表和字段名的命名规则

6.使用约束时的注意事项约束里不能用系统函数,如SYSDATE和别的表的字段比较可以用本表内字段的比较

想在事务处理后,做约束的检查SQL> alter session set constraints deferred.

7.由实体关系图到创建表的例子s_dept前提条件:已有region表且含唯一关键字的字段id

SQL> CREATE TABLE s_dept

(id NUMBER(7)

CONSTRAINT s_dept_id_pk PRIMARY KEY,

name VARCHAR2(25)

CONSTRAINT s_dept_name_nn NOT NULL,

region_id NUMBER(7)

CONSTRAINT s_dept_region_id_fk REFERENCES region (id),

CONSTRAINT s_dept_name_region_id_uk UNIQUE(name, region_id));

8.较复杂的创建表例子SQL> CREATE TABLE s_emp

(id NUMBER(7)

CONSTRAINT s_emp_id_pk PRIMARY KEY,

last_name VARCHAR2(25)

CONSTRAINT s_emp_last_name_nn NOT NULL,

first_name VARCHAR2(25),

userid VARCHAR2(8)

CONSTRAINT s_emp_userid_nn NOT NULL

CONSTRAINT s_emp_userid_uk UNIQUE,

start_date DATE DEFAULT SYSDATE,

comments VARCHAR2(25),

manager_id NUMBER(7),

title VARCHAR2(25),

dept_id NUMBER(7)

CONSTRAINT s_emp_dept_id_fk REFERENCES s_dept(id),

salary NUMBER(11,2),

commission_pct NUMBER(4,2)

CONSTRAINT s_emp_commission_pct_ck CHECK

(commission_pct IN(10,12.5,15,17.5,20)));

8.通过子查询建表通过子查询建表的例子SQL>CREATE TABLE emp_41 AS SELECT id, last_name, userid, start_date

FROM s_emp WHERE dept_id = 41;

SQL> CREATE TABLE A as select * from B where 1=2;只要表的结构.

10.用子查询建表的注意事项1)可以关连多个表及用集合函数生成新表,注意选择出来的字段必须有合法的字段名称,且不能重复。2)用子查询方式建立的表,只有非空NOT NULL的约束条件能继承过来,其它的约束条件和默认值都没有继承过来.

3)根据需要,可以用alter table add constraint ……再建立其它的约束条件,如primary key等.

11. Foreign Key的可选参数ON DELETE CASCADE在创建Foreign Key时可以加可选参数:

ON DELETE CASCADE它的含义是如果删除外键主表里的内容,子表里相关的内容将一起被删除.如果没有ON DELETE CASCADE参数,子表里有内容,父表里的主关键字记录不能被删除掉.

12.如果数据库表里有不满足的记录存在,建立约束条件将不会成功.

13.给表创建和删除同义词的例子SQL> CREATE SYNONYM d_sum

2 FOR dept_sum_vu;

SQL> CREATE PUBLIC SYNONYM s_dept

2 FOR alice.s_dept;

SQL> DROP SYNONYM s_dept;

oracle字段规则,Oracle的基本操作+Oracle字段类型(zz)相关推荐

  1. oracle复合字段,复合索引 选择频繁的字段,还是选择选择性低的字段 放在前面?...

    要在C1,C2两个字段建立复合所用,规则有:如果C1字段使用更频繁一些,那么复合索引的顺序应该是(C1,C2),可以使Oracle更容易用上该索引. 如果C1字段只有(1,2,3)三个离散值,C2字段 ...

  2. Oracle/MSSQL/Mysql 常用数据库的字段类型及大小

    Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下:   字段类型   中文说明   限制条件   其它说明   CHAR  固定长度字 ...

  3. oracle 12c 新特性之不可见字段

    在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c 中引入了不可见字段思想.在之前的版本中,为了隐藏重要的数据字 ...

  4. oracle如何某个字段去重复的数据,Oracle 去重复的数据

    重复的数据分两种,一种是表中部分字段的重复,一种是两行以上的记录完全一样. 部分字段的重复: 查询不重复的数据SQL: select 字段1,字段2,count(*) from 表名 group by ...

  5. oracle SQL update一次性修改多个字段,数据来源于另一张表

    适应oracle update 表A set (表A.字段1,表A.字段2) = ( select 表B.字段1,表B.字段2 from 表B where 表A.字段3=表B.字段3 ) 完整一点最好 ...

  6. oracle中设置表的主键字段为自增序列(实例)

    oracle中设置表的主键字段为自增序列(实例) 1.首先创建一个表(如日志表) //删除库表中存在的日志表 drop table S_LOG_INFO cascade constraints; // ...

  7. 批量查找Oracle中多个表中同一字段的长度

    批量查找Oracle中多个表中同一字段的长度 select t_tables.table_name,t_column.column_name,t_column.data_length,'alter t ...

  8. Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  9. oracle sql sub,oracle数据库根据不同条件给同一字段修改相应的值

    oracle数据库根据不同条件给同一字段修改相应的值: 例如:根据职务调整雇员的工资,如果职务为"SALESMAN"或者"ANALYST"工资上调100元,如果 ...

最新文章

  1. GBin1分享:jQuery新手技巧之“避免过多使用$('.someclass')”
  2. Python中的collections
  3. 人眼中亮斑的检测、定位和去除(3)
  4. LinkedList 源码分析(JDK 1.8)
  5. Python 字典类型的使用
  6. c语言函数 fprintf()(向文件写入格式化字符串)
  7. android x86一键安装,安卓
  8. 【Tiny4412】设置Uboot提示符和关闭MMU
  9. Android中ExpandableListView控件基本使用
  10. docker 修改阿里镜像源_使用阿里云容器镜像服务托管私有Docker镜像
  11. python 工作路径
  12. C#探秘系列(八)WPF数据绑定
  13. android堆叠效果相册_CSS实现照片堆叠效果
  14. Autotools发展史
  15. Atitit 信息安全常见基础技术 目录 1. 加密 1 2. 签名(防篡改) 1 2.1. 第4章 标识与认证技术  1 2.2. 第5章 授权与访问控制技术  1 2.3. 第9章 安全审计与责
  16. 一个指导人机系统评估的框架
  17. php网页框架模板,用PHP制作静态网站的模板框架(四)
  18. Win10 微软拼音添加小鹤双拼
  19. win10桌面不见了如何找到
  20. 电源保护——TVS管

热门文章

  1. oracel 数据库问题 ORA-12547 ORA-12571
  2. 【kafka】kafka NoSuchElementException ArrayDeque getLast 压缩方式不同
  3. 95-10-140-启动-权限
  4. Spark Structured : java.lang.RuntimeException: Offsets committed out of order: 2 followed by 0
  5. 【Siddhi】Siddhi 4.2.40版本之前的一个Bug
  6. ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER
  7. 记一次极其坑爹的Maven无法下载相关Jar包的问题:IDEA问题
  8. Spark读取Hbase报错NoSuchMethodError: org.apache.hadoop.conf.Configuration.getPassword(Ljava/lang/String;
  9. android 4.2版本的sdcard文件目录分析
  10. 云计算实战系列十一(软件包管理)