Oracle创建约束:
ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容。
【注】Oracle中的default是一个值,而sql server中的default是一个约束,因此Oracle的default设置可以在建表的时候创建。
查询:
select *|列名|表达式 from 表名 where 条件 order by 列名
Oracle中可以把查询的结果弄一张新表:
create table 表名 as select 语句
如果是复制表结构,只需要查询条件不成立即可。如create table t2 as select * from t1 where 1=2;
插入:
insert into 表名(列名1,列名2……) values(值1,值2)
【注】列名可以省略,当列名省略时,默认是表中的所有列名,且顺序相同。
在执行操作之后需要commit提交操作,只有提交之后,数据才能真正的更新,否则无法查询到相应的结果。
同时,insert命令可以完成结果集的插入,如:insert into 表 select 子句。但是要求表结构是一致的。
更新:
update 表名 set 列名1=值,列名2=值……where 条件
删除:
Oracle在表中删除数据的命令是:delete from 表名 where 条件
truncate命令可以把表中的数据一次性全部删除:truncate table 表名
truncate删除之后的数据不能恢复,delete删除之后的数据可以通过日志文件进行恢复。
算数运算符:
Oracle中的算数运算符只有+、-、*、/,/的结果是浮点数,求余运算需要通过函数MOD(X,Y)
关系运算符:
=、<>或者!=、<、>、<=、>=
逻辑运算符:
AND、OR、NOT
字符串连接操作用 ||
消除重复行:
采用关键字DISTINCT,如:SELECT DISTINCT DEPTNO FROM EMP;
可以使用BETWEEN...AND...指定一个区间
LIKE:
%:表示零个或者多个任意字符 _:代表一个任意字符
LIKE '字符串' escape '字符' escape后面的字符为转义字符
表达式 | 说明 |
'S%' | 以S开头的字符串 |
'_s%' | 第二个字符为s的字符串 |
'%30\%%' escape '\' | 包含“30%”的字符串,“\”为转移字符 |
集合运算:
- INTERSECT(交集),返回两个查询结果共有的记录
- UNION(并集),返回各个查询的所有记录,不包含重复的
- UNION ALL(并集),包含重复的
- MINUS(补集),返回第一个查询结果减去第二个查询结果之后的记录