一、表空间,用户
1、创建表空间
- 使用system登录
- 创建表空间
- waterboss 为表空间名称
- datafile 用于设置物理文件名称
- size 用于设置表空间的初始大小
- autoextend on 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
- next 用于设置每次扩容的空间大小
-- 创建表空间create tablespace waterbossdatafile 'C:\oracle\product\10.2.0\oradata\waterboss.dbf'size 100mautoextend onnext 10m
2、创建用户
- 创建pzz用户,关联waterboss表空间
- wateruser 为创建的用户名
- identified by 用于设置用户的密码
- default tablesapce 用于指定默认表空间名称
-- 创建用户create user pzzidentified by pzzdefault 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 。
- NUMBER : 数值类型 。
- 日期型
- 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
结束!!!!!!
hy:3
恕自己一过,则万过由之而生。---苏格拉底