当前位置: 代码网 > it编程>数据库>Oracle > oracle数据库的基本使用教程(建表,操作表等)

oracle数据库的基本使用教程(建表,操作表等)

2024年05月18日 Oracle 我要评论
一、表空间,用户1、创建表空间使用system登录创建表空间waterboss 为表空间名称datafile 用于设置物理文件名称size 用于设置表空间的初始大小autoextend on 用于设置

一、表空间,用户

1、创建表空间

  • 使用system登录

    在这里插入图片描述

  • 创建表空间
    • waterboss 为表空间名称
    • datafile 用于设置物理文件名称
    • size 用于设置表空间的初始大小
    • autoextend on 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
    • next 用于设置每次扩容的空间大小
-- 创建表空间
create tablespace waterboss
datafile 'c:\oracle\product\10.2.0\oradata\waterboss.dbf'
size 100m
autoextend on
next 10m

在这里插入图片描述

2、创建用户

  • 创建pzz用户,关联waterboss表空间
    • wateruser 为创建的用户名
    • identified by 用于设置用户的密码
    • default tablesapce 用于指定默认表空间名称
-- 创建用户
create user pzz
identified by pzz
default tablespace waterboss;

  • 使用刚才创建的用户登录,没有登录权限

3、用户授权

  • 使用system登录
  • 给pzz用户授权
grant dba to pzz;

在这里插入图片描述

  • 再次登录

    在这里插入图片描述

    在这里插入图片描述

二、表的操作

注意:相对于oracle,个人感觉mysql更容易上手,语法也差不多,基础入门还是先学mysql比较好。这里就不记录那么详细了。

1、创建表

1.1、语法:

create table 表名称(
 字段名 类型(长度) primary key,
 字段名 类型(长度),
 .......
);

1.2、数据类型:

  • 字符型
    • char : 固定长度的字符类型,最多存储 2000 个字节。
    • varchar2 :可变长度的字符类型,最多存储 4000 个字节。
    • long : 大文本类型。最大可以存储 2 个 g。
  • 数值型
    • number : 数值类型 。
      例如:
      number(5) 最大可以存的数为 99999 。
      number(5,2) 最大可以存的数为 999.99 。
  • 日期型
    • date:日期时间型,精确到秒 。
    • timestamp:精确到秒的小数点后 9 位。
  • 二进制型(大数据类型)
    • clob : 存储字符,最大可以存 4 个 g。
    • blob:存储图像、声音、视频等二进制数据,最多可以存 4 个。

1.3、实例:创建业主表

create table t_owners
(
	id number primary key,
	name varchar2(30),
	addressid number,
	housenumber varchar2(30),
	watermeter varchar2(30),
	adddate date,
	ownertypeid number
);

2、修改表

2.1、增加字段语法

  • 语法
alter table 表名称 add(列名 1 类型 [default 默认值],列名 1 类型 [default 默认值]...)
  • 实例:为业主表增加两个字段
--追加字段
alter table t_owners add
(
 remark varchar2(20),
 outdate date
)

2.2、修改字段数据类型

  • 语法
alter table 表名称 modify(列名 1 类型 [default 默认值],列名 1 类型[default 默认值]...)
  • 实例:修改两个字段的类型
--修改字段类型
alter table t_owners modify
(
remark char(20),
outdate timestamp
)

2.3、修改字段名

  • 语法
alter table 表名称 rename column 原列名 to 新列名
  • 实例
-- 修改字段名
alter table t_owners rename column outdate to exitdate;

2.4、删除字段名

  • 语法
--删除一个字段
alter table 表名称 drop column 列名
--删除多个字段
alter table 表名称 drop (列名 1,列名 2...)
  • 实例
--删除字段
alter table t_owners drop column remark

3、删除表

3.1、删除表(数据和结构)

  • 删除表的结构和数据,速度相对慢。
  • 删除了可以回滚。
drop table 表名称;

3.2、删除表(仅数据)

  • 直接删除表的数据,速度更快。
  • 删除了不能回滚恢复。
truncate table 表名称;

4、使用工具操作

使用通过图形化界面操作。

三、数据的操作

1、插入数据

  • 语法
insert into 表名[(列名 1,列名 2,...)]values(值 1,值 2,...)
  • 实例
insert into t_owners values (1,' 张三丰',1,'2-2','5678',sysdate,1);
commit;

2、修改数据

  • 语法
update 表名 set 列名 1=值 1,列名 2=值 2,....where 修改条件;
  • 实例:将 id 为 1 的业主的登记日期更改为三天前的日期
update t_owners set adddate=adddate-3 where id=1;
commit;

3、删除数据

  • 语法1:
delete from 表名 where 删除条件;
  • 实例:删除业主 id 为 2 的业主信息
delete from t_owners where id=2;
commit;
  • 语法2
truncate table 表名称

比较 truncat 与 delete 实现数据删除?

  • delete 删除的数据可以 rollback。
  • delete 删除可能产生碎片,并且不释放空间。
  • truncate 是先摧毁表结构,再重构表结构。

4、注意提交事务

数据的操作都要进行事务提交。

  • 方式一:
    执行后,点击提交按钮

    在这里插入图片描述

  • 方式二:
    每条语句后面使用commit提交
commit;

四、数据导出与导入

1、整库导出与导入

1.1、整库导出命令

  • 添加参数 full=y 就是整库导出
exp system/itcast full=y

执行命令后会在当前目录下生成一个叫 expdat.dmp,此文件为备份文件。

  • 如果想指定备份文件的名称,则添加 file 参数即可,命令如下
exp system/itcast file=文件名 full=y

1.2、整库导入命令

  • 此命令如果不指定 file 参数,则默认用备份文件 expdat.dmp 进行导入
imp system/itcast full=y
  • 如果指定 file 参数,则按照 file 指定的备份文件进行恢复
imp system/itcast full=y file=water.dmp

2、按用户导出与导入

2.1、按用户导出

exp system/itcast owner=wateruser file=wateruser.dmp

2.2、按用户导入

imp system/itcast file=wateruser.dmp fromuser=wateruser

3、按表导出与导入

3.1、按表导出

用 tables 参数指定需要导出的表,如果有多个表用逗号分割即可

exp wateruser/itcast file=a.dmp tables=t_account,a_area

3.2、按表导入

imp wateruser/itcast file=a.dmp tables=t_account,a_area

结束!!!!!!

总结

到此这篇关于oracle数据库的基本使用(建表,操作表等)的文章就介绍到这了,更多相关oracle建表操作表内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com