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

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

1. 数据查询语言DQL

数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:

SELECT <字段名表>

FROM <表或视图名>

WHERE <查询条件>

具体参看:【MySQL笔记】数据库的查询

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(锁,用于控制并发)

具体参看:【MySQL笔记】数据操纵语言DML

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下数据库名、表名的大小写是敏感的。建议尽量用小写!

具体参看:【MySQL笔记】数据定义语言DDL

4. 数据控制语言DCL

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

1) GRANT:授权。

GRANT - gives user’s access privileges to database

REVOKE - withdraw access privileges given with the GRANT command

具体参看:【MySQL笔记】用户管理

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、触发器,存储过程和函数

具体参看:【MySQL笔记】触发器,存储过程和函数

链接:http://www.cnblogs.com/study-s/p/5287529.html

来自为知笔记(Wiz)

时间: 2024-12-22 18:48:05

【MySQL笔记】SQL语言四大类语言的相关文章

初识MySQL之——SQL语言基础

写在前面 在对数据库的日常管理和应用中,不论管理员合适要访问一个数据库,几乎都要使用到SQL语言,因此,熟练掌握SQL语言以及其脚本程序的编写是非常重要的.SQL(结构化查询语言)是目前最流行的关系型数据库查询语言,也是数据库的标准语言. 数据库语言分类 数据语言按照不同的功用可以分为四大类:数据库定义语言(DDL).数据库操作语言(DML).数据库控制语言(DCL).数据库查询语言(DSL). DDL:数据库定义语言由一组SQL命令组成,用于创建和定义数据库对象.比如可以创建数据库,创建表,修

SQL Server 之T-SQL语言的学习

SQL Server 之T-SQL语言的学习 举例: 表1:学生表student 学号 姓名 性别 班级 2007001 李晓明 男 土木0701 2007002 王莉 女 信计0701 表2:成绩表score 学号 课程编号 课程名称 成绩 2007001 1949 高等数学 85 2007001 1823 C语言 98 2007002 1950 数据结构 60 1.数据定义语言 数据库语言属于第四类语言,与其他语言不同之处是: 不区分大小写 字符串全部用单引号 不区分字符和字符串 语句之间不

至于Nim和Crystal这类语言最大的用途,就是活在脑残粉的理想里(发人警醒)

lisp,haskell 有很多人在用,而且是编程经验在 10 年以上,包括 Rust 的作者.Nim 的作者.因此,你不知道有人用,那是因为你的开发阅历太低. 人工智能这个领域从来没有脱离 lisp,Prolog,MIT 等等其国家级科学实验室一直从事着 lisp 研究,这种语言之所以重要是因为其是表描述的语言,可以最容易为机器所识别和生成. Erlang 已经在 facebook 的 what's app 实践了流量的价值,并且并为商业化应用,Go 和 docker 至今未能达到商业化,并且

退役笔记一#MySQL = lambda sql : sql + &amp;#39; Source Code 4 Explain Plan &amp;#39;

Mysql 查询运行过程 大致分为4个阶段吧: 语法分析(sql_parse.cc<词法分析, 语法分析, 语义检查 >) >>sql_resolver.cc # JOIN.prepare 生成逻辑查询plan(sql_optimizer.cc) >># JOIN.optimize 生成物理查询plan(sql_planner.cc) run the explain plan(sql_executor.cc) JOIN.exec JOIN.prepare() : 子查询

《Effective C#》快速笔记(一)- C# 语言习惯

目录 一.使用属性而不是可访问的数据成员 二.使用运行时常量(readonly)而不是编译时常量(const) 三.推荐使用 is 或 as 操作符而不是强制类型转换 四.使用 Conditional 特性而不是 #if 条件编译 五.为类型提供 ToString() 方法 六.理解几个等同性判断之间的关系 七.理解 GetHashCode() 的陷阱 八.推荐使用查询语法而不是循环 九.避免在 API 中使用转换操作符 十.使用可选参数减少方法重载的数量 十一.理解短小方法的优势 一.使用属性

退役笔记一#MySQL = lambda sql : sql + &#39; Source Code 4 Explain Plan &#39;

Mysql 查询执行过程 大致分为4个阶段吧: 语法分析(sql_parse.cc<词法分析, 语法分析, 语义检查 >) >>sql_resolver.cc # JOIN.prepare 生成逻辑查询plan(sql_optimizer.cc) >># JOIN.optimize 生成物理查询plan(sql_planner.cc) run the explain plan(sql_executor.cc) 退役笔记一#MySQL = lambda sql : sql

C语言--存储类、链接和内存管理

注:此文为<C Primer Plus>一书中的部分总结,写下来方便以后参考. 用于存储程序数据的内存可用存储时期.作用域和链接来表征. 存储时期可以使静态的.自动的或者分配的.①如果是静态的,内存在程序开始执行时被分配,并行程序运行时一直存在.②如果是自动的,变量所用内存在程序执行到该变量定义所在代码块时开始分配,在退出代码块时释放.③如果是分配的内存,内存通过调用malloc()(或其他相关函数)分配,通过调用函数free()释放. 作用域决定哪一部分程序可以访问某个数据.在所有函数之外定

VHDL硬件描述语言学习笔记---VHDL语言要素

VHDL硬件描述语言学习笔记---VHDL语言要素,布布扣,bubuko.com

学习ios笔记第一天的C语言学习记录

c语言基础学习 int num1 = 15; int num2 = 5; int temp = 0; //先把num1放到temp里 temp = num1; //先把num2放到num1里 num1 = num2; //先把temp放到num2里 num2 = temp; 算数运算符 +加法运算 -减法运算符 *乘法运算符 /除法运算符  ------整型相除取整,除数不为0 %取余运算符 ------两边均为整数 ++递增运算-------运算符在前,先执行:运算符在后,后执行: --递减运