oracle数据库语言

--:DDL数据库定义语言
--描述主要的数据库对象
--创建表
--描述各种数据类型
--修改表的定义
--删除,重命名和情况表

--常见的数据库对象
--表  基本的数据存储集合有行到列组成
--视图 从表中抽离出的逻辑上相关的数据集合.
--序列 提供有规律的数据(一般用作主键的值)
--索引 提高查询效率
--同义词  给对象起别名

--命名规则
--表名和列名
--必须以字母开头
--必须在1-30个字符以内
--只由A-Z,a-z,0-9,_,$和#组成
--必须不能是oracle的保留字
--必须不能和用户定义的其他对象重名

--创建表的方式
--第一种方式(白手起家式)
--第二种方式(依托于某个已经存在的表)

create table emp_1807 as select id,name,age from t_emp where age = 12;
create table emp_1807_1 as select id,name,age,pay from t_emp;

select * from emp_1807_1;
select * from t_emp;

--数据类型
--varchar2(size)  可变长的字符数据      最大可达到4KB
--char(size)      定长字符数据          最大可达到2KB
--number(size)    可变长的数值数据      最多可存储精度达到38位长度的数据
--DATE   日期型数据
--long   可变长的字符数据,(最大可达到4G)
--CLOB   定长的字符数据(最大可达到4G)
--BLOB   最大可达到4G,主要用于存储视频,图片,以二进制形式进行存储

--修改表的定义
--使用alter table 语句
--1.追加新的列
alter table t_emp add(salary number(10));
update t_emp set salary = 1000 where age = 12;
--如果要修改列的属性,那么该列必须为空
alter table t_emp modify(salary varchar2(10) default 2000);

--删除一个列
alter table t_emp drop column salary;
--数据定义语言是自动提交的

--重命名表的一个列名
alter table t_emp rename column age to ages

--删除表
drop table t_emp;

--清空表数据
delete t_emp;
truncate table t_emp; 

rollback;
--数据库定义语言: 回滚语句无效,相当于会自动提交
--ps:truncate:从硬盘上删除表中所有数据,释放硬盘资源


--数据处理语言 DML
--delete:清空表数据 可回滚
--约束
--什么叫约束:约束是表级的强制规定
--主要的约束有以下5种
--not null 非空约束
--unique  唯一约束
--primary key 主键约束
--foreign key 
--check
--ps:如果不指定约束名,那么oracle_server自动按
--SYS_Cn的格式指定约束名

--创建和修改约束
--建表的同时
--建表之后
--可以在表级或列级定义约束
--ps:可以通过数据字典视图查看约束

--表级约束和列级约束
--作用范围
--1.列级约束只能作用在一个列上
--2.表级约束可以作用在多个列上(当然表级约束也可以作用在一个列上)

--定义方式
--1.列级约束必须跟在列的定义,表约束不与列一起,而是单独定义

--ps:not null:该约束只能定义在列上

create table emp_sc_18(
id number(3) constraint emp_sc_01_id_nn not null,
name varchar2(20) not null,
salary number(10,2)
)
create table emp_3(
id number(3) ,
name varchar2(20) not null,
salary number(10,2),
--表级约束
constraint emp_3 unique(id,name)
)
insert into emp_3 values(1,null,1000.0);
--表级约束无法在建表后添加
--如果要添加,只能通过列级的方式
--ps:唯一约束对空值无效

--ps:主键的约束是非空且唯一

--外键

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值