sqlplus连接系统管理员用户:
sqlplus sys/oracle@//47.111.169.26:1521/XE as sysdba
授权:
grant sysdba to system;
修改密码:
alter user system identified by manager;
切换用户:
conn system/manager@CONN_INSTANCE as sysdba
CONN_INSTANCE:为ora文件中创建的实例
conn deep/deep@CONN_INSTANCE
1.创建用户:
create user deep identified by deep;
2.授权:
GRANT CONNECT, RESOURCE, DBA TO deep;
3.创建表
使用sqlplus执行如下:
导入sql文件:
sql > @F:\website\oraok\ot\11g\ot_schema.sql
执行sql:
create table classinfo(
classid number(2) primary key,
classname varchar(10) not null
);
4.查询刚刚创建的表
SELECT table_name FROM user_tables ORDER BY Table_name;
5.插入语句:
单行插入:
insert into deep.classinfo values(1,'1班')
多行插入:
INSERT ALL INTO deep.classinfo
VALUES
( 2, '2班' ) INTO deep.classinfo
VALUES
( 3, '1班' ) INTO deep.classinfo
VALUES
( 4, '1班' ) INTO deep.classinfo
VALUES
( 5, '5班' )
SELECT
1
FROM
dual;
6.字符串连接
SELECT '列号' || ROWNUM,t.* FROM deep.classinfo t where ROWNUM<=3;
还有一种连接方式:concat(concat(a,c),b)
7.plsql语法结构
8.循环:
a.第一种:
while 条件
loop
...
end loop;
b.第二种:类似,do while循环
loop
...
exit when i>5;
...
end loop;
c.第三种:打印1,30
for i in 1 .. 30
loop
DBMS_OUTPUT.PUT_LINE(pid||pname);
end loop;
8.游标:
基本语法格式:
set serveroutput on; --默认不输出控制台结果,只有加上这个才输出
declare
panme emp.name%type;
psal emp.sal%type;
cursor cemp is select name,sal from emp;
begin
open cemp;
loop
fetch cemp into pname, psal; -- 一行行的获取值
exit when cemp%notfound;
if pname = '张三'
then update ....;
elsif panme="李四"
then delete ...;
else
...
end if;
end loop;
close cemp;
commit;
end;
带参数的游标示例:
set SERVEROUTPUT on;
declare
cursor cemp(num1 number) is select classid,classname from classinfo where classid=num1;
pid classinfo.classid%type;
pname classinfo.classname%type;
begin
open cemp(2);
loop
fetch cemp into pid, pname; -- 一行行的获取值
exit when cemp%notfound;
DBMS_OUTPUT.PUT_LINE(pid||pname) ;
end loop;
close cemp;
end;
9.存储过程:
a.创建存储过程
create or replace PROCEDURE deep_update
AS
punm number;
BEGIN
-- update CLASSINFO set CLASSNAME='2佬佬' where CLASSID=2;
SELECT t.classid into punm FROM classinfo t where CLASSID=3;
DBMS_OUTPUT.put_line(punm);
end;
调用方式:
--方式1
exec deep_update();
--方式2
BEGIN
DEEP_UPDATE();
--rollback;
END;
b.有输入和输出参数
10.存储函数
运行可以在工具中右击存储函数点击运行
11.导入导出:
导出方式1:
导出方式2:使用第三方工具pl/sql或者sql developer(oracle官方)
导入方式1:
导入方式2:使用第三方工具pl/sql或者sql developer(oracle官方)
注意:null + 任意数字得到的都是null