--------------------数据库--------------------
--创建表空间
create tablespace stu
datafile 'd:\stu.dbf'
size 5m
autoextend on
--创建用户名
create user stu
identified by stu
grant connect to stu
grant resource to stu
create table stuInfo --学生信息
(
stuID number primary key,
stuName varchar2(10),
stuSex char(2)
);
insert into stuInfo values(1,'Eric','男');
insert into stuInfo values(2,'Mike','男');
insert into stuInfo values(3,'Lily','女');
insert into stuInfo values(4,'Lucy','女');
create table subInfo --课程信息
(
subID number primary key,
subName varchar2(20)
);
insert into subInfo values(1,'C语言');
insert into subInfo values(2,'SQL基础');
insert into subInfo values(3,'JAVA');
create table markInfo --成绩信息
(
stuID int references stuInfo(stuID),
subID int references subInfo(subID),
score number(3),
primary key (stuID,subID)
);
insert into markInfo values(1,1,98);
insert into markInfo values(1,2,90);
insert into markInfo values(1,3,80);
insert into markInfo values(2,1,50);
insert into markInfo values(2,2,40);
insert into markInfo values(2,3,60);
insert into markInfo values(3,1,70);
insert into markInfo values(3,2,95);
select * from stuinfo
select * from subInfo
select * from markInfo
--------------------同义词--------------------
--1、什么同义词
--别名
--2、作用
--简化对象的名字
select * from myemp
--3、创建语法
create public synonym myemp for scott.emp
--4、删除语法
drop public synonym myemp
select * from stuinfo
select stuid as 编号,stuname 姓名 from stuinfo
--------------------序列--------------------
--1、什么是序列?
--标识列,自动增长
--sql server:identity(1,1)
--oracle:sequence
--2、作用,等同于identity,为编号字段,提供自增长
--3、语法
select * from stuinfo
create sequence myseq
increment by 1 --步长
start with 1001 --初始值
maxvalue 100-- 无上限
minvalue 1
cycle
create table stuInfo1 --学生信息
(
stuID number primary key,
stuName varchar2(10),
stuSex char(2)
);
insert into stuinfo1 values(myseq.nextval,'葬爱K','男')
insert into stuinfo1 values(myseq.nextval,'葬爱Q','女')
insert into stuinfo1 values(myseq.nextval,'葬爱A','男')
insert into stuinfo1 values(myseq.nextval,'葬爱B','女')
insert into stuinfo values(myseq.nextval,'葬爱Q','女')
select * from stuinfo1
--4.删除序列
drop sequence myseq
--5、查询序列值
select myseq.currval from dual
--------------------视图--------------------
--1、什么是视图?
--虚拟表
--2、作用
--1)简化,复杂的表查询
--2)保密,视图名字不能推断表名
--3) 缓冲,合作开发
--创建视图之前要先授权
grant dba to stu
revoke dba from stu
--创建视图
create view empinfo
as
select * from stuinfo666
--查询视图
select * from empinfo
--drop view empinfo
--------------------索引--------------------
--1、什么是索引?
--提高查询效率
select * from stuinfo where stuname = 'eric'
stuid --聚集索引(主键)
stuname --非聚集(where条件中的字段)
stusex --非聚集
--2、索引分类
--普通索引
create index Instuid on stuinfo(stusex)
--组合索引
create index innamesex on stuinfo(stuname,stusex)
--唯一索引
create unique index inid on stuinfo(stuname)