- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle表约束及复杂查询
Oracle表约束及复杂查询
grant resource to zy;
grant dba to zy;
--1.表的约束
--1.1非空约束:约束某个字段不为空
drop table t_user;
create table t_user(
t_number int not null,
t_name varchar2(255)
);
--1.2唯一约束:约束某个字段只能是不重复的值
alter table t_user add constraint t_number_unique unique(t_number);
insert into t_user values(1001,张三);
insert into t_user values(1002,李四);
insert into t_user values(1003,王五);
--1.3检查约束:检查某个字段的值是否符合预设条件
alter table t_user add constraint t_number_check check(t_number 2000);
insert into t_user values(2001,赵六);
--1.4主键约束:一张表中,用来唯一区分两条记录的字段:默认非空且唯一
alter table t_user add t_id int;
alter table t_user add constraint t_user_pk primary key(t_id);
select * from t_user;
--1.5外键约束:表示了两张表的数据的联系(关联)
create table t_department(
t_id int primary key,
t_name varchar2(255)
)
alter table t_user add t_did int;--增加一个字段,t_did表示员工属于的部门id
--外键:员工表的字段t_did作为外键参照部门表的主键t_id
alter table t_user add constraint t_user_depart_fk foreign key(t_did)
references t_department(t_id);
select * from t_department;
insert into t_department values(1,研发部);
insert into t_department values(2,市场部);
commit;
insert into t_user values(1004,小李,4,1);
update t_user set t_did = 2 where t_id =3;
commit;
delete from t_user where t_id = 3;
--删除部门
update t_user set t_did = null where t_did = 1;
delete from t_department where t_id = 1;
--2.SQL的基本语法和查询
--2.1基本查询语句
select *|[distinct] columnname|expression[arg1,arg2...]
from tablename;
--解锁scott账户
alter user scott account unlock;
--全查询
select * from emp;
--选定特定的列
select empno,ename,job from emp;
--算术运算符+ - * /
select ename,sal*12 from emp;
--空值:只要有空值参与的运算都为空
select ename,comm,(comm+2000) from emp;
--列的别名
select ename,sal*12 as totalsal from emp;
--连接字符串
select 姓名为||ename||的员工年薪是||sal*12 from emp;
--distinct关键字
select deptno from emp;
--过滤where子句
select * from emp where deptno = 30;
--比较运算=,,,=,=,不等于
select * from emp where sal 1000;
select * from emp where deptno 10;
--查询在1981年5月1日之后入职的员工
select * from emp where hiredate to_date(1981-05-01,yyyy-MM-dd);
--between...
原创力文档


文档评论(0)