mysql中 的数据库 对应Oracle的用户 Oracle的表空间 下有多个 .dbf 文件
创建表空间
create tablespace wycsql
datafile 'D:\Oracle\wyc.dbf' 在当前连接用户主机创建
size 10m 初始化10M
autoextend on 不够时自动增长
next 10m; 一次增长 10M
删除表空间
drop tablespace wyc;
Oracle 常用角色
connect --连接角色 ,最基本角色
resource --开发角色
dba --超级管理用户角色
创建用户
create user wyc
identified by 123
default tablespace wycsql; 该用户要出生的表空间地方
给用户授权
grant dba to wyc;
数据类型
varchar varchar2(常用 ) char(5) 固定的长度 存6个字符取出是5个 存4个取出还是5个
number(5) 最大5位数 number(5,2) 总长度是5,占两位小数 555.33
data 精确到年月日时分秒 clob 存储打文本 最大4G blob 存储二进制 最大4G
创建表
create table person (
pid number (20),
pname varchar2 (10)
);
修改表结构
alter table person add gender number(1); 添加一列
alter table person modify gender char(1); 修改列的属性
alter table person rename column gender to sex; 修修改列的名称
alter table person drop column sex; 删除一列
数据的增删改
insert into person(pid,pname) values(2,'www'); 添加一条记录
update person set pname = 'wuuu' where pid = 2; 修改一条记录
commit; Oracle默认不会自动提交,需要自己提交
删除表的三个方式
truncate pserson; --删除表,再次创建表结构一样的表,数据量大时效率高,尤其带有索引时,直接删除索引
delete from person; --删除表中所有内容 ,只能一个一个删除数据,
drop table person; --删除表的结构
select * from person;
select * from person where pname like '%u%';
Oracle的自增
Oracle中是创建一个单独的序列来实现自增
create sequence s_userss;
insert into userss (id,name) values(s_userss.nextval,'a');
select s_userss.currval from dual; 查询当前增到几了 dual代表一个虚表没有任何意义
使用 .currval 前必须使用一次 nextval 不然没有值
序列的属性
create sequence s_userss increment by 2 start with 5
一次增长2 从5开始