• day05_DDL、DML、DCL操作


    DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据。
        DML包括:  SELECT:用于检索数据;
            INSERT:用于增加数据到数据库;
            UPDATE:用于从数据库中修改现存的数据 
            DELETE:用于从数据库中删除数据。
            

    DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象。
        DDL包括:DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:
            CREATE   创建
            ALTER    修改
            DROP     删除




    DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。
        DCL包括:
            GRANT   授权
            REVOKE  回收权限
            deny    拒绝授予主体权限。防止主体通过其组或角色成员身份继承权限





    一:DCL(数据控制语言) 角色=1至多个权限的集合

    1.GRANT 赋于权限  
    常用的系统权限集合有以下三个:
    CONNECT(基本的连接)=许多个权限, RESOURCE(程序开发), DBA(数据库管理)

    create user 

    grant CONNECT,RESOURCE to user;

    常用的数据对象权限有以下六个:
    ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,
    DELETE ON 数据对象名, INSERT ON 数据对象名, ALTER ON 数据对象名

    GRANT CONNECT, RESOURCE TO 用户名;
    GRANT SELECT ON 表名 TO 用户名;
    GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;

    2.REVOKE 回收权限
    REVOKE CONNECT, RESOURCE FROM 用户名;
    REVOKE SELECT ON 表名 FROM 用户名;
    REVOKE SELECT, INSERT, DELETE ON 表名 FROM 用户名1, 用户名2;    


    例:

        1、创建用户test2,密码也是test2(记得最有以分;号结束):
            create user test2 identified by test2;
        2、给test2授权:create session;(允许用户登陆Oracle):
            grant create session to test2;
        3、给test2分配创建表的权限;
            grant create table to test2;
        4、给test2分配表空间的使用权限;
            grant unlimited tablespace to test2;
        5、收回test2用户的create session权限
           revoke create session  from test2;   
        6、收回test2用户的create table、unlimited tablespace权限
           revoke create table,unlimited tablespace  from test2;           
            
            

    二:DDL(数据定义语言)
    1、创建表:
    create table t_user
    (
          userid number(30),
          username varchar(20),
          age number(3),
          sex varchar(2)
    );    


    2、删除表:SQL> drop table t_user;
        
        
    3、修改字段长度
    create table t_test
    (
          userid varchar2(3)
    );  

    alter table t_test modify userid varchar2(10);
     
    desc t_test;        


    三:DML(数据操作语言):
        1、insert插入SQL:
            (1)insert into t_user (userid,username,age,sex)
               values (1,'老王',30,'男');
               
            (2)insert into t_user(userid,username) values (2,'马文涛');
            
            commit;

        2、delete删除SQL:
            (1)delete t_user;(如果在删除时不加条件,则把此表中的所有数据都会删除!)
            
              删除t_user表中,userid=3的记录
            (2)delete t_user where userid = 3;

        3、update更新SQL:
            (1) update t_user set username = '争伟',sex = '男';
                (更新时不加条件表中所有行记录的姓名都被修改了!)
                
                修改t_user表,其中userid=7的记录,将其username字段值设置成"文涛"
            (2)update t_user set username = '文涛' where userid = 7;



        
        4、select查询SQL:格式——>select···from···where···group by···having···order by···;
             
             查询所有的用户:
             select * from t_user;





  • 相关阅读:
    centos6 vps部署rails
    初始设置ubuntu 16.04 Vps部署rails
    自己买的书籍
    linux mint 18.2 install erlang
    Bunder: What does :require => nil in Gemfile mean?
    javascript箭头函数
    SharpGL学习笔记(一) 平台构建与Opengl的hello World
    动力学仿真引擎ODE的学习笔记,C#演示(一)
    设计模式之 面向对象的养猪厂的故事,C#演示(二)
    设计模式之 面向对象的养猪厂的故事,C#演示(一)
  • 原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/8fd6b7c07381f4ccbba76fd8712e6026.html
Copyright © 2020-2023  润新知