MySQL必知必会
文章平均质量分 50
果冻眼企鹅
编程小能手
展开
-
MySQL联结表
在联结两个表时,你实际上做的是将第一个表中的每一行与第二个表中的每一行配对。没有WHERE子句,第一个表中的每行将与第二个表中的每行配对,得到的就是两张表的笛卡尔积(检索出的行的数目将是第一个表中的行数乘以第二给表中的行数)。要注意的是,WHERE子句中的两个匹配列使用了完全限定名。所以我们在进行联表查询时要保证所有联结都有WHERE子句,并且同时保证WHERE子句的正确性。,外键是某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。联结的创建很简单,规定要联结的所有表以及它们如何关联即可。原创 2024-09-16 11:02:23 · 64 阅读 · 0 评论 -
使用子查询
涉及外部查询的子查询时一定要注意,使用完全限定名,如在对orders表进行子查询的子句里用到了customers表中的cust_id字段就是orders涉及外部查询。上述步骤都可以作为一个单独的SQL查询来执行,当然我们也可以把一条SELECT语句返回的结果用于另一条SELECT语句的WHERE子句。为了执行该操作,应如下操作。子查询即嵌套在其他查询中的查询。2.对于检索出的每个客户,统计其在orders表中的订单数目。2.检索具有1检索出的商品编号的所有客户ID。3.检索2返回的所有客户ID的客户信息。原创 2024-09-15 11:08:12 · 84 阅读 · 0 评论 -
MySQL五大聚集函数
MAX()可以找出最大的数值和时间,如果是文本数据,那么MAX()找出的就是按照文本数据列排序后的最后一行。1.使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。2.使用COUNT(column)对特定的列中具有值的行进行计数,忽略NULL值。count()函数可用来计数,用来确定表中行的数目或符合特定条件的行的数目。AVG()可以返回所有列的平均值,也可以返回特定列或行的平均值。MAX() 函数忽略值为NULL的行。MAX()返回指定列中的最大值。原创 2024-09-09 00:51:18 · 238 阅读 · 0 评论 -
使用MySQL数据处理函数
如果你要的是日期,请使用Date()函数。相应的也存在一个Time()函数,当你只想要时间时应该使用它。如果你想检索九月出生的所有用户要怎么写呢?:可以检索出实际值不同,但发音相近的数据。:用来去除列值右边的空格。一般在项目中不去频繁使用。:用来将文本转化为大写。原创 2024-09-07 00:41:37 · 139 阅读 · 0 评论 -
SQL语句中通配符%的使用注意事项
总之,通配符的功能十分强大,但是它的搜索是及其耗时的,因此要慎用。如果其他操作符能够完成同样的功能,那么应该使用其他操作符。在搜索子句使用通配符,一定要使用LIKE操作符。LIKE会指示SQL用搜索模式利用通配符匹配而不是直接相等匹配。与%能匹配任意个字符不一样,下划线(_)通配符总是匹配一个字符,不能多也不能少。如果把通配符置于搜索模式的开始处,搜索起来是最慢的,要注意避免。也就是说,%代表搜索模式中给定位置的0个,1个或多个字符。即使时 ’ % ’ 也不能匹配到搜索值为NULL的行。原创 2024-09-06 20:30:17 · 318 阅读 · 0 评论 -
WHERE子句进行过滤数据
上面这个查询语句我们加入了order by,从结果上看,要根据那个字段进行排序,只要满足该字段是表的列名就行了,也不用跟检索字段保持一致。有时我们仔细观察where子句就会发现,有的值会被单引号’ '给括起来,而有的值没有括。“单引号是用来限定字符串的,如果将值与串类型进行比较,就要用限定单引号,用来和数值列进行比较就不用引号。在上述例子中我们不难发现,过滤条件和你需要的检索字段不是必须要一样的。我们用到的判断某个字段是不是NULL的子句,是IS NULL。两种操作符得到的结果是一样的。原创 2024-09-05 17:41:46 · 160 阅读 · 0 评论 -
order by排序检索
有时候对某一列我们需要按不止一个列进行排序,例如,对于学生表,我们希望先按照姓排序,再按照名排序。只要我们同时指定姓和名,并把这两个列用逗号隔开就行了。注意:order by 语句应该保证它在FROM子句之后,如果sql使用了limit关键词,limit则必须位于order by之后。数据排序默认为升序(ASC)排列,我们还可以使用DESC关键词来进行降序排列。如果要在多个列上进行降序排列,我们必须对每个列指定关键词DESC。需要注意的是,在MySQL中我们使用非选择列进行排序也是合法的。原创 2024-09-05 14:57:02 · 520 阅读 · 0 评论 -
SELECT语句
也就时对行进行去重,使用 ’ DISTINCT ‘关键词,’ DISTINCT '关键字它必须放在列名前面。在选择多个列时,要在列名后加上逗号来加以间隔区分,但是最后一个列名后面一定不要加上逗号,不然会报错。注意在MySQL4.1及以前的版本中,对于想数据库名称,列名,表名这些标识符是默认区分大小写的。行0:检索出来的第一行为行0而不是行1,因此,limit1,1返回的是第二行而不是第一行。在行数不够时,MySQL将只返回它能返回的那么多行。使用通配符’ * '来检索所有列。原创 2024-09-05 11:55:31 · 119 阅读 · 0 评论 -
MySQL的库表列
SHOW CREATE TABLE,分别用来显示创建特定数据库或表的SQL语句。此处可能你会发现我只选择了连接名,而没有选择数据库名。那为什么输入show tables会显示easypan中的表名呢?不要忘记我们一开始就输入过use easypan,表示要使用easypan中的数据了。MySQL支持用Describe作为show columns from的一种快捷方式。SHOW ERRORS和SHOW WARNINGS;用来显示广泛的服务器状态信息。这也是为什么可视化工具能够显示可用的数据库。原创 2024-09-05 01:01:56 · 169 阅读 · 0 评论