Oracle11g 安装笔记

Oracle11g 64位现在地址:

http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_2of2.zip

Oracle分为两个文件,下载完之后需要解压到同一个目录下面

123
系统用户

  • sys、system
  • sysman
  • scott 密码:tiger
使用系统用户登录
[username/password][@server][as sysdba|sysoper]

* system 登录

1.system/123
2.connect sys/123 as sysdba

密码是123

sql语句必须用;结尾

启用scott用户
alter user username account unlock


alter user scott account unlock
connect scott/tiger
show user

表空间

  • 永久表空间
  • 临时表空间
  • UNDO表空间
desc dba_tablespaces
-- 查看表空间

select tablespace_name from dba_tablespaces;


 

Oracle 是基于对象的关系型数据库。
sqlplus/nolog 启动SQL*Plus

select tablespace_name from dba_tablespaces;


-- oracle用户的话,每个人只能有一个默认的database,不会出现一对多的现象,因此不需要指定。
-- orcale创建表和约束
CREATE TABLE Infos
(
    stuid VARCHAR2(7) NOT NULL,
    stuname VARCHAR2(10) NOT NULL,
    gender VARCHAR2(2) NOT NULL,
    age NUMBER(2) NOT NULL,
    seat NUMBER(2) NOT NULL,
    enrolldate DATE,
    classno VARCHAR2(4) NOT NULL,
    studentaddress VARCHAR2(50) DEFAULT'地址不详' NOT NULL
);


DROP TABLE INFOS;

SELECT * from INFOS
/
-- z执行缓存区中的语句
ALTER TABLE INFOS ADD constraint pk_infos primary key(stuid)
/
ALTER TABLE INFOS add constraint ck_infos_gender
    CHECK(gender = '男' or gender = '女')


INSERT INTO INFOS VALUES(
'S102322','XIAO','男',26,3,SYSDATE,'1001',default
)




INSERT INTO INFOS VALUES(
'S102312','mxx','女',26,3,SYSDATE,'1001',default
)

select sum(age) from INFOS

select AVG(age) from INFOS


select COUNT(age) from INFOS

-- OR REPLACE 如果试图存在,则替换旧视图。

CREATE OR REPLACE VIEW view1
AS
SELECT * FROM INFOS
 
SELECT * from view1


CREATE TABLE Infos2
(
    stuid VARCHAR2(7) NOT NULL,
    stuname VARCHAR2(10) NOT NULL,
    gender VARCHAR2(2) NOT NULL,
    age NUMBER(2) NOT NULL,
    seat NUMBER(2) NOT NULL,
    enrolldate DATE,
    classno VARCHAR2(4) NOT NULL,
    studentaddress VARCHAR2(50) DEFAULT'地址不详' NOT NULL
);

-- 索引
CREATE UNIQUE INDEX st_name_idx ON INFOS2(stuname);
--如果存在主见,那他就是该表的唯一索引,那就给这个表加不了索引了。





-- 表空间 Oracle 可以存放海量数据


-- oracle PL/SQL (procedural language/SQL) 存储过程 批处理能力



DECLARE 
    sname VARCHAR2(20):='123';
BEGIN
    sname:= sname||' and tom';
-- || 字符串连接操作符
    dbms_output.put_line(sname);
END;
-- DBMS导出 就是控制台显示结果。


DECLARE 
    pi constant NUMBER:=3.14;
    r NUMBER DEFAULT 3;
    area NUMBER;
BEGIN
    area:=pi*r*r;
    dbms_output.put_line(area);
END;

DECLARE stud INFOS.AGE%TYPE;
SELECT * FROM INFOS
SELECT AGE FROM INFOS WHERE stuname='mxx';


-- 错误
SELECT INFOS.AGE INTO stud23 FROM INFOS WHERE stuname='mxx';


SELECT * FROM stud23

-- 异常 错误--
DECLARE
    n_salary EXCEPTION;
    PRAGMA EXCEPTION_INIT(n_salary, -20101);
BEGIN
    DECLARE
        stud INFOS.AGE%TYPE;
    BEGIN
        SELECT AGE INTO stud FROM INFOS
        IF stud IS NULL THEN
            RAISE_APPLICATION_ERROR(-20101, 'age is missing');
        ELSE
            dbms_output.put_line('有年龄');
        END IF;
    END;
-- 异常执行部分
EXCEPTION
    WHEN n_salary THEN
        dbms_output.put_line('没有age');
END;
-- 错误--



-- LOOP循环
DECLARE
    counter number(3) := 0;
    sumResult number := 0;
BEGIN
    LOOP
        counter:=counter+1;
        sumResult:=sumResult+counter;
        IF counter >= 100 THEN
                EXIT;
        END IF;
    END LOOP;
    dbms_output.put_line('result is:'||TO_CHAR(sumResult));
END;


代码记录

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容