创建表空间
create tablespace chenchen
datafile 'c:/chenchen'
size 100m
autoextend on --自动扩展大小
next 10m;
删除表空间
drop tablespace chenchen;
创建用户
create user chenchen
identified by 12345 --密码
default tablespace chenchen; --关联表空间
给用户授权
connect 连接角色 基本角色
resource 开发者角色
dba 超级管理员
给chenchen授予dba角色
grant dba to chenchen;
oracle数据类型
Varchar, varchar2 表示一个字符串 varchar可变长度, char不可变长度
NUMBER NUMBER(n) 表示一个整数 长度是n
NUMBER(m,n)表示一个小数长度是m,小数是n 整数长度是m-n
DATA 表示日期类型
CLOB 大对象 表示文本数据类型 可存4G
BLOB 大对象表示二进制数据 可存4G
创建表
create table person(
pid number(20),
pname varchar2(10)
);
修改表结构
添加一列
alter table person add gender number(1)
添加多列
alter table person add (gender number(1),phone number(13))
修改列类型
alter table person modify (gender number(1),phone number(13))
修改列名称
alter table person rename column gender to sex;
alter table tablename rename column xx to xx
删除列
alter table person drop column sex;
数据增删改
添加一条记录
insert into person (pid,pname) values (1,'chenchen')
commit;记得提交事务
查询表中记录
select * from person;
--修改一条数据
update person set pname ="xiaoxiao" where pid = 1;
commit;
--三个删除语句
--删除表中全部数据
delete from person;
--删除表结构
drop table person;
--先删除表,再次创建表 效果等同于删除表中全部数据
--在数据量大的情况下,尤其在表中带有索引的情况下,该操作效率更高
--索引可以提高查询效率,但是会影响增删改效率
truncate table person;
序列的使用
//序列不真的属于任何表,但是可以逻辑和表进行绑定
默认从1开始依次递增
create sequence s_person;
[INCREMENT_BY n] 每次增加几
[START WITH n]从几开始
[MAXVALUE/MINVALUE]
[{CYCLE|NOCYCLE}]循环/不循环
[{CACHE n|NOCACHE}] 缓存 提高插入效率 不明显
-- dual:是一个虚表 只是为了补全语法,没有实际意义
select s_person.nextval from dual; 注意:第一次创建的时候必须先调用nextval 不能调用currval。
select s_person.currval from dual;
--实际插入语句
insert into person (pid,pname) values (s_person.nextval,'xiaoming');
commit;