表名命名规范
字母开头,长度不超过30字符,不能使用Oracle保留字,
只能使用如下:大小写字母 数字$ #等
字符型
char 定长最大2000字符
varchar2 可变长最大4000字符
char(10) 中国+六个空格
varchar2(10) 中国
clob (character large objiect) 字符型大对象最大4G
数字型
number 可以表示整数也可以表示小数
-10的38次方-10的38次方
number(5,2)
表示一个小数有5位有效数,2位小数
范围-999.99-999.99
number(5)五位整数
-99999~99999
日期类型
date 包含年月日时分秒
timestamp更高精度
图片类型
blob 二进制数据 可以存放图片/声音 4G(出于安全考虑可以放在数据库)
建表
列名 |
类型 |
名称 |
Xh |
Number(4) |
学号 |
Xm |
Varchar2(20) |
姓名 |
Sex |
Char(2) |
性别 |
Birthday |
date |
生日 |
Sal |
Number(7,2) |
奖学金 |
create talbe student (
xh number (4),
xm varchar2(20),
sex char(2),
birthday date,
sal number(7.2)
);
sal 是7位带2位小数99999.99
create table classes (
classId number(2),
cname varchar2(40)
);
修改表
#添加一个字段
alter table student add (classid number(2));
#修改字段的长度
alter table student modify (xm varchar2(30));
#修改字段的类型/或者名字(不能有数据)
alter table student modify (xm char(30));
#删除一个字段
alter table student drop column sal;
#修改表的名字
rename student to stu;
#删除表
drop table student;
添加数据
insert into student values (‘001’,’张三’,’男’,’01-5月-05’,10);
alter session set nls_date_format='yyyy-mm-dd';
日期格式可以用年月日插入
insert into student values (‘001’,’张三’,’男’,’1990-01-01’,10);
插入空值
insert into student (xh,xm,sex,birthday) values (002,’小红’,’女’,null);
SQL> select * from student where birthday is null;
XH XM SE BIRTHDAY SAL
---------- -------------------- -- ---------- ----------
2 小红 女
update student set sal=sal/2,xh=4 where sex=’男’;
保存点
savepoint abc;
delete from student;
rollback abc;
删除表的结构和数据
drop table student;
turncate table student;
表结构还在不写日志,无法找回删除的记录,速度快