
Mysql必知必会笔记
N03RR0R
111
展开
-
11.子查询(4.1及以上)
利用子查询进行过滤本书所有章中使用的数据库表都是关系表(关于每个表及关系的描述,请参阅附录B)。订单存储在两个表中。对于包含订单号、客户ID、 订单日期的每个订单,orders表存储一行。各订单的物品存储在相关的 orderitems表中。orders表不存储客户信息。它只存储客户的ID。实际的客户信息存储在customers表中假如需要列出订购物品TNT2的所有客户,应该怎样检索?下 面列出具体的步骤。(1) 检索包含物品TNT2的所有订单的编号。(2) 检索具有前一步骤列出的订单编号的所原创 2021-05-26 01:03:46 · 167 阅读 · 1 评论 -
10.分组数据
这涉及两个新SELECT语句子句,分别是GROUP BY子句和HAVING子句。比如语句SELECT COUNT(*) AS num_prods FROM products WHERE vend_id = 1003;这个例子返回供应商1003提供的产品数目。但是要想得到每个供应商的产品数目怎么办,或者只返回提供10个以上的产品数怎么办?创建分组把数据分为多个逻辑组,以便对每个组进行聚集计算。因为使用了GROUP BY,就不必指定要计算和估值的每个组了。系统会自动完成。GROUP原创 2021-05-26 01:02:02 · 186 阅读 · 0 评论 -
9.汇总数据
聚集函数运行在行组上,计算和返回单个值的函数。AVG()函数AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。SELECT AVG(prod_price) AS avg_price FROM products;返回值avg_ price包含products表中所有产品的平均价格。也可以返回特定行或列的平均值:SELECT AVG(prod_price) AS avg_price FROM p原创 2021-05-26 01:00:20 · 71 阅读 · 0 评论 -
8.使用数据处理函数
相对来说,多数SQL语句是可移植的,但是函数的可移植性却不强,几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异还很大。所以为了代码的可移植性有些时候不赞成使用特殊实现的功能,所以如果决定使用函数,应该做好代码注释,以便以后我或者其他人能确切知道SQL代码的含义大多数SQL实现支持以下类型的函数。1 用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数。2 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算) 的数值函数。3 用于处理日期和时间值并.原创 2021-05-25 02:08:57 · 129 阅读 · 0 评论 -
7.创建计算字段
拼接:将值联结到一起构成单个值,使用Concat()函数其他DBMS多使用+或者||来实现拼接,MySQL则使用Concat()函数,在不同DBMS之间进行语句转换时要注意函数的参数为一个或者多个指定的串还可以调用删除数据右侧空格的RTrim()函数来整理数据:除此之外还支持LTrim()去掉左边空格和Trim()去掉串左右两边的空格。别名:使用AS关键字来给新列起一个名字现在给新的列起了一个名字:vend_title,现在任何客户机应用都可以按名引用这个列,就像它是一个原创 2021-05-25 02:06:49 · 90 阅读 · 0 评论 -
6.正则表达式进行搜索
SELECT 列名1,列名2 FROM 表 WHERE 列名1 REGEXP '1000' ;(包含文本1000的所有的行)SELECT 列名1,列名2 FROM 表 WHERE 列名1 REGEXP '.000' ;(.表示匹配任意一个字符)为区分大小写可以使用BINARY关键字如:WHERE prod_name REGEXP BINARY 'JetPack .000'like匹配整个值,而REGEXP匹配值中所包含的。OR匹配SELECT 列名1,列名2 FROM 表 WHER.原创 2021-05-25 02:05:33 · 280 阅读 · 0 评论 -
5.通配符过滤
LIKE操作符%通配符SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘jet%’;百分号表示任何字符出现的任意次数,这句话的含义是找出以词jet起头的元素。也可以位于模式的两端SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘%jet%’;(表示匹配任意位置包含文本et的值)也可以在中间SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘s%e’;(匹配以s开头以e结尾的值)%代表在搜索模式中给定位原创 2021-05-25 01:59:38 · 105 阅读 · 0 评论 -
4.过滤数据
相等过滤SELECT 列名 FROM 表名 WHERE 列名 = 值;(ORDER BY 语句在WHERE之后)范围过滤SELECT 列名 FROM 表名 WHERE 列名 < 值;不匹配检查SELECT 列名 FROM 表名 WHERE 列名 <> 值;(值为字符串的值时则需要引号,数值则不需要)范围检查SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2;检查是否为NULLSELECT 列名 FROM 表名 WHE原创 2021-05-25 01:55:45 · 126 阅读 · 0 评论 -
3.排序检索数据
以顺序排序SELECT 列名 FROM 表名 ORDER BY 列名;(用非检索的列排序数据也是完全合法的)按多个列排序SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1,列名2;(排序顺序按规定顺序进行,也就是说只有在多个行拥有相同的列名1的时候才会按列名2进行排序)进行降序排序SELECT 列名 FROM 表名 ORDER BY 列名 DESC;对多个列进行排序SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1 DESC原创 2021-05-25 01:50:30 · 197 阅读 · 0 评论 -
2.SELECT语句
检索某个列SELECT 列名 FROM 表名;检索多个列SELECT 列名1,列名2,列名3 FROM 表名;返回所有列SELECT * FROM 表名;(*的好处可以检索出未知列)检索出有不同值的列SELECT DISTINCT 列名 FROM 表名;(多个列时DISTINCT应用于所有列而不仅是前置它的列)限制结果SELECT 列名 FROM 表名 LIMIT 5;(返回结果不多于5行)SELECT 列名 FROM 表名 LIMIT 5,5;(返回结果为从行5开始原创 2021-05-25 01:49:49 · 216 阅读 · 0 评论 -
第三章 使用MYSQL 1.SHOW用法
1.SHOW用法选择数据库USE 数据库名字;-Database changed显示表SHOW DATABASES;显示表的列表SHOW TABLES;显示表列SHOW COLUMNS FROM 列表名; //也可以写为DESCRIBE 列表名;其他SHOWSHOW STATUS,用于显示广泛的服务器状态信息;SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句;SHOW GRANTS原创 2021-05-25 01:48:52 · 193 阅读 · 0 评论 -
第二章 什么是MYSQL
2.1什么是MYSQL数据的所有存储、 检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统) 完成的。MySQL是一种DBMS,即它是一种数据库软件。2.1.1客户机-服务器软件DBMS可分为两类:一类为基于共享文件系统的DBMS,另一类为基于客户机—服务器的DBMS。前者(包括诸如Microsoft Access和FileMaker)用于桌面用途,通常不用于高端或更关键的应用。MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机—服务...原创 2021-05-25 02:02:26 · 162 阅读 · 0 评论 -
第一章 了解MYSQL
目录1.1数据库基础1.1.1什么是数据库1.1.2表1.1.3列和数据类型1.1.4行1.1.5主键1.2什么是SQL1.1数据库基础1.1.1什么是数据库数据库可以想象为一个文件柜。数据库保存用组织的数据的容器(通常是一个文件或一组文件)1.1.2表在文件柜中创建文件,然后将相关资料放进特定的文件中,这种文件称为表,它是一种结构化的文件,来储存某种特定类型的数据,可以保存比如顾客清单、产品目录。每个表都有自己的名字用来标识自己是独一无二的,此名字.原创 2021-05-23 20:25:10 · 82 阅读 · 0 评论