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=VAL1,COLU2=VAL2,COLU3=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('广州市','深圳市','东莞市');