当前位置:首页 > 技能相关 > ORACLE > 正文内容

Oracle 创建库和创表、操作表相关

admin3年前 (2022-10-25)ORACLE3220 修订时间:2022-10-26 09:45:37

一、Oracle建库实际上是创建一个表空间,用于归类一系列数据表的集合;

-- 创建表空间
create tablespace mirthdb
datafile 'D:/db/202210/mirthdb01.dbf' --表空间文件
size 50M --空间大小
autoextend on; --自增设置

二、一个独立的表空间,建议创建其专有的用于表与数据的管理;

--新建用户mirthdb,密码是Mirth123
create user mirthdb identified by Mirth123;

--授权表空间创建权限
grant create tablespace to mirthdb;

--授予mirthdb查询表的权限
grant select on 表 to mirthdb;

--请使用DBA用户赋予其权限
grant connect to mirthdb;
grant RESOURCE to mirthdb;

--修改用户默认表空间
alter user mirthdb default tablespace mirthdb;

--将空间配额分配给指定用户
ALTER USER mirthdb QUOTA UNLIMITED ON  mirthdb;

--赋予新用户连接权限
grant create session to mirthdb;


--以下位拓展知识点
--查询数据库中的所有用户
select * from dba_users;

--将表的所有权限给新建的用户
grant all on 表 to mirthdb;

--使用用户mirthdb
conn mirthdb/Mirthdb123;

三、创建表

创建数据库表一般有两种方式:

1、使用一个数据库客户端。可用于交互的创建和管理数据库表;

2、直接利用ORACLE PL/SQL语句操作表

注意:当使用交互式工具时,实际上使用的是ORACLE SQL语句。不过,无需编写这些语句,界面将为你无缝的生成和执行SQL。

3、以下是相关语句的示例

  3.1 创建表格语句示例

--列名  变量类型  是否为空;
CREATE TABLE mirthdbtable
(
  mirth_id   int      NOT NULL ,
  mirth_name char(50) NOT NULL ,
  mirth_address char(50)  NULL ,
  mirth_city    char(50)  NULL ,
  mirth_state   char(5)   NULL ,
  mirth_zip     char(10)  NULL ,
  mirth_country char(50)  NULL ,
  mirth_contact char(50)  NULL ,
  mirth_email   char(255) NULL
);

创建表格用到关键字CREATE TABLE,后方跟着指定的新表的名称,用圆括号括住所有列,列本身用逗号隔开。

不要把NULL值与空字符串混淆。NULL值意指缺少值,它不是空字符串。如果指定“’ '”(两个单引号之间没有任何内容),这在NOT NULL列中是允许的。空字符串是一个有效值,它不是没有值。

3.2 指定默认值

在插入行时,如果没有指定值,Oracle允许指定默认值。默认值是在CREATE TABLE语句中的列定义中使用DEFAULT关键字指定的。

使用示例:

CREATE TABLE mirthdbtable
(
  order_num   int           NOT NULL,
  order_item  int           NOT NULL,
  prod_id     char(10)     NOT NULL,
  quantity  int         DEFAULT 1 NOT NULL,
  item_price decimal(8,2) NOT NULL
);

许多数据库开发人员都使用DEFAULT值代替NULL列,尤其是将在计算或数据分组中使用的列中。

四、更新表

可以使用ALTER TABLE语句更新表,但是理想情况下,在表包含数据之后永远也不应该改变它们。要使用ALTER TABLE更改表,必须指定以下信息:

<1>、在关键字ALTER TABLE后面指定要改变的表的名称(表必须存在,否则将会生成一个错误);

<2>、要执行的更改列表。

1、使用示例:

ALTER TABLE mirthdbtable ADD vend_phone CHAR(20);

1.1 主键

主键值必须是唯一的。也就是说,表中的每一行都必须具有唯一的主键值。如果把单独一列用于主键,那么它必须是唯一的。如果使用多个列,那么它们的组合必须是唯一的。

可以在CREATE TABLE语句内定义主键。不过,许多开发人员更喜欢先创建表,然后添加所有的键。添加键就是在进行表更新,因此要使用ALTER TABLE命令。

下面给出了一个示例:

ALTER TABLE mirthdbtable ADD CONSTRAINT pk_customers PRIMARY KEY (cust_id);

1.2 定义外键

ALTER TABLE也可用于定义外键。

ALTER TABLE mirthdbtable 
      ADD CONSTRAINT fk_orderitems_orders FOREIGN KEY (order_num)
      REFERENCES orders (order_num);

要极其小心地使用ALTER TABLE,在执行该操作前确保具有一组完整的备份(包括模式和数据)。数据库表的改变不能被撤销——如果添加了不需要的列,也许不能移除它们。类似地,如果删除了需要的列,也许就会丢失该列中所有的数据。

五、删除表

删除表(实际上是指删除整个表,而不仅仅是内容)。

DROP TABLE mirthdbtable;

六、重命名表

要重命名表,可以使用ALTER TABLE语句,如下:

ALTER TABLE mirthdbtable RENAME TO mirthdbtable2;

相关信息

Oracle创建用户、赋予权限等操作详解

Oracle 权限设置详解

ORA01950-对象空间无权限

 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/?id=237

标签: oracle操作
分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。