阅读SQL基础教程】的更多相关文章

这两天阅读SQL基础教程,目标是把SQL语法吃透,会写一些笔记.…
写在前面:本文主要注重 SQL 的理论.主流覆盖的功能范围及其基本语法/用法.至于详细的 SQL 语法/用法,因为每家 DBMS 都有些许不同,我会在以后专门介绍某款DBMS(例如 PostgreSQL)的时候写到. 第 1 章 DBMS 与 SQL 1.DBMS 是什么 ? 数据库管理系统(Database Management System, DBMS) 是用来管理数据库的计算机系统. 本文采用 PostgreSQL 为 DBMS. 2.为什么要用 DBMS ? 问:为什么不用 文本文件 或…
[SQL基础教程] 5-1视图 视图和表 从SQL角度看视图就是一张表 视图与表的差别 表保存了实际的数据,视图保存的是SELECT语句: 视图的优点 节省存储空间: 将常用的Select 语句保存成视图. 视图中的数据会随着原表中数据变化而更新. 创建视图 CREATE VIEW 视图名称(<视图列名1>,<视图列名2>,<视图列名3>...) AS SELECT语句 视图就是保存好的SELECT语句 基于视图的SELECT查询语句 SELECT a,b FROM v…
[SQL基础教程] 4 数据更新 4-4 事务 事务 需要在同一处理单元中执行的一系列更新处理的集合 创建事务 事务开始语句; DML语句1; DML语句2; . . . 事务结束语句; 事务开始语句 // SQL Server/ PostgreSQL BEGIN TRANSACTION // MySQL START TRANSACTION 事务结束语句 COMMIT ROLLBACK 回滚数据库到事务开始状态. 事务处理何时开始和结束 几乎所有的数据库产品都不需要开始指令. 自动提交模式 非自…
[SQL基础教程] C4 数据更新 4-3 数据的更新(UPDATE) UPDATE UPDATE <表名> SET <列名> = <表达式>; UPDATE <表名> SET <列名> = <表达式> WHERE <条件>; PS : 注意SET子句和WHERE子句的顺序. 用NULL清空数据 用UPDATE清空数据,仅限于非NOT NULL约束的列. 多列UPDATE 语句 UPDATE <表名> SET…
[SQL基础教程] C4 数据更新 4-2 数据删除(DELETE) DROP TABLE / DELETE DROP TABLE - 完全删除表 DELETE - 仅删除数据,保留表容器 DELETE DELETE FROM <表名> DELETE FROM <表名> WHERE 条件…
[SQL基础教程] C4 数据更新 4-1 数据的插入(INSERT) INSERT INSERT INTO <表名>(列1,列2...) VALUES(值1,值2...); 清单 用()包含内容 (col_1,col_2...) /*列清单*/ (value_1,value_2) /*值清单*/ 多行INSERT INSERT INTO table VALUES (value_1,value_2,..), (value_3,value_4...), ...; 列清单省略 /*全列INSERT…
[SQL基础教程] 3-4 对查询结果进行排序/ORDER BY ORDER BY SELECT <列名1>,<列名2>,<列名2>... FROM ORDER BY <排序基准列1>,<排序基准列2>...; 法则3-15 ORDER BY子句通常写在select子句末尾 DESC/ASC ... ORDER BY col DESC; /*降序排列*/ ... ORDER BY col ASC; /*升序排列*/ 指定多个排序键 先按col_1…
[SQL基础教程] 3-3 HAVING HAVING子句 SELECT col_1,col_2 FROM table GROUP BY col_1,col_2 HAVING col_1 = '2'; 法则 3-13 HAVING子句在GROUP BY子句之后 法则 3-14 HAVING 子句中元素的约束: 常数 聚合函数 聚合键 法则 3-15 WHERE 指定所选行的条件 HAVING 指定组的条件.…
[SQL基础教程] 3-2 对表进行分组 GROUP BY SELECT <列名1>,<列名2>,... FROM <表名> GROUP BY <列名1>,<列名2>,...; 聚合键 聚合键 GROUP BY 中指定的列称为聚合键或者分组列. NULL元素的行会划分为一组,以空行表示. 理解 GROUP BY 将指定列的含元素作为KEY进行分组,同值的行数据划分为一组 语句顺序与执行顺序 子语句顺序 SELECT -> FROM ->…