oracle可视化操作界面——plsql dev安装配置与使用

1. 安装
32位客户端需要对应32位plsqldev,64wei对应64位。

2. plsql Dev配置
(1)指定oci.dll文件位置
在这里插入图片描述

(2)编译设置,鼠标在哪一行,按F8自动运行这一行,知道分号结束。
在这里插入图片描述

(3)快捷键设置,ctrl+/ 为注释快捷键
在这里插入图片描述

3. 常用sql命令
(1)新建sql窗口
在这里插入图片描述

(2)命令

-- 创建用户,用户名,密码,指定默认表空间
create user sss identified by 123
default tablespace users;

-- 解锁与锁定用户
select username,account_status from dba_users; -- 查看当前实例账户状态
alter user sss account lock; -- 锁定sss账户
alter user sss account unlock; -- 解锁sss账户

-- 删除用户
drop user sss cascade;

-- 查看当前登录的用户角色
select * from user_role_privs;

-- 创建表空间
create tablespace test datafile 'D:\OracleData\test.dbf'-- 服务器上的已经存在的数据库实例存储位置
size 10m
extent management local autoallocate;

-- 创建“学生”表
create table students(
stuno number(10) not null,
stuname varchar2(8),
sex char(2),
age int,
departno varchar2(2) not null,
classno varchar2(4) not null,
regdata date default sysdate
);

-- 查看表中所有信息
select * from students t;

-- 插入数据
insert into students(stuno,stuname,sex,age,departno,classno)
values(2020000001,'王小二','男',16,'一','0102');
insert into students(stuno,stuname,sex,age,departno,classno)
values(2020000002,'张三','女',17,'二','0201');
insert into students(stuno,stuname,sex,age,departno,classno)
values(2020000003,'李四','男',19,'三','0305');

-- 更新符合条件的数据
update students
set classno='0107'
where stuname='王小二';

-- 删除符合条件的数据
delete from students
where stuname='李四';

/*增加属性列,删减用drop代替add,修改用modify*/
alter table students add score int;

-- 更新新添加的字段值
update students
set score=87
where stuname='王小二';
update students
set score=89
where stuname='张三';
update students
set score=99
where stuname='李四';

-- 分组显示
select stuname,score
from students
group by (stuname,score);

-- 排序统计
select stuname,score
from students
order by score desc; -- 降序排列

-- 创建表的副本
create table students_copy
as select*
from students
select * from students_copy t;

-- 删除表中的数据,表还在
delete students_copy;
select * from students_copy t;

-- 删除表的内容和定义,释放表的空间
drop table students_copy;

-- 将students表添加到users表空间中
alter table students move tablespace users;

-- 或者在创建表时指定表空间,原则上不同类型的数据对象存放在不同的表空间中
create table students_copy
(stuno number(10) not null,
stuname varchar2(8),
sex char(2),
age int,
departno varchar2(2) not null,
classno varchar2(4) not null,
regdata date default sysdate,
score int)
tablespace users; -- 指定表空间
select * from students_copy t;

-- 用表赋值另一个表,注意字段顺序要一致
insert into students_copy select * from students;

-- 定义表中的主键
alter table students
add primary key(stuno);

-- 在表创建时就定义主键
create table students_1
(stuno number(10) not null,
stuname varchar2(8),
sex char(2),
age int,
departno varchar2(2) not null,
classno varchar2(4) not null,
regdata date default sysdate,
score int,
primary key(stuno)
)
tablespace users; -- 指定表空间

describe v&lock;

-- 创建排他锁(整个表只能一个人改),oracle默认也是悲观的锁机制——排它锁
lock table students in exclusive mode;

-- 创建行级排他锁(其他人可以更改表中其他行的数据,但只能查询另一个人正在修改的行)
lock table students in row exclusive mode;

-- 查看当前字符集编码格式,要注意服务器和客户端的编码格式一致
-- 参见博客https://blog.csdn.net/hyb_1314w/article/details/88690147?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param
select * from V$NLS_PARAMETERS; 
select userenv('language') from dual;

-- ------------------------------------------------
-- 加载excel数据(excel数据保存为csv格式,不要选UTF8格式的,逗号分隔)
create table persons -- 创建和excel属性字段一致的表
(code number(4),
name varchar2(20),
sex varchar2(4),
age number(4)
)
tablespace users;
select * from persons t;

/* persons.ctl内容如下,手动建立,改后缀名为.ctl
load data
CHARACTERSET ZHS16GBK
infile 'D:\land\sql_test\persons.csv'
append into table persons
fields terminated by ','
(code,name,sex,age)

win + r,输出cmd,打开命令窗口,输入以下内容,注意用哪个用户建立的表就用那个用户导入数据
sqlldr userid='sys/345@192.168.0.173:1521/test as sysdba' control=D:\land\sql_test\persons.ctl
*/

select * from persons t; -- 查看导入的persons表
-- ------------------------------------------------

-- ------------------------------------------------
-- 加载txt数据(后缀为.txt,空格隔开)
create table persons1 -- 创建和excel属性字段一致的表
(code number(4),
name varchar2(20),
sex varchar2(4),
age number(4)
)
tablespace users;
select * from persons1 t;

/* persons1.ctl内容如下,手动建立,改后缀名为.ctl
load data
CHARACTERSET ZHS16GBK
infile 'D:\land\sql_test\persons1.txt'
append into table persons1
(code position(01:04) integer external,
 name position(06:07) char,
 sex position(09:10) char,
 age position(12:13) integer external
)

win + r,输出cmd,打开命令窗口,输入以下内容,注意用哪个用户建立的表就用那个用户导入数据
sqlldr userid='sys/345@192.168.0.173:1521/test as sysdba' control=D:\land\sql_test\persons1.ctl*/

select * from persons1 t; -- 查看导入的persons表
-- ------------------------------------------------

-- ------------------------------------------------
-- 直接用ctl文件加载数据
create table persons2 -- 创建和excel属性字段一致的表
(code number(4),
name varchar2(20),
sex varchar2(4),
age number(4)
)
tablespace users;
select * from persons2 t;

/* persons2.ctl内容如下,手动建立,改后缀名为.ctl
load data
CHARACTERSET ZHS16GBK
infile *
append into table persons2
fields terminated by ','
(code,name,sex,age)
begindata
1006,张三,女,10
1008,李四,男,15


win + r,输出cmd,打开命令窗口,输入以下内容,注意用哪个用户建立的表就用那个用户导入数据
sqlldr userid='sys/345@192.168.0.173:1521/test as sysdba' control=D:\land\sql_test\persons2.ctl*/

select * from persons2 t; -- 查看导入的persons表
-- ----------------------------------------------

(3)中文数据的导入问题
经常会出现乱码,这是因为编码问题引起。
首先要查看服务器的编码格式:

select userenv('language') from dual;
然后根据查询结果,在客户端本地系统变量中添加“NLS_Lang”字段,值为查询的结果,比如“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。
其次,在所有的导入控制文件中,加入“CHARACTERSET ZHS16GBK”。
最后再导入数据,即可。
注:excel生成的csv文件切记不要保存为UTF-8格式的csv,选另一种未显式指定编码类型的。

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值