chap 3 模式对象
数据库约束有五种:
- 主键约束(PRIMARY KEY)
- 唯一性约束(UNIQUE)
- 非空约束(NOT NULL)
- 外键约束(FOREIGN KEY)
- 检查约束(CHECK)
constraint xskc_p1 PRIMARY KEY(XH, KCH) 约束constraint
把已经存在的表放入表空间中
alter table xs move tablespace users!!!!
foreign key (cpno) references course(cno)
【例1】创建XS表中计算机专业学生的记录备份。
CREATE TABLE XS_JSJ AS SELECT * FROM SCOTT.XS_KC
WHERE CJ>100
【例2】(再次重复!!)(1) 在表XS中增加2列:JXJ(奖学金等级),DJSM(奖学金等级说明)。
ALTER TABLE SCOTT.XS ADD ( JXJ NUMBER(1), DJSM VARCHAR2(40) DEFAULT '奖金1000元');
(2) 在表XS中修改名为DJSM的列的默认值。
ALTER TABLE SCOTT.XS MODIFY ( DJSM DEFAULT '奖金800元' );
(3) 在表XS中删除名为JXJ和DJSM的列。
ALTER TABLE SCOTT.XS DROP COLUMN JXJ;
ALTER TABLE SCOTT.XS DROP COLUMN DJSM;
按照约束的用途可以将表的完整性约束(constraint)分为5类
1.NOT NULL 非空约束。指定一列不允许存储空值。这实际就是一种强制的CHECK约束
2.PRIMARY KEY 主键约束。指定表的主键
3. UNIQUE 唯一约束。指定一列或一组列只能存储唯一的值
4. CHECK 检查约束。指定一列或一组列的值必须满足某种条件
5. FOREIGN KEY 指定表的外键。外键引用另外一个表中的一列,在自引用的情况中,则引用本表中的一列
例1: 向XSCJ数据库的表XS中插入如下的一行:
061101 王林 计算机 男 19870201 50
INSERT INTO XS(XH,XM,ZYM,XB,CSSJ,ZXF)
VALUES('061101','王林', '计算机','男',
TO_DATE('19860210','YYYYMMDD'),50);
例2:select TO_DATE('19860210','YYYYMMDD') from dual
TO_DATE(字符串, '格式’)
作用:将字符转换为日期类型
!!! SQL> create table xs1 as select * from xs;
SQL> truncate table xs1;
这个是重点了啊
- (list(列表) 分区 列表分区表是基于特定值对表进行分区,其分区列的值为非数值型或日期类型,并且分区列的取值范围较少,所以一般为字符型, partition by list子句,列表值相同的行将被存储到同一分区中)
create table part_book1
( bid number(4),
bookname VARCHAR2(20),
bookpress VARCHAR2(30),
booktime date)
partition by list(bookpress)
(partition part1 values('清华大学出版社') tablespace system,
partition part2 values('教育出版社') tablespace users);
alter table part_book1
add partition part3 values(default) tablespace system;
create table part_book
( bid number(4),
bookname VARCHAR2(20),
bookpress VARCHAR2(30),
booktime date)
partition by range(booktime)
(partition part1 values less than(to_date('20100101','yyyymmdd')) tablespace system,
partition part2 values less than (to_date('20120101','yyyymmdd')) tablespace users,
partition part3 values less than (MAXVALUE) tablespace users
);