1、为表创建约束:alter table 表名 add constraint 约束名 约束内容
示例:alter bable infos add constraint UN_STUNSME UNIQUE(STUNAME) //唯一约束;
alter table scores add constraint CK_SCORES_TREM CHECK(TREM='S1' OR TREM='S2')//trem的值只能S1或者S2;
添加外键alter table score add constraint FK_SCORES_INFOS_STUID FOREIGN KEY(STUID) REFERENCES INFOS(STUID);
2、Oracle中可以把查询的结果根据结果集中的表结构和数据形成一张新表:CREATE TABLE 表名 AS SELECT 语句。如果单想复制表结构,不复制其中的内容则加一个不成立的语句,比如:WHERE 1 = 2,则只会复制表结构。
3、Oracle中可以把查询的结果作为结果集插入到另一个表中:INSERT INTO 表 SELECT 子句。
4、Oracle中TRUNCATE和DELETE的区别
相同点:都可以吧数据表中的数据全部删除。
不同点:但是TRUNCATE是DDL命令,删除的数据不能恢复;DELETE是DML命令,删除的数据可以通过日志文件恢复; 如果数据表中的文件很多则使用TRUNCATE的速度比DELETE快。但是TRUNCATE命令比较危险,在实际开发中,慎用。
5、Oracle中的集合运算: INTERSECT:返回两个查询共有的记录; UNION ALL:返回各个查询的所有记录,包括重复记录; UNION:返回各个查询的所有记录,不包括重复记录。 MINUS:返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。
6、查询出Emp表中比任意一个销售员(‘SALESMAN’)工资低的员工姓名、工作、工资:
SELECT ENAME, JOB, SAL FROM EMP WHERE SAL<ANY(SELECT SAL FROM EMP WHERE JOB='SALESMAN');
7、Oracle中的伪列:
在Oracle的表的使用过程中,实际表中还有一些附加的列,称为伪列。伪列就像表中的列一样,但是在表中并不存储。伪列只能查询,不能进行增删改操作。伪列有:ROWID, ROWNUM;
ROWID:表中的每一行在数据文件中都有一个物理地址,ROWID伪列返回的就是改行的物理地址,ROWID值可以唯一的标识表中的一行。
ROWNUM:返回结果集中每一行标识的一个行号,第一行返回1;通过ROWNUM伪列可以限制查询结果集中返回的行数。ROWID是插入记录时生成的,ROWNUM是查询数据时生成的;ROWID标识的是行的物理地址,ROWNUM标识的是查询结果中行的次序。
例如:查询工资最高的前5名员工的姓名、工资、工作:
SELECT ROWNUM,T.* FROM (SELECT ENAME, JOB, SAL FROM EMP ORDER BY SAL DESC) T WHERE ROWNUM <= 5; 查询出emp表中第5条到第10条之间的记录:SELECT * FROM (SELECT ROWMUN R, ENAME, JOB, SAL FROM EMP WHERE ROWNUM <=10) WHERE R > 5;
8、Oracle数据库中常用的两类函数:1、单行函数:字符函数、梳子函数、转换函数、日期函数;2、聚合函数; 字符函数:ASCII(X):返回字符x的ASCII码;CONCAT(X, Y):连接字符串X和Y;
CSDN collonn:6;
9、创建一个表空间,包含两个数据文件大小分别是10MB,5MB,要求extent的大小统一为1M:CREATE TABLESPACE MYSPACE DATAFILE 'D:/A.ORA' SIZE 10M, 'D:/B.ORA' SIZE 5M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
1)文件名包括完整路径和文件名;
2)EXTENT MANAGEMENT LOCAL指明表空间类型是:本地管理表空间。本地管理表空间要求Oracle中的数据分区(Extent)大小统一;3、UNIFORM SIZE指定每个分区的统一大小。