1.oracle表名的命名规则
必须以字母开头;
长度不能超过30字符
不能使用oracle的保留字
只能使用如下字符a~z,A~Z,0_9,#,$
2.oracle的字符类型
(1)字符型:
Char:定长的最大只能达到2000个字符,入char(10)则在内存中一定会被分配10个字符,用不完也会空着,但是char类型查询速度快。
varchar2:变长,最大可以达到4000个字符,速度不如char,但可以节约空间
clob(character large object):字符型大对象,最大可达4G
(2)数字型
Number:范围-10的38次方到10的38次方
可以表示正数也可以表示负数
如:number(5,2)表示一个数共有5位,其中小数点后有两位。
(3)日期类型
Date:包含年月日和时分秒
(4)大文本类型
Clob:可以存储海量文字(4g),例如存储《三国演义》
(5)大对象类型
3.建表
(1).正常建表
例1:建一张学生表
Sql>create table student(——表名
xh number(4),——学号
xm varchar2(20),——学生姓名
Sex char(2),——性别
Birthday date,——出生日期
Sal number(7,2)——薪水
);
(2).以某个表为模板进行建表
例2:以student表为模板建一张新表;
Sql>create table newstudent as select * from student;
4.修改表
(1).添加表的一个字段
Sql>Alter table student add(classid number(2));在student表中添加一个字段classid;
(2).修改字段的长度
Sql>Alter table student modify (xm varchar2(30));将student表中字段xm的长度由20改为30
(3).修改字段的类型/或是名字(不能有数据??)
Sql>Alter table student modify(xm char(30));将表student的xm字段的类型由varchar2改为char;
Sql>Alter table student rename column xm to name;将表student的字段xm的名称改为name;
(4).删除一个字段
Sql>Alter table student drop column sal;将student表中的sal字段删除;
(5).修改表的名字
Sql>Rename student to stu;将表名由student改为stu;
5.删除表,删除视图
Sql>Drop table student;删除表student;
Sql>Drop view v_student;删除视图v_student;
6.修改oracle默认的日期格式
Oracle中默认的日期格式‘DD-MON-YY’,要想用其他格式插入数据就只能修改日期的默认格式。
Sql>Alter session[S12] set nls_date_format=’yyyy-mm-dd’;
修改后,就可以用我们熟悉的格式添加日期类型:
Sql>Insert into student values(‘A002’,’MIKE’,’男’,’1905-05-06’,10);
7.修改表的内容
(1).插入数据——INSERT
例1:单行插入
Sql>insert into EMP values(7369,'SMITH','CLERK',7902,'17-12月-1980',800.00,null,20) ;
例2:多行插入,即行迁移
Sql>insert into kkk (id,name,deptno)[S13] select empno,ename,deptno[S14] from emp where deptno=10;将emp表中10号部门的所有员工的员工号、姓名和部门号一次性插 入kkk表中;
(2).修改数据——UPDATE
例3.单行修改
Sql>update EMP set ename=’SHU’ where empno=7369;将EMP表中员工号为7369的员工的姓名改为SHU;
例4.多行修改
Sql>update emp set (job,sal,comm)=(select job,dal,comm from emp where
ename=’SMITH’) where ename=’SYC’;将SYC的job、sal和comm改成与SMITH
一样。
(3).删除数据——DELETE
Sql>delete from EMP where empno=7369;删除EMP表中员工号为7369的员工信息