oracle表的管理
一、表名和列的命名规则
必须以字母开头
长度不能超过30字符
不能使用Oracle的保留字
只能使用如下字符A~Z,a~z,0~9,$,#等
二、Oracle支持的数据类型
字符型
char 定长 最大2000字符
若是身份证号定长数据 用char查询效率非常高
例:char(10) '小乐'前四个字符放'小乐',后添6个空格补全'小乐 '
varchar2 变长 最大4000字符
例:varchar(10) '小乐' Oracle 分配四个字符 节省空间
clob(character large objiect) 字符型大对象最大4G
数字型
number 范围 10-38 ~ 1038
number(5,2) 表示一个 5位有效位数,2位小数位数 范围 -999.99 ~ 999.99
number(5) 表示一个5位整数 范围 -99999 ~ 99999
日期类型
date 包含年月日时分秒
timestamp Oracle9i对date数据类型的扩展
图片类型
blob 二进制数据 可存放图片/声音 4G
三、创建表
命令行创建
create table student(
studentNo number(4),
name varchar2(20),
sex char(2),
birthday date,
sal number(7,2)
);
通过第三方工具创建(PL/SQL developer)
四、修改表
添加字段
sql>alter table student add (classid number(2));
修改字段长度
sql>alter table student modify (name varchar2(30));
修啊字段类型/名字(不能有数据)
sql>alter table student modify (name char(30));
删除字段
sql>alter table student drop column sal;
修改表名
sql>rename student to stu;
删除表
sql>drop table stu;
五、插入数据
插入全部字段
sql>insert into student values('A001','张三','男','2000-01-01',2345.6,12);
修改日期格式
sql>alter session set nls_date_format = 'yyyy-mm-dd';
插入部分字段
sql>insert into student(studentNo,name,sex) values ('A002','李四','女');
插入空值
sql>insert into student(studentNo,name,sex,birthday) values ('A003','王五','男',NULL);
六、修改数据
改一个字段
sql>update student set sex = '女' where studentNo = 'A001';
改多个字段
sql>update student set sex = '男',birthday = '2002-02-02' where studentNo = 'A001';
修改含有null的数据
sql>update student set sal = sal*2 where birthday is null;
七、删除数据
删除所有数据,表结构还在,写日志,可以恢复,速度慢
delete from student;
例:sql>savepoint A001;-- 设置保存点
sql>delete from student;
rollback to A001;-- 回到保存点
删除表结构、数据
drop table student;
删除一条记录
delete from student where studentNo = 'A001';
删除表中所有数据,表结构还在,不写日志,无法找回删除的数据,速度快(千万级数据量)
truncate table student;
八、查询数据
约束为空
IS NULL
约束不为空
IS NOT NULL

浙公网安备 33010602011771号