摘要: 有些程序可以让您从MySQL数据库验证用户的身份,还可以将日志文件写入MySQL表。 您可以通过将以下内容放入Apache配置文件中来更改MySQL易于读取的Apache日志记录格式: LogFormat \ "\"%h\",%{%Y%m%d%H%M%S}t,%>s,\"%b\",\"%{Conte 阅读全文
posted @ 2020-09-25 16:39 owling 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 该AUTO_INCREMENT属性可用于为新行生成唯一标识: CREATE TABLE animals ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id) ); INSERT INTO an 阅读全文
posted @ 2020-09-25 16:37 owling 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 下面的示例演示如何使用位组功能来计算用户每月访问网页的天数。 CREATE TABLE t1 (year YEAR, month INT UNSIGNED, day INT UNSIGNED); INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1, 阅读全文
posted @ 2020-09-25 16:34 owling 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一个OR使用单个密钥被很好地优化,因为是的处理 AND。 一种棘手的情况是搜索两个不同的键并结合使用OR: SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1' OR field2_index = '1' 阅读全文
posted @ 2020-09-25 16:32 owling 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 在MySQL中,InnoDB表支持检查外键约束。请参见 第15章,InnoDB存储引擎,以及 第1.7.2.3节“外键约束差异”。 仅仅连接两个表并不需要外键约束。对于除以外的存储引擎 InnoDB,可以在定义列时使用 没有实际作用的子句,该子句仅作为对您的备忘录或注释,您当前定义的该列打算引用其中 阅读全文
posted @ 2020-09-25 16:31 owling 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 您可以使用MySQL用户变量来记住结果,而不必将其存储在客户端的临时变量中。(请参见 第9.4节“用户定义的变量”。) 例如,要查找价格最高和最低的商品,您可以这样做: mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM 阅读全文
posted @ 2020-09-25 16:28 owling 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 任务:对于每件商品,找到价格最昂贵的经销商。 这个问题可以通过像这样的子查询来解决: SELECT article, dealer, price FROM shop s1 WHERE price=(SELECT MAX(s2.price) FROM shop s2 WHERE s1.article 阅读全文
posted @ 2020-09-25 16:27 owling 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 任务:查找每件商品的最高价格。 SELECT article, MAX(price) AS price FROM shop GROUP BY article ORDER BY article; + + + | article | price | + + + | 0001 | 3.99 | | 000 阅读全文
posted @ 2020-09-25 16:26 owling 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 任务:查找最昂贵商品的数量,经销商和价格。 这可以通过子查询轻松完成: SELECT article, dealer, price FROM shop WHERE price=(SELECT MAX(price) FROM shop); + + + + | article | dealer | pr 阅读全文
posted @ 2020-09-25 16:24 owling 阅读(198) 评论(0) 推荐(0) 编辑
摘要: “ 最高的商品编号是多少?” SELECT MAX(article) AS article FROM shop; + + | article | + + | 4 | + + 阅读全文
posted @ 2020-09-25 16:23 owling 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 3.6.1列的最大值3.6.2保存某列最大值的行3.6.3每组最大列数3.6.4保留某列的分组最大值的行3.6.5使用用户定义的变量3.6.6使用外键3.6.7搜索两个键3.6.8计算每天的访问量3.6.9使用AUTO_INCREMENT 以下是有关如何解决MySQL常见问题的示例。 一些示例使用该 阅读全文
posted @ 2020-09-25 16:22 owling 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 在前面的部分中,您以 交互方式使用mysql输入语句并查看结果。您也可以以批处理模式运行mysql。为此,将要运行的语句放在文件中,然后告诉 mysql从文件中读取其输入: shell> mysql < batch-file 如果您在Windows下运行mysql并在文件中包含一些导致问题的特殊字符 阅读全文
posted @ 2020-09-25 16:21 owling 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 如果您忘记了数据库或表的名称,或者给定表的结构是什么(例如,它的列称为什么),该怎么办?MySQL通过一些语句来解决此问题,这些语句提供有关它支持的数据库和表的信息。 您先前已经看过SHOW DATABASES,其中列出了服务器管理的数据库。要找出当前选择的数据库,请使用以下 DATABASE()功 阅读全文
posted @ 2020-09-25 16:20 owling 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 该pet表跟踪你有宠物。如果您想记录有关他们的其他信息,例如他们生活中的事件,例如看兽医或出生时产仔,则需要另一张桌子。该表应该是什么样的?它需要包含以下信息: 宠物的名字,以便您知道每个事件与哪种动物有关。 日期,以便您知道事件发生的时间。 描述事件的字段。 事件类型字段,如果您希望能够对事件进行 阅读全文
posted @ 2020-09-25 16:17 owling 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 数据库通常用于回答以下问题:“ 表中某种类型的数据多久出现一次?” 例如,您可能想知道您拥有多少只宠物,或者每个所有者拥有多少只宠物,或者您可能想对动物进行各种普查操作。 计算您拥有的动物总数与“ 表中有多少行 pet?”,因为每只宠物有一个记录。COUNT(*)计算行数,因此查询动物数量的查询如下 阅读全文
posted @ 2020-09-25 16:12 owling 阅读(153) 评论(0) 推荐(0) 编辑
摘要: MySQL提供标准的SQL模式匹配以及基于扩展的正则表达式的模式匹配形式,类似于Unix实用程序所使用的扩展形式,例如 vi,grep和 sed。 SQL模式匹配使您可以_ 用来匹配任何单个字符并%匹配任意数量的字符(包括零个字符)。在MySQL中,SQL模式默认情况下不区分大小写。这里显示了一些示 阅读全文
posted @ 2020-09-25 16:11 owling 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 在NULL您习惯之前,该值可能令人惊讶。从概念上讲,它NULL表示 “ 缺少的未知值 ”,并且与其他值的处理方式有所不同。 要测试NULL,请使用 IS NULL和IS NOT NULL运算符,如下所示: mysql> SELECT 1 IS NULL, 1 IS NOT NULL; + + + | 阅读全文
posted @ 2020-09-25 16:09 owling 阅读(178) 评论(0) 推荐(0) 编辑
摘要: MySQL提供了一些函数,可用于对日期执行计算,例如,计算年龄或提取部分日期。 要确定您的每只宠物几岁,请使用该 TIMESTAMPDIFF()功能。它的参数是要表示结果的单位,以及两个日期之间的差值。以下查询为每只宠物显示出生日期,当前日期和年龄(以岁为单位)。一个 别名(age)是用来制造最终输 阅读全文
posted @ 2020-09-25 16:07 owling 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 在前面的示例中,您可能已经注意到结果行的显示顺序没有特定的顺序。当以某种有意义的方式对行进行排序时,通常更容易检查查询输出。要对结果排序,请使用ORDER BY子句。 这是动物生日,按日期排序: mysql> SELECT name, birth FROM pet ORDER BY birth; + 阅读全文
posted @ 2020-09-25 16:04 owling 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 如果您不想看到表中的整个行,只需用逗号分隔命名您感兴趣的列。例如,如果您想知道动物何时出生,请选择name和 birth列: mysql> SELECT name, birth FROM pet; + + + | name | birth | + + + | Fluffy | 1993-02-04 阅读全文
posted @ 2020-09-25 16:03 owling 阅读(211) 评论(0) 推荐(0) 编辑