Oracle基础:
SQL基本使用:
--SQL语句不区分大小写,但是为了阅读方便,
--建议关键字与非关键字大小写分开。
--通常关键字全大写,非关键字全小写。
select sysdate from dual;
create table employee_dk(
id number(4),
name varchar2(20),
gender char(1),
birth date,
salary number(6,2),
job varchar2(30),
deptno number(2)
);
--查看指定表的结构
desc employ_dk;
在数据库中,所以数据类型的默认值都是null.
即:当我们向某张表插入数据时,若某些字段没有
给定值时,无论该字段是什么类型,默认值均为null.
但是可以通过创建表时使用default为指定字段单独
设置默认值,这样在插入数据时出现上述情况时,则
使用指定的默认值就为该字段的值。
在创建表时,也可以为字段设置 not null约束,当
某个字段被 not null修饰后,该字段必须给值。
drop table employee_dk;
select * from user_tables;
create table employee_dk(
id number(4),
name varchar2(20) not null,
gender char(1) default 'F',
birth date,
salary number(6,2),
job varchar(30),
deptno number(2)
);
修改表
修改表名:
rename employee_dk to myemp_dk
修改表结构
追加列:
alter table myemp_dk add(
hiredate date
);
desc myemp_dk;
删除列:
alter table myemp_dk drop(hiredate);
desc myemp_dk;
修改列:
修改列只能修改列的类型,长度,添加默认值
或NOT null 约束等。
当表中存在数据时再修改字段时应当注意:
尽量不修改字段类型(可能与表现有数据类型冲突)
修改字段长度应当尽量增加而不是缩短。
alter table myemp_dk modify(
job varchar(40) default 'CLERK'
);
desc myemp_dk;
DML语句
增删改表中数据,伴随事物控制使用(TCL)。
插入数据
insert into myemp_dk
(id,name,job,salary)
values
(1,'jack','CLERK',5000);
select * from myemp_dk;
插入数据时,可以不定义字段,若忽略
则是全列插入,给定值必须与表中字段类型
顺序完全一致。
insert into myemp_dk
values
(2,'rose','F',sysdate,5000,'CLERK',20);
插入日期
insert into myemp_dk
(id,name,job,birth)
values
(1003,'donna','MANAGER',TO_DATE('2009-09-01','yyyy-mm-dd'));
更新表中数据
更新数据应当添加where字句,添加过滤条件
这样只会将满足条件的记录进行修改,不添加
where则是全表所有数据都修改!
update myemp_dk
set salary =8000,job='MANAGER'
where name = 'jack';
删除数据
delete from myemp_dk
where id =1;
select * from myemp_dk;