oracle的初始操作和错误解决

oracle

初始操作

--创建表空间
create tablespace itheima
datafile '/home/oracle/tablespace/itheima.dbf'
size 100m
autoextend on
next 10m;

--删除表空间
drop tablespace itheima

--创建用户
create user itheima
identified by itheima
default tablespace itheima;

--给用户授权
--oracle数据库中常用角色
connect --连接角色
resource --开发者角色
dba   --超级管理员角色
--给itheima用户授予dba角色
grant dba to itheima;

--切换到itheima用户

oracle的基本操作

--创建一个person 表
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;
SELECT
	* 
FROM
	person ---添加一条记录
	INSERT INTO PERSON ( pid, pname )
VALUES
	( 1, '小明' ) ALTER USER ITHEIMA quota 4M ON users;
GRANT UNLIMITED TABLESPACE TO ITHEIMA --- 修改一条记录
UPDATE person 
SET pname = '小马' 
WHERE
	pid = 1 --- 三个删除
--删除表中全部记录
DELETE 
FROM
	person;
--删除表结构
DROP TABLE person;
--先删除表结构,再次创建表。效果等同于删除表中全部数据
--在数据量大的情况下,尤其在表中索引的情况下,该操作效率高
--索引可以提供查询效率,但是会影响增删改的效率
truncate TABLE person;

出现报错:创建表时会报如下错误:'no privileges on tablespace ‘USERS’

原因在于users表空间中没有为bryan用户提供配额空间(在此默认的表空间为users)

有两种解决方案:

1.为bryan用户在users表空间上设置配额就可以了

alter user bryan quota 4M on users; //quota:配额,限额

2.GRANT UNLIMITED TABLESPACE TO bryan;

序列的使用

----序列不真属于任何一张表,但可以逻辑和表做绑定
----序列:默认从1开始,一次递增,主要用来给主键赋值使用
---dual :虚表,只是为了补全语法,没有任何意义
create sequence s_person;
select s_person.currval from  dual;
INSERT INTO PERSON ( pid, pname )
VALUES
	( s_person.nextval, '小明' )
select * from PERSON
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值