目录:
1、Oracle创建库、表
2、Oracle数据怎删查改操作
3、Oracle数据约束条件
Oracle创建库、表:
create user user05 identified by 123456 --创建Oracle新用户
grant CONNECT,RESOURCE,DBA TO user05 --GRANT语句授予user05用户权限
drop user user04;--删除用户
alter user user01 identified by 111111;--修改用户密码
CONNECT user05/123456 --连接创建用户
select * from CLASSINFO; --查询数据
INSERT into CLASSINFO(CLASSNAME) values('明');--插入数据
update classinfo set CLASSID=2.0,CLASSNAME='大' where CLASSID=1.0 --修改数据
delete from classinfo where id=1;--删除数据
drop table classinfo;--删除表
drop sequence seq_stu;--删除序列
--创建表
create table classinfo(
id number primary key ,
classname varchar(10) not null
);
增加列
3、删除列
4、修改列的类型
5、复制表
相当于新建一张表,只有表名和原有的表不一样
表约束:
1、非空约束 Not Null 限定表种某些值不能为空的约束
写法1:create table stu2(sid number,name varchar2(255) constraint nu not null,age number)
写法2:create table stu3(sid number,name varchar2(255) not null, age number)
删除非空约束
唯一约束UNIQUE(限定某一列的值不能重复)
写法:create table stu6(sid number,name varchar2(255) unique,age number)
主键约束Primary Key 【主键不会重复】
写法
create table stu9(sid number primary key,name varchar2(255),age number)
给已有的表添加主键约束
外键约束foreign key
写法:
create table worker(wid number primary key,name varchar2(255),jobid number,
constraint fk_worker foreign key(jobid) references job(jid) on delete cascade
)
给已有的表添加外键约束
创建检查约束第一种方式: (aabb为约束名字,随意赋予)
写法:
create table stu(sid number,name varchar2(255),age number check(age > 20 and age <90))
实列:Oracle实现自增标识
create table dectuser(
userid integer primary key, /*主键*/
name varchar2(20),
sex varchar2(2)
);
create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999
increment by 1
start with 1; /*步长为1*/
create or replace trigger dectuser_tb_tri
before insert on dectuser /*触发条件:当向表dectuser执行插入操作时触发此触发器*/
for each row /*对每一行都检测是否触发*/
begin /*触发器开始*/
select dectuser_tb_seq.nextval into :new.userid from dual;
/*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表dectuser中的userid字段中*/
end;
insert into dectuser(name,sex) values ('feng','男');
insert into dectuser(name,sex) values ('feng','男');
insert into dectuser(name,sex) values ('feng','男');
select * from dectuser;