java SSM第三章学习内容(oracle创表,主外键,同义词,修改表信息)

--创建表语句

create table student(

ID number(5) primary key,

name varchar2(40) not null,

grade_id number(2) not null

);

select * from student;

create table grade(

id number(2) primary key,

grade varchar2(20) not null--年级

);

select * from grade;

--修改列信息

--添加一列

alter table student add (sex char(1));

--修改一列的属性

alter table student modify sex char(10);

--设置外键连接

alter table student add constraint fk_grade_id foreign key (grade_id) references grade(id);

--修改表名

rename student1 to student;

select *from student;

--为一列属性改名字

alter table student rename column sex1 to sex;

select * from student;

--设置自增序列--相当于mysql的启动增长,不过更强大

--创建一个自增序列并且命名

create sequence s1;

create sequence s2;

--删除一个自增序列

DROP SEQUENCE 序列名

drop sequence s1;

--用自增序列代替一列的值来实现自增

insert into student values(s1.nextval,'jin',1,'男');

insert into student values(s1.nextval,'jin1',1,'男');

insert into student values(s1.nextval,'jin2',1,'男');

insert into student values(s1.nextval,'jin3',1,'男');

insert into student values(s1.nextval,'jin4',1,'男');

--清空一个表

truncate table student;

--假如两个表使用一个序列,这样的两张表都是错开的,因为一个序列的id是不重复的

create sequence s1;

select * from student;

--给grade表添加信息

insert into grade values(s2.nextval,'一年级');

insert into grade values(s2.nextval,'二年级');

insert into grade values(s2.nextval,'三年级');

insert into grade values(s2.nextval,'四年级');

select * from grade ;

--同义词

--私有同义词

--共有同义词

create or replace synonym 名字 for 要修改的名字;

create or replace synonym stu for student;

--改了名以后,原来的名字和修改后的名字都可以使用

--要是自己都忘了,就等于没有创建过这个同义词

select * from student;

select * from stu;

--创建同义词

create or replace synonym 名字 for 要修改的名字;

--创建公共同义词

create public synonym table_name for user.table_name;

--删除同义词

DROP SYNONYM stu;

--删除公共同义词

DROP PUBLIC SYNONYM public_emp;

--查询去重复

select distinct * from student;

--nvl(coum,value)假如coum为null就显示value的值

select nvl(id,0) from student;

select id from student;

--nvl2(coum,value1不空,value2空)假如coum为空就显示第三个值,不然显示第二个值;

select nvl2(id,9,0) from student;

--补充,在soctt用户底下有两张表,emp和dept这两张表是初始数据库自带的;

--在没有表示用的时候可以使用;

猜你喜欢

转载自blog.csdn.net/JayVergil/article/details/81665304
今日推荐