甲骨文公司数据库-12306撞库数据
本教程主要基于MOOC视频:SQL基础,Oracle数据库开发必备利器
1.下载Oracle数据库 下载地址:
(1)
不建议在本页面选择数据库客户端界面下载Oracle客户端,因为可能没有匹配数据库版本的客户端(主要是oracle11.2.0.1.0客户端没有,所以如果要下载客户端,请转到1.2)
选择11g,点击进入数据库选择页面,注意选择下载的数据库版本
二、Oracle数据库的安装
参考文章:
(一)Oracle11g安装教程_Qxw1012的博客-CSDN博客_oracle下载安装教程
(二)推荐:Oracle 11安装教程(桌面版)-追梦小蜗牛-博客园
注意:数据库控制 URL 是::1158/em(它是 https,而不是 http)
普通管理员:system,密码:设置密码
超级管理员:用户名:sys,密码:set password
3.下载、安装和配置PL/SQL
这次我用的是PL/SQL解压版,不需要安装。
PL/SQL解压后,找到plsqldev.exe,双击打开。 显示登录时,点击取消,进入PL/SQL界面
然后配置与数据库版本一致的oci.dll。 这里的Oracle Home和OCI Library都可以手动进入,所以手动进入oci所在的目录,然后点击OK完成配置。
重启PL/SQL,然后进入登录界面
(1)用户名:用户名
(2)密码:密码
(3)数据库:数据库地址,如果PL/SQL和Oracle在同一台电脑上,则不需要输入地址,输入orcl即可; 如果 PL/SQL 和 Oracle 不在同一台计算机上,则添加 Oracle 所在计算机的 IP 地址。
(4)Connect as:以什么权限连接,如果是普通用户,Normal; 通常默认就可以了。
用户名密码,数据库,以什么权限连接
4、Oracle数据库操作 4.1查看当前登录用户:
show user;
4.2 查看表结构:
desc dba_users;
4.3 启用锁定用户:
alter user username(用户名) account unlock;
4.4 表空间: 4.4.1 表空间概述:
(1)了解表空间:
(2)表空间分类:
4.4.2 查看用户的表空间:
(1)dba_tablespaces、user_tablespaces数据表:
//查看数据结构
DESC dba_tablespaces;
select tablespace_name[,status] from dba_tablespaces;
select tablespace_name from user_tablespaces;
(2)dba_users、user_users数据表:用于查询用户。
(3)设置用户默认或临时表空间:
ALTER USER username DEFAULT|TEMPORARY TABLESPACE tablespace_name;
注:普通用户无此权限,管理员可修改,或为普通用户设置。
4.4.3 创建、修改、删除表空间:
(1)创建表空间:
//永久表空间
CREATE TABLESPACE tablespace_name DATAFILE 'xx.dbf' SIZE xx;
//临时表空间
CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE 'xx.dbf' SIZE xx;
DATAFILE:设置表空间数据文件,xx.dbf是数据文件的名字,最好设置数据文件的路径。
SIZE:设置数据文件的大小。
//创建永久表空间,数据文件大小可扩展
CREATE TABLESPACE tablespace_name DATAFILE 'xx.dbf' SIZE 10M autoextend on next 50M maxsize unlimited;
附加:
创建用户随意分配表空间
CREATE USER username IDENTIFIED BY "123456" DEFAULT TABLESPACE TEST profile DEFAULT ACCOUNT UNLOCK;
给用户最高权限
GRANT dba TO username;
查询目录:
SELECT * FROM dba_directories;
创建数据导入/导出存储地址
CREATE DIRECTORY mydatas AS 'D:\oracleData';
导入数据:
impdp 用户名/密码@orcl transform=segment_attributes:n directory=mydatas[导入文件所在路径] dumpfile=XX.DMP remap_tablespace=TEST:XX remap_schema=ptuser:ptuser7 logfile=ims20171123.log
注意:transform=segment_attributes:n忽略expdp export自带的相关表空间和存储子句约束
注意:remap_schema前者是导出用户,后者是导入用户
注意:remap_tablespace=a:b 前者是export tablespace,后者是import
导出数据:
expdp 用户名/密码6@orcl schemas=ptuser3 directory=mydatas dumpfile=xx.dmp version=11.2.0.1.0
注意导入导出Oracle数据库时需要数据库版本一致,所以导出数据时一定要设置正确的版本。
(2)查看永久表空间所在路径:
DESC dba_data_files;
SELECT file_name,tablespace_name FROM dba_data_files;
(3)查看临时表空间所在路径:
DESC dba_temp_files;
(4)修改表空间(永久表空间):
①设置在线或离线状态:(默认在线)
//在线
ALTER TABLESPACE tablespace_name ONLINE;
//离线
ALTER TABLESPACE tablespace_name OFFLINE;
② 查看表空间的状态:
请参考4.4.2查看用户表空间部分内容;
③设置只读或读写状态:(默认读写状态)
//只读
ALTER TABLESPACE tablespace_name READ ONLY;
//可读写
ALTER TABLESPACE tablespace_name READ WRITE;
注意:这里的状态只有在表空间在线的情况下才能修改。
①查看表空间的数据文件:
在 dba_data_files 中可见
② 添加数据文件:
ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE xx;
③删除数据文件:
ALTER TABLESPACE tablespace_name DROP DATAFILE 'xx.dbf';
注意:默认的数据文件是不能删除的,即表空间只有一个数据文件时不能删除。
(5)删除表空间:
//删除表空间,不删除表空间里的数据文件
DROP TABLESPACE tablespace_name;
//删除表空间,同时删除表空间里的数据文件
DROP TABLESPACE tablespace_name INCLUDING CONTENTS;
4.5 数据表 4.5.1 数据表概念
(1)数据表存放在Oracle数据库的表空间中
(2)表是数据的基本存储单位
(3) 二维结构:由行和列组成
4.5.2 数据表中的数据类型
(1) 字符类型
CHAR(n):定长类型,n最大为2000;
NCHAR(n):定长类型,n最大为1000,数据以Unicode格式存储[常用于存储汉字];
VARCHAR2(n):变长类型,n最大为4000;
NVARCHAR2(n):变长类型,n最大为2000;
(2) 数值型
NUMBR(p,s):p代表几位有效数字,s代表几位小数;
FLOAT(n):保存二进制数据;
(3)日期类型
DATE:表示范围——》公元前4712年1月1日至公元9999年12月31日,精确到秒;(常用)
TIMESTAMP:时间戳,精确到小数秒甲骨文公司数据库,比DATE更精确。
(4) 其他类型
BLOB:存储二进制数据甲骨文公司数据库,二进制数据一般是指文件数据,包括音频、视频、文件等。
CLOB:以字符串形式存储二进制数据;
4.5.3 管理数据表
(1) 创建表
与 MYSQL 语法相同,缩写
(2) 修正表
与 MYSQL 语法相同,缩写
(3)删除表中的数据
//删除表中全部数据
TRUNCATE table_name;
(4) 删除表
//删除表中全部数据
DROP TABLE table_name;
5. 其他SQL 5.1 删除数据表的步骤: 5.1.1 打开禁止使用的外键:
SELECT 'ALTER TABLE ' || table_name || ' enable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';
5.1.2 拼接删除语句
SELECT 'DROP table '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;
5.1.3 从查询中复制删除语句并执行