Oracle学习笔记
一、配置环境
注册Oracle账号,在官方提供的在线编辑器学习
编译器地址
二、Oracle数据库数据类型
- number:整型
- varchar: 长度固定的字符串
- varchar2:长度可变的字符串
- DATA: 日期类型
- CLOB:大对象,表示大文本数据类型,可存4G
- BLOB:大对象,表示二进制数据,可存4G
三、表的管理
1、建表
语法:
Create table 表名(
字段 1 数据类型 [default 默认值],
字段 2 数据类型 [default 默认值],
...
字段 n 数据类型 [default 默认值]
);
范例:
create table classinfo(
cid number(2) primary key,
cname varchar2(10) not null
);
insert into classinfo values(1,'chinese');
2、表的删除
drop table 表名;
3、表的修改
--在classinfo表中增加列cage:
alter table classinfo add(cage varchar2(3));
--把classinfo表中cage列的长度修改成5长度:
alter table classinfo modify(cage varchar2(5));
--修改列名称
alter table classinfo rename column cage to cnianling;
--删除一列
alter table classinfo drop column cnianling;
4、数据库表数据的更新
4.1、INSERT(增加)
insert into classinfo
values(2,'english','100');
4.2、UPDATE(修改)
update classinfo
set cage='50'
where cid=1;--无where就是修改表所有列的数据
4.3、DELETE(删除)
delete from classinfo where cid=1;
如果不指定删除条件的话就会删除所有的数据。Oracle提交事务才能让数据真正的插入到数据库中,执行完数据库变更操作后还可以把事务进行回滚,这样就不会插入到数据库。如果事务提交后则不可以再回滚。
提交:commit
回滚:rollback
注意:做增删改需要加commit;
三、序列
功能:数据库中都存在一个自动增长的列,Oracle中完成自动增长的功能只能依靠序列完成,所有的自动增长操作,都需要用户手动完成处理。
范例:创建一个seqclassinfoid的序列,验证自动增长的操作
create sequence seqclassinfoid;
序列中提供了两个操作:
--nextval:取得序列的下一个内容
--currval:取的序列的当前内容
select seqclassinfoid.nextval from dual;
select seqclassinfoid.currvalfrom dual;
--dual属于虚表,占位使用
在插入数据时需要自增的主键可以这样使用:
insert into classinfo
values(seqclassinfoid.nextval,'math','100');
在实际项目中每一张表会配一个序列,但是表和序列是没有必然的联系的,一个序列被哪
一张表使用都可以,但是我们一般都是一张表用一个序列。
序列的管理一般使用工具来管理。