• 【MySQL笔记】SQL语言四大类语言


     SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。
     

    1. 数据查询语言DQL

    数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:
    SELECT <字段名表>
    FROM <表或视图名>
    WHERE <查询条件>
     

    2 .数据操纵语言DML

    INSERT - insert data into a table(插入)
    UPDATE - updates existing data within a table(更新)
    DELETE - deletes all records from a table, the space for the records remain(删除)
    MERGE - UPSERT operation (insert or update)
    EXPLAIN PLAN - explain access path to data
    LOCK TABLE - control concurrency(锁,用于控制并发)

    3. 数据定义语言DDL

    数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:
    CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
    |表 | 视图 | 索引 | 同义词 |
     
    命令: 
    CREATE - to create objects in the database
    ALTER - alters the structure of the database
    DROP - delete objects from the database
    TRUNCATE - remove all records from a table, including all - spaces allocated for the records are removed(不带where的delete子句)
    COMMENT - add comments to the data dictionary
    RENAME - rename an object
     
    注:
    1)DDL操作是隐性提交的!不能rollback
    2)默认情况下,windows下数据库名、表名的大小是不敏感的,而在linux下数据库名、表名的大小写是敏感的。建议尽量用小写!

    4. 数据控制语言DCL

    数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
    1) GRANT:授权。
    GRANT - gives user’s access privileges to database
    REVOKE - withdraw access privileges given with the GRANT command
     
    2) ROLLBACK [WORK] TO [SAVEPOINT]:回滚,回退到某一点。
    回滚命令使数据库状态回到上次最后提交的状态。其格式为:
    SQL>ROLLBACK;
     
    3) COMMIT [WORK]:提交。
            在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型:
     (1) 显式提交:用COMMIT命令直接完成的提交为显式提交。其格式为:SQL>COMMIT;
     (2) 隐式提交:用SQL命令间接完成的提交为隐式提交。这些命令是:
    ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
    EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
     (3) 自动提交:若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:
    SQL>SET AUTOCOMMIT ON;
     
    5、触发器,存储过程和函数
     
     
     
     
     





  • 相关阅读:
    用OpenStack界面轻松创建虚拟机的你,看得懂虚拟机启动的这24个参数么?
    Qemu,KVM,Virsh傻傻的分不清
    我是虚拟机内核我困惑?!
    不是技术也能看懂云计算,大数据,人工智能
    有了Openvswitch和Docker,终于可以做《TCP/IP详解》的实验了!
    FIO性能测试
    Python第三方打包库——PyInstaller
    Python函数和代码复用
    Python分支结构和循环结构
    Python基础随机数库——random
  • 原文地址:https://www.cnblogs.com/xuancaoyy/p/5814634.html
Copyright © 2020-2023  润新知