Java中对Oracle的表连接和对数据的增删改查操作的浅析

    xiaoxiao2022-07-03  122

    一.表连接分类

    1.内连接 【inner joinselect from A表 别名 inner join B表 别名 on 连接条件 where 其他判定条件 【注意】:只考虑连接条件成立的记录,对于连接条件出现null的记录直接舍弃,不出现在结果中 2.外连接 【left/right/full outer join1)左外连接 [left outer join]:以左表为主,右表为辅 select from A表 别名 left outer join B表 别名 on 连接条件; 2)右外连接[right outer join]:右表为主,左表为辅 3)全外连接[full outer join] 3.自连接:通过为一张表定义两个别名的方式 select from A表 e1 left join A表 e2 on 连接条件; 4.多表连接 -- 请查询员工的姓名,所在部门的名称,以及所在的城市 select e.last_name,d.department_name,lo.city from employees e left join departments d on e.department_id = d.department_id left join locations lo on d.location_id = lo.location_id;
    二.建表
    1.语法 create table 表名( 字段名 数据类型 [default] [约束], 字段名 数据类型 [默认值], 字段名 数据类型 ); 2.数据类型 1)数字类型 2)字符串类型 3)日期类型 4)大数据类型 3.约束 1)主键约束(primary key)特点:非空唯一 2)非空约束(not null) 特点:必须有数据 3)唯一约束(unique) 特点:有值时,值不重复 4)检查约束(check(条件)5)外键约束(references) 特点:值来自关联表的主键,可重复,可为空 4.特别约束---联合键 1)联合主键 create table stable( sid number(3) references student(id), cid number(3) references course(id), score number(3), primary key(sid,cid)--联合主键 ); 2)联合唯一键 create table test( last_name varchar2(15), first_name varchar2(15), unique(last_name,first_name)--联合唯一键 );
    三.增数据 insert
    1.全表插入 语法:insert into 表名 values (1,2,....) 要求:值的个数、类型、顺序必须与表里字段完全一致 2.选择插入 语法:insert into 表名 (1,2...) values (1,2,...) 要求:1)值的个数、类型、顺序必须与前面小括号里选择列一致 2)对于非空,并且没有默认值的字段,必须入选选择列
    四.删除数据 delete
    语法:delete from 表名 where 条件; 【注1】rop、deletetruncate区别 1drop删除表,数据和表结构,不留一点痕迹 语法:drop table 表名 [cascade constraint] 2delete删除数据:直接清空表里的数据,保留数据所占空间--逐条删除 删除一条数据语法:delete from 表名 where 条件(主键); 3truncate命令:截断表里的数据,数据被删除,同时数据所占空间被释放,只保留表头--先销毁表,再重新创建 语法:truncate table 表名; 【注2】关于关联表的删除 1)有外键指向的两个表创建时:先父后子 2)删除动作:先子后父 Ⅰ)希望删除父表数据 ---①先删除子表数据,再删除自己 ---②或者先清空子表相应的外键,再删除自己 Ⅱ)希望删除父表--drop table 表名 cascade constraint; 【注3cascade constraint:级联操作子表的外键约束,在删除父表的同时,将子表里的外键约束删除
    五.修改数据 update
    语法:update 表名 set 字段名 = 新值,字段名 = 新值,.. where 条件(主键);
    六.SQL命令的分类
    1.DQL ( Data Query Language )数据查询语言 完成数据的查询 --- select 2.DML ( Data Manipulation Language)数据操纵语言 完成对数据的访问操作---insert、update、delete 3.DDL ( Data Definition Language)数据定义语言 用来操作数据库里对象的命令--create、drop、truncate、alter、rename 4.DCL ( Data Control Langeuage)数据控制语言 权限管理的命令---grant、revoke 5.TCL ( Transaction Control Language )事务控制语言 ---commit 提交、rollback 回滚
    最新回复(0)