前言
Oracle需要先创建用户,用户才可以创表
MySQL为先创建数据库,数据库创表
一、基础搭建
在Oracle中,表空间分为(永久表空间和临时表空间
表空间:最终持久化保存的物理位置
临时表空间:当我们对数据库进行各种操作的时候,首先将这些数据放在临时表空间中,只要当你提交(commit)的时候,才会将这些数据持久化到表空间中
1.创建表空间
创建表空间的目的:给用户去使用
--创建表空间
create tablespace demo1
datafile 'D:\OracleDemo\demo1.dbf'
size 5m
autoextend on
解释
- demo1为表空间名称
- datafile 物理文件位置
- size 用于设置表空间的初始大小
- autoextend on 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
2.创建临时表空间
--创建临时表空间
Create temporary tablespace demo2
tempfile 'D:\OracleDemo\demo2.dbf'
size 5m
autoextend on
注意关键字temporary
和tempfile
与表空间不一样
3.删除表空间
--要求:表空间不存在任何内容!只会从数据库中删除,物理文件还存在,
--一旦当表空间中存在内容的时候,就无法删除
drop tablespace demo1
including contents --包含表内容一起删除
and datafiles; --连同物理文件一起删除
注意
切勿在文件系统直接删除,因为Oracle调用空间,不可删除,当然你要强制删除摧毁我也没办法,出问题不确定
执行下面这段代码后可以在文件系统手动删除,相当于数据库结束引用
drop tablespace demo1
4.创建用户
创建用户使用刚刚创建的表空间和临时表空间
create user itcast
identified by itcast
default tablespace demo1
temporary tablespace demo2
quota 5m
on demo1;
- itcast 用户名
- identified by 密码
- default tablesapce 用于指定默认表空间名称
- temporary tablespace 临时表空间
- quota 表空间大小
- on 表空间上
5.赋予系统权限
--赋予系统权限
grant create session to itcast;
--赋予对象权限
grant select on hr.employees to itcast;
6.用户角色RBAC
--赋予权限 给用户itcast 赋予 DBA权限后即可登陆
grant dba to itcast
7.切换用户
使用账户名密码登录切换
二、建表
1.建表
语法
CREATE TABLE 表名称(
字段名 类型(长度) primary key,
字段名 类型(长度),
.......
);
分类 | 类型 | 描述 |
数值类型 | NUMBER | 数值父类型,表示整数和浮点数 例如:NUMBER(5) 最大可以存的数为99999 NUMBER(5,2) 最大可以存的数为999.99 |
INT/INTEGER | 整数 | |
FLOAT | 双精度浮点数 | |
字符类型 | CHAR(3) | 定长字符,最大2000B |
NCHAR(1) | 定长unicode 字符,最大1000B | |
VARCHAR2(3) | 变长字符,最大4000B | |
NVARCHAR2(1) | 变长unicode字符,最大1000B | |
LONG | 变长字符类型,最大4GB(已淘汰) | |
日期类型 | DATE | 日期,精确到秒 |
TIMESTAMP | 日期类型,精确到小数秒 | |
大对象类型 | LOB | 8-12TB数据 并可分段处理 |
CLOB | 存储字符,最大可以存4个G | |
BLOB | 存储图像、声音、视频等二进制数据,最多可以存4个G |
创建表
create table test
(
stuno int default 888888 not null ,
stuname varchar2(20),
sex char(10),
age number(3,0),
birthday date,
email varchar2(50),
phone char(11)
);
删除表
--删除表
DROP TABLE test
查询所有
--查询所有
select * from student
添加表字段
--alter table 表名 add 字段名 类型 默认值
alter table DSGC_EXCEPTION_NOTICE add EN_SENDSTATUS varchar2(10) default 0
删除表字段
--alter table 表名 drop column 字段名
alter table DSGC_EXCEPTION_NOTICE drop COLUMN EN_SENDSTATUS ;
修改表字段
alter table DSGC_USER rename column EMAIL to EMAIL1
下一篇文章讲CRUD
祝你幸福
送一首歌:《Walk Away》LVNDSCAPE
附图:一颗五彩缤纷的双子座流星 北京天文馆镜像