本系列记录并分享学习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 -u<usr> -p -h<host> -P <port> 分别指明用户名,主机名,端口号 show columns from <table…
以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做<MySQL必知必会>,看了之后对MySQL的高级用法有了一定的了解.以下内容只当读书笔记. 如有转载请注明出处~ 存储过程的使用 执行存储过程 CALL productpricing() 执行名为productpricing的存储过程 创建存储过程 CREATE PROCEDURE productpricing() BEGIN SELECT avg(prod_price) AS pricea…
1.SELECT基本语句: SELECT 字段名1,···,字段名n FROM 表名 2.检索所有字段,用"*"替换字段名,这会导致效率低下 SELECT * FROM 表名; 3.去除重复项,“DISTINCT”作用于所有字段 SELECT DISTINCT 字段名1,···,字段名n FROM 表名; 4.若检索结果过多,可限定结果的条数 SELECT 字段名 FROM 表名 WHERE ROWNUM<=n; 5.对检索出的数据进行排序,ASC为升序,也为默认排序方式:DES…
<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…
文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8.0.16) 3.1 创建数据库 3.2 创建数据库表 3.2.1开始创建数据库表 3.2.2 为各表定义主.外键约束 3.3 插入数据 1.数据库基础 SQL是一种专门用来与数据库沟通的语言,因此在学习SQL之前,我们应该对数据库和数据库技术的某些基本概念有所了解. 本节主要介绍数据库及数据库技术的…
简介 本笔记目前已包含 <SQL必知必会>中的所有章节. 我在整理笔记时所考虑的是:在笔记记完后,当我需要查找某个知识点时,不需要到书中去找,只需查看笔记即可找到相关知识点.因此在整理笔记时力求全面与简洁,能够在查找时快速找到并迅速理解. 在此基础上,笔记已整理的内容是对书中内容的提炼,包括了我在学习时所认为的书中所有有用的知识点,因此每章的笔记内容都比较多. 笔记适用对象 看过一遍<SQL必知必会>,可以查看本笔记对学习内容进行复习和梳理. 正在看<SQL必知必会>,…
这两天看了<SQL必知必会>第四版这本书,并照着书上做了不少实验,也对以前的概念有得新的认识,也发现以前自己有得地方理解错了.我采用的数据库是SQL Server2012.数据库中有一张比赛成绩表,表里有四个字段.下面变列出我新学到的知识. 这个是数据库的全部记录 1.order by   语句: select * from Scores order by name , Score desc 执行结果: ①order by在执行排序功能时,会先对排序字段按abcd这样的顺序进行,汉字的话是按拼…
SQL必知必会 第二课:检索数据 1.分页 (1).SQL Server 栗子 : select top 2 columns from tableName (2).Oracle 栗子 :select * from tableName ROWNUM <= 5 (3).Mysql 栗子:selct * from tableName limit 5 // 注意事项: 1.mysql 分页 如果要查询 第0条开始 查询10条 栗子 select * from tableName limit 10 off…
SQL必知必会(第4版) 作者:[美]Ben Forta 本书介绍了sql在不同数据库工具(Oracle.SQLite.SQL server.MySQL.MariaDB.PostgreSQL...)是怎么写不同的sql语句. 因工具的不同,对应的sql也有些变化,或者在这工具能用上,但是在另一个工具就用不上. 看这本书,就相当于纵览各个工具的写sql语句不同之处. 以下是我的一些摘抄,也许有些乱,请不要见外. 限制结果中,发现了新大陆. 在SQL Server和Access中使用SELECT时,…
简介 MySQL是一种DBMS,即它是一种数据库软件.DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS.前者用于桌面用途,通常不用于高端或更关键应用. MySQL是基于客户机——服务器的数据库.客户机——服务器应用分为两个不同的部分.服务器部分是负责所有数据访问和处理的软件.这个软件运行在称为数据服务器的计算机上.客户机是与用户打交道的软件. 使用MySQL 连接数据库 在操作系统命令提示符下输入 mysql 将出现如下提示: C:\Users\gre…
去SQL AXDB 中Query数据 Open the SQL > Connect > Select AXDB > new Query select REFID, ITEMID, REQDATE, ACTIONDATE, ACTIONDAYS, FUTURESDATE from REQTRANS where REFID = 'PRD_00005230' 查询命令的模板“Select * (or columns 中间用,隔开)”from "Table " where &…
参考书籍: BookName:<SQL必知必会(第4版)> BookName:<Mysql必知必会(第4版)> Author: Ben Forta 说明:本书学习笔记 1.了解SQL 1.1 数据库基础 1.1.1 数据库 数据库是一个以某种有组织的方式存储的数据集合,即保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件应称为数据库管理系统(DBMS). 1.1.2 表 表是一种结构化的文件,可用来存储某种特定类型的数据. 模式,关于数据库和表的布局及特性的信息. 1…
这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter password:****** 显示数据库 mysql>SHOW DATABASES; 选择数据库 mysql>USE mytest; 显示数据库中的表 mysql>SHOW TABLES; 显示表列 mysql>SHOW COLUMNS FROM tmall_user; mysql>…
本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不同的DBMS有不同的语法和函数,具体请查阅相应的文档. 参考书籍: Ben Forta.<SQL必知必会>.第4版 王姗 萨师煊.<数据库系统概论>.第5版 (不会做目录链接,蓝瘦,香菇--好像也太长了,以后改写连载--) 搭建数据库 供应商表   Vendors(vend_id, v…
写在前面的话 本文参考原博<走向面试之数据库基础:一.你必知必会的SQL语句练习-Part 1>和<走向面试之数据库基础:一.你必知必会的SQL语句练习-Part 2>进行练习,部分题目在不变化其练习目的的情况下进行了题意改动,并删除部分重复和无表的题目. 在此之前已练习完两遍并分别放在WizNote和Github,其中第二遍在Github上针对个人的sql弱项题目进行了更详细的说明(Github:MyTraining/sql),随着越来越熟练,本文作为第三次练习,部分重点题目的详…
主要是看<SQL必知必会>第四版的书,而写的一些SQL笔记,红色的是方便以后查询的sql语句,工作中主要是使用mysql数据库,所以笔记也是围绕mysql而写的. 下文调试的数据表sql语句,如果要尝试的调试的话可以复制过去运行即可 # Host: localhost (Version: ) # Date: :: # Generator: MySQL-Front 5.3 (Build 4.120) /*!40101 SET NAMES utf8 */; # # Structure for ta…
最近在复习SQL语句,看的是MySQL必知必会这本书,但是发现附录中只有表设计,没有表的具体数据.所以在学习相应的语句中体验不是很好,去网上查了数据库的内容,自己慢慢导入到了数据库中.把表放出来作为参照,SQL脚本语句放在最后,可以直接导到自己的数据库. customer表 orderitems表 orders表 productnotes表 products表 vendors表 数据库SQL脚本语句 /* Navicat Premium Data Transfer Source Server :…
简介 此笔记只包含<MySQL必知必会>中部分章节的整理笔记.这部分章节主要是一些在<SQL必知必会>中并未讲解的独属于 MySQL 数据库的一些特性,如正则表达式.全文本搜索.MySQL 中的数据类型等. 此笔记可以看作是对<MySQL必知必会>中包含而<SQL必知必会>中不包含的内容的一个补充. 目录 此笔记的所有内容都在下面的链接中: 文档:<MySQL必知必会>…
Edit Mysql 必知必会 第一章 理解SQL 什么是数据库 数据库(database) 保存有组织的数据的容器 什么是表  一组特定类型的数据的结构化清单 什么是模式  数据库和表的布局及特性的信息 什么是列  表中的一个字段,所有的表都是由一个或者多个列组成 什么是数据类型  所容许的数据类型, 每个表的每个字段都有指定的字段和类型. 什么是行  表中的一个记录 什么是主键  一列或者一组列,其值能够唯一区分表中每一行 主键的规则  主键不能重复 主键不能为空 什么是SQL  结构化查询…
一:前言 仿佛到了更进一步的时候了,每一个程序员迟早都会遇到数据存储的问题.我们拿什么来存储程序产生的数据?举例来说,用什么来存储我们的打老鼠游戏每次的成绩呢?选择如下: 1:内存中.缺点,退出游戏,数据就没了: 2:文件中.好办法!缺点,自己解析文本,把文本变成我们程序中的数据,这个解析的过程叫做协议.协议这个词听上去够恐怖吧,实际上说白了无非就是数据格式怎么样,API接口怎么样之类的东东. 3:数据库.好办法!好吧,数据库文件其实也就是硬盘上的文件,只不过数据库本身就已经为我们定义好了数据格…
SQL必知必会 总结(一) 第 1 课 了解SQL 1.数据库(database): 保存有组织的数据容器(通常是一个文件或一组文件). 2.数据库管理系统(DBMS): 数据库软件,数据库是通过 DBMS 创建和操纵的容器. 3.表(table): 某种特定类型数据的结构化清单. 4.表名: 使表名成为唯一的,实际上是数据库名和表名等的组合.也就是说,虽然在相同的数据库中不能两次使用相同的表名,但在不同的数据库中完全可以使用相同的表名. 5.列(column): 表中的一个字段.所有表都是由一…
1 首先在開始菜单中打开sql developer: 2. 创建数据库连接 点击左上角的加号 在弹出的对话框中填写username和password 測试假设成功则点击连接,记得角色要写SYSDBA 3. 执行脚本 之后把SQL必知必会的脚本拷到工作表中并点击执行脚本 首先进行表的创建 输入代码: --------------------------------------------- -- Sams Teach Yourself SQL in 10 Minutes -- http://www…
MySql必知必会 2017-12-21 意义:记录个人不注意的,或不明确的,或不知道的细节方法技巧,此书250页 登陆: mysql -u root-p -h myserver -P 9999 SHOW STATUS,用于显示广泛的服务器状态信息 DESCRIBE tableName;是SHOW COLUMNS FROM tableName;的一种快捷方式 SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句 SHOW G…