Oracle数据库整理(上)

来源:互联网 发布:网络与新媒体就业方向 编辑:程序博客网 时间:2024/05/21 02:48

SQL语言共分为四大类

1.DDL(Data Definition Language)数据库定义语言

CREATE,ALTER,DROP,RENAME

2.DML(Data Manipulation Language)数据操纵语言

SELECT,INSERT,UPDATE,DELETE

3.DCL(Data Control Language)数据库控制语言

GRANT 授权
REVOKE 取消授权

4.TCL(Transaction Control Language)事务控制语言

ROLLBACK 回滚
COMMIT 提交


步骤

1.进入数据库sqlplus环境

sqlplussys as sysdbapwd......

2. 创建与删除表空间

  1. 创建

    create tablespace cmdemo datafile 'c:\cmdemo.dbf' size 30m autoextend on next 30m maxsize unlimited;create tablespace 表空间名 datafile '存储数据文件路径' size 空间大小 autoextend on next 自动扩展空间大小 maxsize unlimited;
  2. 删除

    在删除表空间时首先需要判断的是该用户是否有删除的权限 如果没有则切换到sys as sysdba用户

    1. 删除没有任何数据的表空间的方法

      --删掉名为myDemo的表空间drop tablespace myDemo; 
    2. 删除有数据的表空间的方法

       --删掉名为myDemo的表空间 并且删除下面的数据 drop tablespace myDemo including contents and datafiles;    --如果drop tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora‐01911错误

3. 创建/查看/修改/切换普通用户

  1. 创建/查看/修改用户

    create user 用户名 identified by 密码 default tablespace 表空间名;create user cmd identified by cmd default tablespace cmdemo;--查看当前用户show user;--修改用户的密码,首先要以超级管理员的身份进入oracle,然后输入以下代码sys as sysdba;--cmd为您的账户名alter user cmd identified by password;
  2. 给普通用户授权

    grant connect,resource to cmd;--grant 权限 to 用户名;--权限 connect 临时权限 resource 资源使用权限 sysdba 管理员权限
  3. 切换用户

    conn cmd/cmd;

    权限的常用类型

    1. sysDBA 数据库管理员
    2. Connect 最终用户
    3. Resource 开发人员(默认有八大权限)
      1. create sequence 创建序列
      2. create trigger 创建触发器
      3. create cluster 创建聚集
      4. create procedure 创建存储过程
      5. create type 创建自定义类型
      6. create operator 类似于函数
      7. create table 创建表
      8. create indextype 创建索引
    4. exp_full_database 可以导出数据库的权限
    5. imp_full_database 可以导入数据库的权限

4. 创建/删除/显示当前数据库的表

----创建create table 表名(列名1 类型 [约束],列名2 类型 [约束], ......);--类型一般如下--整数 int 字符串 varchar(20) 日期 date 小数 float--最后一列后没有逗号--举个例子create table userinfos(userid number(10) primary key not null,username varchar(20) not null);----删除drop table userinfos;--这里需要注意的是userinfos这个表是否有外键,如果有得话需要先删除外键----显示当前数据库的表select table_name from all_tables; --返回所有的表select table_name from user_tables; --返回当前用户的所有表(方法一)select table_name from tabs; --返回当前用户的所有表(方法一)

5. 显示/修改表结构

  1. 显示表结构

    desc userinfos; --这里userinfos为表名
  2. 修改表结构

    1. 字段名的修改

      alter table 表名 rename column 旧的字段名 to 新的字段名名;alter table userinfos rename column mybirthday to youbirth;
    2. 字段数据类型的修改

      alter table 表名 modify 字段名 数据类型;alter table userinfos modify youbirthday date;
    3. 字段的增加

      alter table 表名 add 字段名 数据类型;alter table userinfos add name varchar;

6. 增删改查(CRUD)

--增加insert into 表名 values(对应列的数据1,对应列的数据2,......);insert into userinfos(uid) values(2); --只增加id--删除delete from 表名 ;delete from 表名 where 条件;--修改某列数据update 表名 set 列名=值;update 表名 set 列名=值 where 条件;--查看表中的所有数据select * from 表名;