oracle中_给表中的字段入学时间添加一个默认约束_默认系统时间,(四)oracle的数据类型,数据库表,约束,序列...

1.3.5  数据类型

1.3.5.1 字符数据类型

1. char类型

固定长度,范围1-2000字节,默认1字节

2.varchar2类型

可变长度,返回1-4000字节,默认30字节

3.long类型   存储:长文本,最大存储2GB文本,

一个表只能有一列long数据类型

long列不能定义为唯一约束和主键约束

long列不能建立索引

过程或存储过程不能接受long数据类型的参数

1.3.5.2 数值数据类型

number数值类型

number(p,s)

number(p)

数字的总位数,取值范围1-38,s小数点右边的位数

1.3.5.3 日期时间数据类型

date

sysdate获取系统时间

1.3.5.4 LOB大对象数据类型

clob:大字符文本

blob:二进制

bfile:二进制文件

1.3.5.5 行标识

ROWID

伪列或虚列,唯一标识

ROWNUM

查询结果中顺序分配的编号,必须从1开始

1.3.6 数据库表

1.3.6.1 创建数据库表

1.语法:

create table 表名 (列名1  数据类型和长度  是否为空,列名2  数据类型和长度  是否为空,...);

1.3.6.2 修改数据库表

1.修改列

alter table 表名 modify (列名   数据类型和长度) ;

alter table 表名 modify (列名1   数据类型和长度,列名2   数据类型和长度,...) ;

2.添加列

alter table 表名  add(列名1  数据类型和长度 ,列名2  数据类型和长度 ,...);

3.删除1列

alter table 表名  drop column 列名;

4.删除多列

alter table 表名  drop (列名1 ,列名2 );

1.3.6.3 删除数据库表

1.删除数据不删除表结构

truncate table  表名;

2.删除数据和表结构

drop table 表名;

1.3.6.4 查看表结构命令:

desc  表名;

示例:表相关操作

1.3.6.5 查看该用户下所有的表

select * from tab;

1.3.6.6 表重命名

rename 旧表名 to 新表名;

1.3.7 约束

1.3.7.1 约束概念:

建立数据完整性

1.3.7.2 数据完整性

1.概念:

数据的完整性是指数据库中数据的准确性

1.3.7.3 约束的分类

1.实体完整性约束

概念:

实体完整性要求表中每一行的数据都反映不同的实体而不能存在相同的数据行

实现方式:

通过索引、主键约束、唯一约束等方式实现

2.域完整性约束

概念:

域完整性是指给定字段的输入有效性,

实现方式:

限制数据类型、检查约束、输入格式、默认值、非空约束等

3.引用完整性约束

概念:

用来保持表之间已定义的关系

实现方式:

通过主键和外键的引用关系来实现的

4.自定义完整性约束

实现方式:

常借助于数据库的规则、存储过程或者触发器等对象来进行约束。

1.3.7.4 创建主键约束

1.语法

alter table 表名  add constraint  pk_约束名  primary key(字段名);

1.3.7.5  创建唯一约束

1.语法:

alter table 表名 add constraint 约束名 unique(字段名);

1.3.7.6  检查约束

语法:

alter  table 表名 add  constraint  约束名  check(字段名检查内容) ;

1.3.7.7 主外键关联关系

alter  table  从表名    add  constraint  fk_列名    foreign   key (外键列名)  references   主表名   (主表列名);

1.3.7.8 删除约束

alter table 表名 drop constraint 约束名;

1.3.7.9 查看约束

select  table_name,constraint_name from  user_constraints ;

1.3.7.10 在创建表时添加约束

create table student

(

sid number primary key,

sname varchar2(20) check(length(sname)<=6),

password varchar2(20)

check(length(password) >=6 and length(password)<=16),

scard varchar2(40) unique,

sex varchar2(4) default '女' check(sex in('男','女')),

age number(10) default '18' check(age>0 and age<=120),

cid number(10) references classes(cid)

);

1.3.8 命名规范

表空间以tbs_为前缀

创建表以tbl_为前缀

主键以pk_为前缀

外键以fk_为前缀

检查约束以ck_为前缀

唯一约束以uk_为前缀

1.3.9 序列

1.创建序列

语法:

create sequence seq_序列名 [start with 起始值]  [increment by 增量] [maxvalue 最大值|nomaxvalue]  [minvalue   最小值|nominvalue] [cycle|nocycle] [cache 缓存值|nocache] ;

解释:

nomaxvalue表示升序最大值10的27次方,降序最大值为-1,为默认值

nominvalue表示升序最小值为1,降序最小值为-10的26次方,为默认值

cycle:序列在达到最大值和最小值时,继续从头就开始生成

nocycle:序列在达到最大值和最小值时,不会再继续再生成值,为默认值

nocache:默认缓存20个序列号

2.访问序列

序列名.nextval; 每次递增序列值

序列名.currval;  返回当前序列

查看当前序列值

3.修改序列

语法:

alter sequence seq_序列名 [start with 起始值]  [increment by 增量] [maxvalue 最大值|nomaxvalue]  [minvalue   最小值|nominvalue] [cycle|nocycle] [cache 缓存值|nocache] ;

4.删除序列

语法:drop sequence 序列名;

5.查询序列

语法: select sequence_name from user_sequences;

1.3.10 数据库操作

1.对列操作

(1)对表结构的操作,增删改

(2)语法:alter table [表名] add [字段名] varchar2 (50) null;

2.对行的操作

(1)对表中数据进行增删改

(2)插入语句:insert into [表名] (字段1,字段2,。。。) values (值1,值1,。。。);

(3)删除语句:delete  from[表名] where [字段1]=1;

(4)修改语句:update [表名] set [字段1]=1,。。。;

(5)查询语句:select [字段1],。。。 from [表名]  where [字段1]=1 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值