Oracle增删改查基本操作

Insert into 插入数据语句

Delete 删除数据语句

Update 更新数据语句

 

INSERT INTO 表名(colu1,colu2,colu3)VALUES(val1,val2,val3)

INSERT INTO 表名 VALUES(val1,val2,val3,...)

 

Delete删除语句

DELETE FROM 表名[WHERE CONDITION RESTRICTION]

 

Drop是删除整个表结构,而Delete是删除符合删除条件的表中数据行而表结构不变

 

Update更新语句

UPDATE 表名 SET

COLU1=VAL1COLU2=VAL2COLU3=VAL3..

[WHERE CONDITION RESTRICTION]

 

基本查询

select * from 表名 --无任何限制查询

select 1,2,3...from表名 --查询显示若干列数据

select s.id编号,s.name姓名,s.birth生日from students s --指定查询表和列别名

 

基本查询条件限制

select * from 表名 where 限制表达式;

select * from students where name = ‘张无忌’;

select * from students where age > 35;

select * from students where name like %’ and address in (‘北京’,’上海’)

 

--数据插入(insert into)
INSERT INTO dep_table(ID,createtime,Name,descs) VALUES('NO005','26-3月-2017','市场部','负责市场开拓');

INSERT INTO dep_table(ID,createtime,Name,descs) VALUES('NO005','2017-6-28','人事部',null);

--使用to_date函数按照某种自定义格式插入时间类型
INSERT INTO dep_table(ID,createtime,Name) VALUES('NO006',to_date('2017-6-28','yyyy-MM-dd'),'人事部');

INSERT INTO dep_table VALUES('NO007','策划部',to_date('2018/5/20','yyyy/MM/dd'),'企业策划');

select * from dep_table;

--使用delete语句删除表中的数据
delete FROM dep_table;  --无条件删除所有数据(谨慎使用)

--有条件限制删除
DELETE FROM dep_table WHERE name='人事部';
DELETE FROM emp_tab WHERE email IS NOT NULL;
DELETE FROM emp_tab WHERE NAME LIKE '张%' AND address IN('长春市','石家庄');
DELETE FROM emp_tab WHERE NAME = '任盈盈' AND address IN('长春市','石家庄') AND age > 23;
SELECT * FROM emp_tab;

--使用update修改数据
update emp_tab SET age = age + 1;

UPDATE emp_tab SET dep_id = 'NO005' WHERE NAME = '王强';

UPDATE emp_tab SET dep_id = '01',age = 26,email = 'renyy@163.net' WHERE ID = 'NO002';

/* 查询数据 */
--无条件查询所有数据行为的所有列数据
SELECT * FROM emp_tab;

--查询部分列数据
SELECT NAME,age FROM emp_tab;
SELECT age,NAME FROM emp_tab;

--查询过程中为表和列设置别名
SELECT e.id 编号,e.name 姓名,e.age 年龄 FROM emp_tab e;

--使用WHERE字句限制查询条件
SELECT NAME,age FROM emp_tab WHERE address IN('四平市','长春市','北京市');

--使用between and 限制日期范围
select * from dep_table where id = 'NO005' and createtime between to_date('2017-3-1','yyyy-mm-dd')
and to_date('2018-6-1','yyyy-mm-dd');

--去除查询结果的重复数据
SELECT distinct address from emp_tab;
UPDATE emp_tab SET age = 26 WHERE NAME = '崔颢';
SELECT DISTINCT age FROM emp_tab;

 

/*作业:
任务一 (数据插入实践练习)
1使用SQL语句  insert into语法向dept表中插入“事业部”记录信息。
2使用SQL语句  insert into语法向emp表中插入不少于24条记录。

任务二 (数据删除实践练习)
1 使用delete 语法删除员工名字是“杨过”的记录。
2 使用delete 语法删除地址在“北京”“上海”并且性别是女的记录。
3 使用delete 语法删除生日在1992年出生所在部门是研发部的记录。


任务三 (数据更新实践练习)
使用update 语法执行如下更新
1 修改员工姓名叫“练霓裳”的地址为“四川汶川”;
2 修改研发部名字叫“白素贞”的性别为女;
3 修改销售部性别为女的员工地址为本市;

任务四(数据查询)
1 查询emp表中所有员工信息包括显示主键,姓名,性格,生日和电话号码;
2 查询emp表中所有女员工信息显示主键,姓名和地址并使用中文列别名;
3 查询emp表并显示住址信息,要求值限制性别是男并且在1990年以后出生的信息;
4 查询emp显示性别字段要求不能出现重复数据显示;
5 查询department部门表中信息,要求部门成立在2017-12-31日之后的记录行。
6 查询emp表,要求地址在广州,深圳,东莞范围内,显示id,姓名,地址和出生日期。*/

select * from dept;
select * from emp;

--1使用SQL语句  insert into语法向dept表中插入“事业部”记录信息。
insert into dept values('NO500','事业部','5000',to_date('1995-9-5','yyyy-mm-dd'),'321');

--2使用SQL语句  insert into语法向emp表中插入不少于24条记录。
insert into emp values(seq_emp.nextval,'曾誉','1',to_date('1996-4-26','yyyy-mm-dd'),'上海市','13169645397',to_date('2018-7-2','yyyy-mm-dd'),'zengyu@ygsoft.com','NO200','备注');
insert into emp values(seq_emp.nextval,'练霓裳','0',to_date('1993-4-26','yyyy-mm-dd'),'重庆市','13169645397',to_date('2015-7-2','yyyy-mm-dd'),'liannishang@ygsoft.com','NO200','备注');
insert into emp values(seq_emp.nextval,'杨过','1',to_date('1986-4-26','yyyy-mm-dd'),'广州市','13169645397',to_date('2018-7-2','yyyy-mm-dd'),'zengyu@ygsoft.com','NO200','备注');
insert into emp values(seq_emp.nextval,'女的','0',to_date('1996-4-26','yyyy-mm-dd'),'北京市','13169645397',to_date('2018-7-2','yyyy-mm-dd'),'zengyu@ygsoft.com','NO200','备注');
insert into emp values(seq_emp.nextval,'生日1992','1',to_date('1992-4-26','yyyy-mm-dd'),'湛江市','13169645397',to_date('2018-7-2','yyyy-mm-dd'),'zengyu@ygsoft.com','NO200','备注');
insert into emp values(seq_emp.nextval,'白素贞','1',to_date('1996-4-26','yyyy-mm-dd'),'深圳市','13169645397',to_date('2018-7-2','yyyy-mm-dd'),'zengyu@ygsoft.com','NO200','备注');
insert into emp values(seq_emp.nextval,'本市','0',to_date('1996-4-26','yyyy-mm-dd'),'湛江市','13169645397',to_date('2018-7-2','yyyy-mm-dd'),'zengyu@ygsoft.com','NO300','备注');

--1 使用delete 语法删除员工名字是“杨过”的记录。
delete from emp where name = '杨过';

--2 使用delete 语法删除地址在“北京”“上海”并且性别是女的记录。
delete from emp where address in ('北京市''上海市') and gender = '0';

--3 使用delete 语法删除生日在1992年出生所在部门是研发部的记录。
delete from emp where birth between to_date('1992-1-1','yyyy-mm-dd')
and to_date('1992-12-31','yyyy-mm-dd') and DEPID = 'NO200';

--1 修改员工姓名叫“练霓裳”的地址为“四川汶川”;
update emp set address = '四川汶川' where name = '练霓裳';

--2 修改研发部名字叫“白素贞”的性别为女;
update emp set gender = '0' where name = '白素贞';

--3 修改销售部性别为女的员工地址为本市;
update emp set address = '本市' where gender = '0' and depid = 'NO300';

--2 查询emp表中所有女员工信息显示主键,姓名和地址并使用中文列别名;
select E.ID 主键,e.name 姓名,E.ADDRESS 地址 from emp e where e.gender = '0';

--3 查询emp表并显示住址信息,要求值限制性别是男并且在1990年以后出生的信息;
select address from emp where gender = '1' and birth>to_date('1990','yyyy');

--4 查询emp显示性别字段要求不能出现重复数据显示;
select distinct gender from emp;

--5 查询department部门表中信息,要求部门成立在2017-12-31日之后的记录行。
select * from dept where newdate >to_date('2017-12-31','yyyy-mm-dd');

--6 查询emp表,要求地址在广州,深圳,东莞范围内,显示id,姓名,地址和出生日期。
select e.id 编号,e.name 姓名,e.birth 出生日期 from emp e where address in('广州市','深圳市','东莞市');

 

posted @ 2021-09-05 20:08  伊万  阅读(554)  评论(0编辑  收藏  举报