
Mysql必知必会笔记
N03RR0R
111
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
11.子查询(4.1及以上)
利用子查询进行过滤 本书所有章中使用的数据库表都是关系表(关于每个表及关系的描述,请参阅附录B)。订单存储在两个表中。对于包含订单号、客户ID、 订单日期的每个订单,orders表存储一行。各订单的物品存储在相关的 orderitems表中。orders表不存储客户信息。它只存储客户的ID。实际的客户信息存储在customers表中 假如需要列出订购物品TNT2的所有客户,应该怎样检索?下 面列出具体的步骤。 (1) 检索包含物品TNT2的所有订单的编号。 (2) 检索具有前一步骤列出的订单编号的所原创 2021-05-26 01:03:46 · 174 阅读 · 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 · 191 阅读 · 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 · 82 阅读 · 0 评论 -
8.使用数据处理函数
相对来说,多数SQL语句是可移植的,但是函数的可移植性却不强,几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异还很大。所以为了代码的可移植性有些时候不赞成使用特殊实现的功能,所以如果决定使用函数,应该做好代码注释,以便以后我或者其他人能确切知道SQL代码的含义 大多数SQL实现支持以下类型的函数。 1 用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数。 2 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算) 的数值函数。 3 用于处理日期和时间值并.原创 2021-05-25 02:08:57 · 145 阅读 · 0 评论 -
7.创建计算字段
拼接:将值联结到一起构成单个值,使用Concat()函数 其他DBMS多使用+或者||来实现拼接,MySQL则使用Concat()函数,在不同DBMS之间进行语句转换时要注意 函数的参数为一个或者多个指定的串 还可以调用删除数据右侧空格的RTrim()函数来整理数据: 除此之外还支持LTrim()去掉左边空格和Trim()去掉串左右两边的空格。 别名:使用AS关键字来给新列起一个名字 现在给新的列起了一个名字:vend_title,现在任何客户机应用都可以按名引用这个列,就像它是一个原创 2021-05-25 02:06:49 · 96 阅读 · 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 · 299 阅读 · 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 · 111 阅读 · 0 评论 -
4.过滤数据
相等过滤 SELECT 列名 FROM 表名 WHERE 列名 = 值;(ORDER BY 语句在WHERE之后) 范围过滤 SELECT 列名 FROM 表名 WHERE 列名 < 值; 不匹配检查 SELECT 列名 FROM 表名 WHERE 列名 <> 值;(值为字符串的值时则需要引号,数值则不需要) 范围检查 SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2; 检查是否为NULL SELECT 列名 FROM 表名 WHE原创 2021-05-25 01:55:45 · 137 阅读 · 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 · 215 阅读 · 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 · 225 阅读 · 0 评论 -
第三章 使用MYSQL 1.SHOW用法
1.SHOW用法 选择数据库 USE 数据库名字; -Database changed 显示表 SHOW DATABASES; 显示表的列表 SHOW TABLES; 显示表列 SHOW COLUMNS FROM 列表名; //也可以写为DESCRIBE 列表名; 其他SHOW SHOW STATUS,用于显示广泛的服务器状态信息; SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句; SHOW GRANTS原创 2021-05-25 01:48:52 · 200 阅读 · 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 · 170 阅读 · 0 评论 -
第一章 了解MYSQL
目录 1.1数据库基础 1.1.1什么是数据库 1.1.2表 1.1.3列和数据类型 1.1.4行 1.1.5主键 1.2什么是SQL 1.1数据库基础 1.1.1什么是数据库 数据库可以想象为一个文件柜。数据库保存用组织的数据的容器(通常是一个文件或一组文件) 1.1.2表 在文件柜中创建文件,然后将相关资料放进特定的文件中,这种文件称为表,它是一种结构化的文件,来储存某种特定类型的数据,可以保存比如顾客清单、产品目录。 每个表都有自己的名字用来标识自己是独一无二的,此名字.原创 2021-05-23 20:25:10 · 105 阅读 · 0 评论