• 黑马oracle_day01:02.oracle的基本操作


    01.oracle体系结构

    02.oracle的基本操作

    03.oracle的查询

    04.oracle对象

    05.oracle编程

    02.oracle的基本操作

    PLSQL中文乱码问题解决
    1.查看服务器端编码

    select userenv('language') from dual;

    我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK
    2.执行语句 select * from V$NLS_PARAMETERS; 
    查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。
    如果不是,需要设置环境变量。
    否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码。
    3.设置环境变量
    计算机->属性->高级系统设置->环境变量->新建
     设置变量名:

    NLS_LANG

     变量值:第1步查到的值, 我的是

    AMERICAN_AMERICA.ZHS16GBK

    4.重新启动PLSQL,插入数据正常。

    PLSQL连接数据库报错问题解决

    1.解决ERROR-ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

    # listener.ora Network Configuration File: C:oracleproduct10.2.0db_1 etworkadminlistener.ora

    # listener.ora Network Configuration File: C:oracleproduct10.2.0db_1
    etworkadminlistener.ora
    # Generated by Oracle configuration tools.
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = C:oracleproduct10.2.0db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (SID_NAME = ORCL)
          (ORACLE_HOME = C:oracleproduct10.2.0db_1)
          (GLOBAL_DBNAME = ORCL)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.128)(PORT = 1521))
        )
      )

    2.解决连接Oracle 11g报ORA-01034和ORA-27101的错误

    sqlplus /nolog
    
    conn / as sysdba
    
    startup

    04创建表空间、创建用户以及用户授权

     

     

    -- 创建表空间
    create tablespace itheima
    datafile 'c:oracleitheima.dbf'
    size 100m
    autoextend on
    next 10m;

    -- 删除表空间
    drop tablespace itheima;
    -- 创建用户
    create user marlon
    -- 设置用户密码
    identified by root
    -- 设置所属表空间
    default tablespace itheima;
    -- 给用户授权
    -- oracle数据库中常用角色
    connect --连接角色,基本角色
    resource --开发者角色
    dba --超级管理员
    -- 给kangmianfeng授予dba角色
    grant dba to kangmianfeng;
    
    -- 切换到kangmianfeng用户下(Session-Logoff-all ---> Session-Logon-kangmianfeng)

    -- 查看当前USER_TABLES所属的表空间
    SELECT TABLE_NAME,TABLESPACE_NAME FROM USER_TABLES

    05数据类型介绍和表的创建

     

    -- 创建一个person表
    create table person(
        pid number(20),
        pname varchar2(10)
    
    );

    06修改表结构

    -- 修改表结构
    -- 添加一列
    alter table person add (gender number(1));

    -- 修改列类型
    alter table person modify (gender char(1));-- char长度固定
    -- 修改列名称
    alter table person rename column gender to sex;
    -- 删除一列
    alter table person drop column sex;

    07数据的增删改

    -- 查询表中记录
    select * from person;
    -- 添加一条记录
    insert into person (pid, pname) values (110111,'小明');
    commit;-- 手动提交事务
    -- 修改一条记录
    update person set pname='小马' where pid = 110111;
    commit;
    
    ----三个删除
    -- 删除表中全部记录
    delete from person;
    -- 删除表结构
    drop table person;
    -- 在数据量大的情况下,尤其在表中带有索引的情况下
    -- 该操作效率高
    -- 索引可以提高查询效率,但是会影响增删改效率
    truncate table person;

    08序列的使用

    ----- oracle的序列不真的属于任何一张表,但是逻辑上可以和表做绑定。

    ----- 序列默认从1开始,以此递增,主要用来给主键赋值使用。

    ----- dual:虚表,只是为了补全oracle的语法,没有任何意义。

    -- 创建一个序列
    create sequence s_person;
    select s_person.nextval from dual;
    select s_person.currval from dual;
    -- 添加/插入一条记录
    insert into person (pid, pname) values (s_person.nextval,'小明');
    commit;-- 提交事务
    -- 查询表中记录
    select * from person; 

          create sequence 序列名
    ---- [INCREMENT BY n] 每次增加n(默认增加1)
    ---- [START WITH n] 从n开始;

    =========================================

    参考资料:

    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

    解决连接Oracle 11g报ORA-01034和ORA-27101的错误

    ORACLE的CONNECT和RESOURCE角色权限

    =========================================

    end

    部分内容来自于学习编程期间收集于网络的免费分享资源和工作后购买的付费内容。
  • 相关阅读:
    SuperSocket 2.0 发布第一个预览版, 另寻找Yang Fan哥哥
    使用LogMaster4Net实现应用程序日志的集中管理
    博客终结
    我的第一个Socket程序-SuperSocket使用入门(三)
    树莓派 HC-SRO4超声波测距模块的使用
    树莓派 LED+蜂鸣+声音传感器+红外模块组合打造声控/红外控制LED
    Python Django 开发 4 ORM
    Raspberry Pi --操作LED
    Python Django 开发 3 数据库CURD
    Python Django 开发 2 数据库
  • 原文地址:https://www.cnblogs.com/MarlonKang/p/11531336.html
Copyright © 2020-2023  润新知