工作经历表:
create table history(
hid integer primary key,--主键
startdate date, --入职时间
enddate date, --离职时间
place varchar2(50), --公司名称
job varchar2(20), --职位
eid integer --外键,所属员工
);
在原有表上进行复制,表中信息也复制
create table emptwo as select ename,sex,hire from emp;
不复制原表数据到新表(只复制表结构)
create table empthree as select ename,sex,hire from emp where 1=2;
修改表结构
增加一个字段
alter table dept add master integer;
修改字段的类型
alter table emp modify sex varchar2(2);
添加一个检查约束,其中sexvalue为该约束的自定义名称:
alter table emp add constraint sexvalue check(sex in('m','f'));
删除约束(字段)
alter table emp drop constraint sexvalue;
数据操纵语言
插入日期类型的值
- 使用sysdate获取当前日期
insert into emp values(12,'lucy','f','12-5月-05',6500.00,2);
- 使用TO_DATE函数转换
insert into emp values(13,‘aaa','f',sysdate,6500.00,2);
- 日期数据类型的默认格式为“DD-MON-YY”
前面的值,要和后面的格式对应上
insert into emp values(15,'key','m',to_date('2008-09-19','yyyy-mm-dd'),7200.00,3);
插入来自其它表中的记录
SQL> insert into emptwo select * from emp;
SQL> insert into emptwo(eid,ename) select eid,ename from emp;
where的运算符
order by 用于制定查询结果的 排序,后面可以跟多个字段名,越在前面的排序优先权越高。
select * from emp order by did asc,sar desc;
如果字段中的某个值为null
SELECT * FROM emp where COMM IS null ;
in,not in是集合运算符,只要查询的值等于集合中的一个元素,表达式为真。
select * from emp where did in(2,3);
between and,not between and可以进行某一范围的查询 ,范围包含最大值和最小值 。
select * from emp where sar between 3000 and 6000;
select * from emp where sar not between 3000 and 6000;