经过漫长的时间,从开始的学习,到后面的一遍一遍的复习和使用oracle,今天总结一些学习的方法和以后复习的要点,对自己不足的地方进行总结:
首先oracle数据有 DQL、DML、TPL、DDL四种语言,全名分别为Data Query Language(数据查询语言)--select;Data Manilulation Language(数据操作语言)---insert、update、delete;Transacyion Process Language(事务处理语言)--commit、rollback;Data Definition Language(数据定义语言)--create、alter、drop、truncate;这些是数据库语言的根本,学会这些就是基本上对oracle数据库了解的差不多了
下面我就写出Oracle数据库的一些重要名词:
创建一个数据库空间和权限(需要管理员登陆创建,我用的是sys):
create user doctor(数据库名) identified by 123456(密码);
grant connect,resource to doctor;
数据类型主要有:数据、字符串、日期
查询语句:select:select * from emp;select * from emp where ename='aaa';
having、group by 、order by 、asc、desc、distinct、
constraints的五种约束键:not null、primary key、unique、poreign key、check;
创建constraints 有两种方法:column-level、rable-level
添加约束的方法:
alter table emp_bak add constraint emp_empno_pk primary key(empno);--添加主键约束
alter table emp_bak add constraint emp_ename_unique unique(ename);--添加唯一约束
alter table emp_bak add constraint emp_sal_check check(sal >1600);--添加检查性约束
alter table emp_bak add constraint emp_deptno_fk foreign key(deptno) references dept(deptno);--添加外键约束
alter table emp_bak modify(job constraint emp_job_nn not null);--添加非空约束
-- 删除约束
alter table emp_bak drop primary key; --删除主键
alter table emp_bak drop constraint emp_empno_pk; --删除主键
alter table emp_bak drop unique(ename); --删除唯一键
alter table emp_bak drop constraint emp_ename_unique; --删除唯一键
alter table emp_bak drop constraint emp_sal_check;--删除检查性约束
alter table emp_bak drop constraint emp_deptno_fk;--删除外键约束
alter table emp_bak modify(job null); --删除非空约束
alter table emp_bak drop constraint emp_job_nn;--删除非空约束
create table sextype(
sexno number(4) not null,
sexname varchar2(4)
)
alter table sextype add constraints PK_sexs_NO primary key(sexno);
comment on column sextype.sexno is '性别编号';
comment on column sextype.sexname is '性别名称(男、女等)';
序列、索引、同义词
序列:主要用于自增或者自减的时候,常用的就是新增数据的时候的主键自增
简单的创建:
create sequence seq_emp;
删除序列:
dorp sequence seq_emp;
索引:索引主要用于优化查询速度,在建立主键或者是唯一键的时候,索引会自动生成;
基于表emp复制表emp_bak;
create table emp_bak select * from emp where 1=0; --复制结构
create table emp_bak select * from emp ; --复制结构和里面的所有数据;