- 创建表空间,创建用户,并赋予用户权限
--创建表空间--
create tablespace pxc_space
datafile 'D:\app\pxc\oradata\orcl\pxc_space.dbf'
size 100m;
--创建用户--
create user pxc
identified by pxc1994
default tablespace pxc_space;
--授予权限--
grant resource,connect to pxc;
commit;
注意:resource,connect是两个角色,角色就是一系列权限的集合。执行授予权限语句后,用户具有的权限有
CONNECT角色: –是授予最终用户的典型权利,最基本的
ALTER SESSION –修改会话
CREATE CLUSTER –建立聚簇
CREATE DATABASE LINK –建立数据库链接
CREATE SEQUENCE –建立序列
CREATE SESSION –建立会话
CREATE SYNONYM –建立同义词
CREATE VIEW –建立视图
RESOURCE角色: –是授予开发人员的
CREATE CLUSTER –建立聚簇
CREATE PROCEDURE –建立过程
CREATE SEQUENCE –建立序列
CREATE TABLE –建表
CREATE TRIGGER –建立触发器
CREATE TYPE –建立类型
- 创建数据表
--创建数据表--
create table student(
stu_id number(11) ,
stu_name nvarchar2(50),
stu_gender nvarchar2(20),
stu_age integer
);
commit;
创建数据表的一般格式为 [ ]中为可选属性
create table <表名>(
字段名 数据类型 [列级别约束条件] [默认值],
字段名 数据类型 [列级别约束条件] [默认值],
.....
[表级别约束条件]
);
约束条件
主键约束
为上表添加主键约束,stu_id为主键
--修改表添加主键约束--
alter table student
add constraints pk_stu_id primary key(stu_id);
- 检查约束
alter table student
add constraints check_age check(stu_age>18 and stu_age<25);
- 非空约束(not null)
唯一性约束(unique)
都与上述类似
建议在建表时就将约束条件全部加上。创建序列设置属性的自动增加。多指主键
CREATE SEQUENCE STU_SEQ
START WITH 1
INCREMENT BY 1
NOMAXVALUE
CACHE 10;
insert into student(stu_id,stu_name,stu_gender,stu_age)
values(STU_SEQ.nextval,'pxc','男',22);
commit;
- 外键
外键对应参照完整性,外键可以为空,若不为空,则每一个外键必须对应另一个表中主键的某一个值
alter table student add constraint student_classes_fk foreign key(classesid) references classes(classesid);