找到 4379 篇文章 关于 MySQL
132 次浏览
当我们尝试对表中存储的日期值进行此类运算时,MySQL 会将日期值视为数字并执行算术运算。假设我们有一个名为“example”的表,其“orderdate”列中包含日期值,则以下算术运算将阐明上述内容:mysql> select * from example; +------------+ | orderdate | +------------+ | 2017-05-25 | +------------+ 1 row in set (0.00 sec) mysql> select orderdate+10 from example; +--------------+ | orderdate+10 | +--------------+ | 20170535 | +--------------+ 1 row in set (0.00 sec) mysql> select orderdate*10 from example; ... 阅读更多
108 次浏览
借助 CREATE DATABASE db-name 命令,我们可以检查创建任何 MySQL 数据库的语句。mysql> SHOW CREATE DATABASE Sample; +----------+-------------------------------------------------------------------+ | Database | Create Database | +----------+-------------------------------------------------------------------+ | sample | CREATE DATABASE `sample` /*!40100 DEFAULT CHARACTER SET latin1 */ | +----------+-------------------------------------------------------------------+ 1 row in set (0.00 sec) 输出显示了名为 Sample 的 MySQL 数据库是如何创建的。
401 次浏览
假设我们当前使用的是 tutorial 数据库,因此它将成为后续查询的默认 MySQL 数据库。现在,借助 USE db_name 语句,我们可以将默认数据库更改为其他给定的数据库,用于后续查询。mysql> USE Sample Database changed 数据库已从 tutorial 更改为 Sample。为了验证这一点,我们可以运行以下命令:mysql> select database(); +------------+ | database() | +------------+ | sample | +------------+ 1 row in set (0.00 sec)
187 次浏览
此类计算可能导致不可预测的结果,因为当日期以 MySQL 字符串形式表示时,MySQL 会尝试对字符串执行数字运算,只取出现的第一个数字。以下示例将对此进行说明:mysql> select '2017-10-17' + 20; +-------------------+ | '2017-10-17' + 20 | +-------------------+ | 2037 | +-------------------+ 1 row in set, 1 warning (0.00 sec) mysql> select '2017-10-25' - 17; +-------------------+ | '2017-10-25' - 17 | +-------------------+ | 2000 | +-------------------+ 1 row in set, 1 warning (0.00 sec) ... 阅读更多
147 次浏览
日期之间的比较运算符将以逻辑方式工作。在以下示例中,在比较两个日期时,MySQL 只是比较两个数字或字符串:mysql> select 20171027 < 20150825; +---------------------------+ | 20171027 < 20150825 | +---------------------------+ | 0 | +---------------------------+ 1 row in set (0.00 sec) 0 输出表明上述查询的结果为 FALSE。mysql> select 20171027 > 20150825; +--------------------------+ | 20171027 > 20150825 | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec) 输出“1”表明上述查询的结果为 TRUE。
161 次浏览
在 SHOW DATABASES 语句显示的数据库列表中,有一个名为 test 的数据库。我们可以使用 test 数据库,但主要缺点是,任何在此数据库中创建的内容都可能被任何其他有权访问它的人删除/更改。为避免这种情况,我们应该获得 MySQL 管理员的许可才能使用我们自己的数据库。要获得许可,必须运行以下命令:mysql> grant all on tutorial.* to root@localhost; Query OK, 0 rows affected (0.10 sec) 在上述命令中,我正在获取 tutorial 数据库的权限。Root 是 ... 阅读更多
514 次浏览
TIME(N) 和 DATETIME(N) 值可以转换为数字形式,方法是向其添加 0(+0)。以下是此类转换的规则:转换为整数当 N 为 0 时,TIME(N) 和 DATETIME(N) 值将转换为整数。例如,CURTIME() 和 NOW() 的值可以转换为整数如下:mysql> SELECT CURTIME(), CURTIME()+0; +-----------+-------------------+ | CURTIME() | CURTIME()+0 | +-----------+-------------------+ | 19:42:54 | 194254 | +-----------+-------------------+ 1 row in set (0.04 sec) mysql> SELECT NOW(), NOW()+0; +-------------------------+----------------------------------+ | NOW() ... 阅读更多
101 次浏览
众所周知,此函数将秒数转换为 TIMESTAMP 值。因此,通过提供 0 秒作为参数,它将给出 TIMESTAMP 数据类型的起始范围。mysql> Select FROM_UNIXTIME(0); +-------------------------+ | FROM_UNIXTIME(0) | +-------------------------+ | 1970-01-01 05:30:00 | +-------------------------+ 1 row in set (0.00 sec) 现在,如果我们将参数从 0 更改为 60 秒,则时间将改变 1 分钟。mysql> Select FROM_UNIXTIME(60); +-------------------------+ | FROM_UNIXTIME(60) | +-------------------------+ | 1970-01-01 05:31:00 | +-------------------------+ 1 row in set (0.00 sec)
856 次浏览
这与 UNIX_TIMESTAMP() 正好相反,可以使用 FROM_UNIXTIME() 函数完成。例如,11576070 秒将是 TIMESTAMP ‘1970-05-15 05:04:30’。mysql> Select FROM_UNIXTIME(11576070); +--------------------------------+ | FROM_UNIXTIME(11576070) | +--------------------------------+ | 1970-05-15 05:04:30 | +--------------------------------+ 1 row in set (0.00 sec)