本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> 读书笔记汇总 建立练习环境 以CentOS7系统下的MySQL和MariaDB为例. 01--了解SQL 什么是SQL,为什么很有用 基本的数据库术语 02--检索数据 如何使用SQL的SELECT语句来检索单个表列.多个表列以及所有表列 如…
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用SQL语句 简化复杂的SQL操作 使用表的一部分而不是整个表 保护数据:可以赋予访问表的特定部分的权限 可返回与底层表不同格式和表示的数据 如果应用大量或复杂的视图,极可能影响性能,应该先进行测试再应用视图. 18.1.2 视图的规则和限制 视图名必须唯一,与其他的视图和表不同 视图数目没有限制 可…
书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MySQL MySQL - HomePage Wiki - MySQL 在CentOS7系统中安装MySQL5.7 01-确认系统版本 # uname -a Linux CentOS-7 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64…
12.1 联结 联结(join),利用SQL的SELECT在数据查询的执行中联结表. 12.1.1 关系表 关系数据库中,关系表的设计是把信息分解成多个表,一类数据一个表,各表通过某些共同的值互相关联. 这样设计的目的是为了使数据库或应用程序具备良好的可伸缩性(scale well). 可伸缩(scale),能够适应不断增加的工作量而不失败. ** 12.1.2 为什么使用联结** 使用联结(join),可以在一条SELECT语句检索出存储在多个表中的数据.简而言之,联结就是在一条SELECT语…
一.SQL语句语法 ALTER TABLE ALTER TABLE 用来更新已存在表的结构. ALTER TABLE tablename (ADD|DROP column datatype [NULL|NOT NULL] [CONSTRAINTS], ... ); COMMIT COMMIT 用来将事物写入数据库. COMMIT [TRANSACTION]; CREATE INDEX CREATE INDEX 用于在一个或多个列上创建索引. CREATE INDEX indexname ON t…
以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做<MySQL必知必会>,看了之后对MySQL的高级用法有了一定的了解.以下内容只当读书笔记. 如有转载请注明出处~ 存储过程的使用 执行存储过程 CALL productpricing() 执行名为productpricing的存储过程 创建存储过程 CREATE PROCEDURE productpricing() BEGIN SELECT avg(prod_price) AS pricea…
MySQL备忘 目录 目录 使用MySQL 检索数据 排序检索数据 过滤数据 数据过滤 用通配符进行过滤 用正则表达式进行搜索 创建计算字段 使用数据处理函数 数值处理函数 汇总数据 分组数据 使用子查询 作为计算字段使用子查询 联结表 创建高级联结 组合查询 全文本搜索 插入数据 更新和删除数据 使用MySQL mysql -u<usr> -p -h<host> -P <port> 分别指明用户名,主机名,端口号 show columns from <table…
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语句,但是实际应用中的业务逻辑往往会非常复杂,所以会用到一些比较复杂的查询,如子查询,联合查询. 1.子查询 当一个查询是另一个查询的条件时,称为子查询.但是说到子查询又不的不说它与嵌套查询两者的区别,下面一张图来说明 下面再用一条sql语句来说明他们的关系. 其中在查询中又分为嵌套子查询和相关子查询,他们之间…
上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主要有按照单个/多个列名/列位置/混合排序.用DESC关键字指定排序方向. 这一次我们来看一下如何使用SELECT语句的WHERE子句来指定搜索条件进行数据过滤,包括使用=.>.<等基础操作符的基础数据过滤:使用AND.OR.IN.NOT操作符的高级数据过滤:以及使用%._.[]通配符的数据过滤操作…
上个笔记中介绍了一些关于数据库.SQL的基础知识,并且创建我们后续练习所需的数据库.表以及表之间的关系,从本文开始进入我们的正题:SQL语句的练习. 文章目录 1.检索数据(SELECT语句) 1.1 检索列 1.2 检索不同的值(DISTINCT) 1.3 限制结果(LIMIT.OFFSET)(DBMS:MySQL) 1.4 使用注释(--.#./* */) 2.排序检索数据(ORDER BY子句) 2.1 按列名排序数据 2.2 按列位置排序 2.3 指定排序方向 正如上个笔记中所说,SQL…