zoukankan      html  css  js  c++  java
  • 基于oracle的sql(结构化查询语言)指令

    创建表空间

    create tablespace 表空间名 datafile

    '存储路径(c:aa.dbf)'

    size 200m autoextend on next 10m maxsize unlimited

    删除表空间

    drop tablespace 表空间名

    创建用户 

    create  user  用户名   identified   by   密码;

    用户名,密码 不能用关键字,且都不能用数字开头。

    创建用户时可以直接指定默认表空间,例子如下:

    create user smn identified by orcl default tablespace smn

    也可以先创建后设置默认表空间,例子如下:

    alter user smn default tablespace smn

    更改用户密码

    alter user     用户名    identified   by   新密码; 

    删除用户密码

    drop     user   用户名  【cascade;

    注:cascade 作用相当于级联删除,可以不写

    给用户授权

    grant 权限名 to 用户名;

    对于程序员一般授权dba权限

    回收用户权限

    revoke 权限 from 用户名;

    revoke 权限 on 表名 from 用户名;

    使用dos连接数据库

    sqlplus 用户名/密码@IP地址:程序IP/数据库名[as sysdba/sysoper]

    注意:当用特权用户身份连接时,必须带上as sysdba或as sysoper,连接本地数据库时IP地址为localhost

    例子:sqlplus smn/smn@192.168.58.2:1521/orcl

       sqlplus sys/orcl@192.168.58.2:1521/orcl as sysdba

    使用dos切换用户

    conn sys as sysdba

    conn system

    注意:sys不能以normal身份登录;system不能以sysoper身份登录

    使用dos显示用户

    show user;

    退出

    exit;

    查询用户是否存在

    select * from dba_users where username='SMN'  

    注意:‘SMN’ 这部分必须大写才能查到

    查询表空间是否存在

    select * from dba_data_files where tablespace_name='SMN'

    创建表

    create table student(
        xh number(4),/*学号*/
        xm varchar2(10)/*姓名*/
    )

    修改表

    /*添加表字段*/
    alter    table     student    add( 
         classid  number(2)
    )   
    /*修改字段长度*/
    alter    table     student    modify(
        xm  varchar2(30)
    )
    /*修改字段的类型(不能有数据)*/
    alter    table     student     modify(
        xm    char(30)
    )
    /*修改字段的名字(不能有数据)*/
    alter    table  student  rename   column  aa   to  bb;

     /*修改表的名字*/

     rename  student to stu;

    删除表字段

    alter    table     student    drop   column  sal;

    oracle表的管理

    /*删除表中所有数据*/
    delete from student
    /*删除表中指定条件的数据*/
    delete from student where name='张三'
    /*删除表中所有数据(不可恢复,一般不用)*/
    truncate table student
    /*删除表中数据和整个表结构*/
    drop table student
    /*向表中添加数据*/
    /*1.student  表中的所有字段都得给值,值给不全会报错*/
    insert   into  student   values( 1,'张三','','11-12月-2014',120.23)
    /*2.向表中添加部分字段数据*/
    insert   into  student (xh,xm,sex) values ( 1,'张三','');
    /*3.向表中添加空数据*/
    insert   into  student (xh,xm,sex,birthday) values ( 1,'张三','',null);

    查询

    1.表中的所有字段及所有记录全部查出来

    select * from student

    2.按字段查询

    select name,age from student

    3.如果某一字段为空 

    select * from student where birthday is null;

    4.按条件查询

    and    并且的关系 

    or     或者的关系

    向表中添加多行记录

    insert into 表名B (empno,ename,birdate)
    (select empno+100,ename,birdate
    from 表名A
    where empno>7000
    )
    /*
    注意:1)表B是已存在的表
         2)字段个数要相同,否则报错
    */

    表间数据的复制

    create table 表名A
    as(
    select empno,ename,birdate
    from 表名B
    where empno>7000
    )
    /*将表B按条件复制给新建的表A*/

    修改字段数据

    1.修改一个字段数据

    update student set sex='女' where xh=1;

    2.修改多个字段数据

    update student set sex='男',birthday='1980-04-01' where xh='1';

    3.嵌套修改字段数据

    update student set sal=
    (
        select sal+300
        from 表名 where empno=7559
    )
    where empno=7599;

    Oracle表主键、外键

    三种方式:

    1)先有表,在创建主外键

    /*创建主表*/
    create table student(
    stuid number(6),
    stuname varchar2(30)
    )
    /*为表加主键*/
    alter table student add primary key(stuid);
    /*创建子表*/
    create table scoretable(
    scorid number(6),
    score number(6,2),
    stuid number(6)
    )
    /*为表加外键*/
    alter table scoretable add foreign key(stuid) references student(stuid);

    2)创建表的同时创建主外键

    create table lv1table(
    id number(10) primary key,
    name varchar2(20)
    )
    
    create table lv2table(
    id number(10),
    name varchar2(20),
    foreign key(id) references lv1table(id)
    )

    3)创建表的同时创建主外键并给主外键取名

    create table lv3table(
    id number,
    name varchar2(20),
    constraint "lv3table主键id" primary key(id)
    )
    
    create table lv4table(
    id number,
    name varchar2(20),
    pid number,
    constraint "lv4table外键pid" foreign key(pid) references lv3table(id)
    )

     

  • 相关阅读:
    web端常见兼容性问题整理
    浏览器初始化样式
    html5特效库
    csshack
    进程与线程,并发、并行、异步、多线程
    js复制粘贴事件
    dom range相关
    vue和react在使用上的对比
    ListView往TreView里面拖拽
    ListView添加项目带序列
  • 原文地址:https://www.cnblogs.com/lm970585581/p/7076084.html
Copyright © 2011-2022 走看看