oracle表管理
来源:互联网 发布:mac开机后怎么切换系统 编辑:程序博客网 时间:2024/05/31 18:36
表管理
第一讲
1.表名和列名的命名规则
必须以字母开头
长度不能超过30字符
不能使用oracle的保留字
只能使用如下字符 a-z, A-Z,0-9,$,#等
2.oracle支持的数据类型
①char 定长 最大2000字符
例:char(10) ‘小米’前四个字符放两个汉字,后添6个空格补全
优点:查询效率高
缺点:浪费空间
②varchar2(10) 变长 最大字符为4000
例: varchar2(10) ‘小明’ 前四个字符放两个汉字,这样可以节省空间
③clob(character large object) 字符型大对象 最大4G
数据库中保存文件使用的类型
clob使用char来保存数据 如:保存XML文档
blob使用二进制保存数据 如:保存位图
JAVA里面对CLOB的操作
在绝大多数情况下,使用2种方法使用CLOB
Ⅰ 相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可
Ⅱ 如果比较大,可以用 getAsciiStream 或者 getUnicodeStream 以及对应的 setAsciiStream 和 setUnicodeStream 即可
读取数据
ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1");
rs.next();
Reader reader = rs.getCharacterStream(2);
插入数据
PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");
pstmt.setInt(1, 1);
pstmt.setString(2, htmlStr);
pstmt.executeUpdate();
更新数据
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test1");
rs.next();
Clob clob = rs.getClob(2);
long pos = clob.position("dog", 1);
clob.setString(1, "cat", len, 3);
rs.updateClob(2, clob);
rs.updateRow();
3.数字型
number 范围为-10的38次方 到10的38次方
number(5,2)
表示一个小数有5位有效数,2位小数
范围-999.99到999.99
number(5)
表示一个5为整数
范围-99999到99999
4.日期类型
date 包括年月日和时分秒
timestamp 这是oracle9i 对date数据类型的扩展(精度更大)
5.图片类型
blob 二进制数据 可以存放图片/声音 4G
说明:一般情况下图片、声音和视频不往数据库里存放,通常是把其放在一个文件夹中,
往数据库里存放一个路径,除非图片声音保密性高就存入数据库中。
6.建表
--学生表
create table student( --表名student
xh number(4), --学号
xm varchar2(20), --姓名
sex char(2), --性别
birthday date, --出生日期
sal number(7,2) --奖学金
);
7.修改表
①添加一个字段
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 alues(‘A001’,‘张三’,‘01-5月-05’,10);
oracle 中默认的日期格式‘DD-MON-YY’
改日期的默认格式
alter session set nls_date_format = 'yyyy-mm-dd';
修改后可以按熟悉的格式添加日期类型:
insert into student values(‘A002’,‘李四’,‘1905-05-06’,10);
⑧插入部分字段
insert into student(xh,xm,sex) values (‘A003’,‘JOHN’,‘女’);
插入部分字段并不定每次都能成功,比如说某些字段不能为空,必须给值
⑨插入空值
insert into student(xh,xm,sex,birthday)
values(‘A004’,‘MARTIN’,‘男’,null);
--查询生日为空的记录
select * from student where birthday is null;
--查询生日不为空的记录
select * from student where birthday is not null;
⑩修改一个字段
update student set sex = '女' where xh = 'A001';
⑩+①修改多个字段
update student set sex = '男',birthday = ‘1980-04-01’
where xh = ‘A001’;
⑩+②修改含有null值的数据
update student set birthday is null where xh = ‘A001';
⑩+③删除数据
delete from student;--删除所有记录,表结构还在,写日志(sava point),
--可以恢复,速度慢
--回滚
savepoint aa;
delete from student;
rollback to aa;
drop table student;--删除表的结构和数据
delete from student where xh =‘A001’;--删除一条记录
truncate table student; --删除表中所有数据,表结构还在,不写日志
--无法找回删除的记录,速度快
- ORACLE 表空间管理
- ORACLE 表管理
- ORACLE表空间管理
- Oracle表的管理
- Oracle数据库表管理
- ORACLE表空间管理
- oracle表空间管理
- Oracle表空间管理
- Oracle 表空间管理
- oracle 表空间管理
- Oracle表管理
- oracle表管理
- oracle 表空间管理
- 【Oracle】表的管理
- Oracle 表管理
- Oracle表空间管理
- Oracle表空间管理
- Oracle表空间管理
- 统计一个字符串中第一次只出现一次的字符
- 手艺人
- poj 3176 Cow Bowling
- strlen
- 项目三。两点距离(友元函数,成员函数,一般函数)
- oracle表管理
- HDU 3652 数位DP
- 添加删除Tomcat服务
- ajax面试题
- 华为笔试之最长单词
- javascript有趣的对象数组混合取值
- 动手学MFC之十——带上绘图搞定FlappyBird(下)
- TInifile(2)
- CString中Format函数与格式