找到关于数据库的6705 篇文章
484 次浏览
我们可以通过以下方法将“半年间隔”添加到日期中:-(A) 通过添加 6 个月的间隔mysql> Select '2017-06-20' + INTERVAL 6 Month AS 'After Half Year Interval'; +--------------------------+ | After Half Year Interval | +--------------------------+ | 2017-12-20 | +--------------------------+ 1 row in set (0.00 sec)(B) 通过添加 2 个季度的间隔mysql> Select '2017-06-20' + INTERVAL 2 Quarter AS 'After Half Year Interval'; +--------------------------+ | After Half Year Interval | +--------------------------+ | 2017-12-20 | +--------------------------+ 1 row in set (0.00 sec)上述查询将使用 Quarter 关键字在日期中添加半年间隔。
64 次浏览
我们可以创建一个函数,该函数接受日期值作为其参数并返回年份、月份和日期的差值,如下所示mysql> CREATE FUNCTION date_difference(Date1 DATE, date2 DATE) RETURNS VARCHAR(30) -> RETURN CONCAT( -> @years := TIMESTAMPDIFF(YEAR, date1, date2), IF (@years = 1, ' year, ', ' years, '), -> @months := TIMESTAMPDIFF(MONTH, DATE_ADD(date1, INTERVAL @years YEAR), date2), IF (@months = 1, ' month, ', ' months, '), -> @days := TIMESTAMPDIFF(DAY, DATE_ADD(date1, INTERVAL @years * 12 + @months MONTH), date2), IF (@days = 1, ' day', ' days')) ; 查询成功,0 ... 阅读更多
137 次浏览
SELECT 命令用于从 MySQL 数据库中提取数据。您可以在 mysql> 提示符下以及在任何脚本(如 PHP)中使用此命令。语法以下是 SELECT 命令从 MySQL 表中提取数据的通用语法:SELECT field1, field2, ...fieldN FROM table_name1, table_name2... [WHERE 子句] [OFFSET M ][LIMIT N]关于 SELECT 语句的一些重要要点如下:我们可以使用一个或多个以逗号分隔的表,使用 WHERE 子句包含各种条件,但 WHERE 子句是 SELECT 命令的可选部分。我们可以提取一个或多个字段在 ... 阅读更多
1K+ 次浏览
众所周知,DATEDIFF() 函数用于获取两个日期之间相差的天数。因此,它很可能也返回负值。mysql> select * from differ; +------------+-------------+ | OrderDate | WorkingDate | +------------+-------------+ | 2017-10-22 | 2017-10-29 | | 2017-10-25 | 2017-10-30 | | 2017-10-25 | 2017-11-30 | +------------+-------------+ 3 rows in set (0.00 sec)上述查询将返回“differ”表中的值。现在,如果有人想获取 OrderDate 和 WorkingDate 之间的差值,则输出将为负值,如下所示:mysql> Select DATEDIFF(OrderDate, WorkingDate)AS 'DIFFERENCE IN DAYS' ... 阅读更多
170 次浏览
众所周知,我们可以通过 CTAS 脚本复制现有表的数据和结构。WHERE 子句的使用在下面的示例中进行了演示mysql> Create table EMP_BACKUP2 AS SELECT * from EMPLOYEE WHERE id = 300 AND Name = 'Mohan'; 查询成功,受影响的行数:1 (0.14 秒) 记录:1 重复项:0 警告:0 mysql> Select * from EMP_BACKUP2; +------+-------+ | Id | Name | +------+-------+ | 300 | Mohan | +------+-------+ 1 row in set (0.00 sec)在上面的示例中,我们根据某些条件从“Employee”表创建了一个名为 EMP_BACKUP1 的表。MySQL 基于这些条件仅创建包含一行数据的表。
79 次浏览
通过以下示例,我们可以了解如何将 MySQL INTERVAL 关键字与 EXTRACT() 函数一起使用:mysql> Select StudentName, RegDate, EXTRACT(YEAR from RegDate+INTERVAL 2 year) AS 'Two Year Interval' from testing where StudentName = 'Gaurav'; +-------------+---------------------+-------------------+ | StudentName | RegDate | Two Year Interval | +-------------+---------------------+-------------------+ | Gaurav | 2017-10-29 08:48:33 | 2019 | +-------------+---------------------+-------------------+ 1 row in set (0.02 sec)上述查询显示了如何将 INTERVAL 关键字与 MySQL 表查询中使用的 EXTRACT() 函数一起使用。mysql> Select EXTRACT(Year from '2017-10-22 ... 阅读更多
512 次浏览
CTAS 即“Create Table AS Select”脚本用于根据现有表创建表。它复制表结构以及现有表中的数据。考虑以下示例,在这个示例中,我们从已存在的名为“Employee”的表创建了一个名为 EMP_BACKUP 的表mysql> Select * from Employee; +------+--------+ | Id | Name | +------+--------+ | 100 | Ram | | 200 | Gaurav | | 300 | Mohan | +------+--------+ 3 rows in set (0.00 sec)上述查询显示“Employee”表中的数据,下面的查询... 阅读更多
71 次浏览
在行中插入值时,我们可以使用任何表达式、函数等的自计算输出的值。以下是一个演示它的示例:mysql> Insert into employee(id, emp_name)Select 1+1, Concat_ws(' ','Gaurav', 'Kumar'); 查询成功,受影响的行数:1 (0.04 秒) 记录:1 重复项:0 警告:0 mysql> Select * from employee; +------+--------------+ | id | emp_name | +------+--------------+ | 2 | Gaurav Kumar | +------+--------------+ 1 row in set (0.00 sec)
6K+ 次浏览
在插入新行时,我们可以使用条件插入,即在 INSERT INTO 命令中使用 WHERE 子句。这可以通过以下几种方式实现:使用虚拟表在这种情况下,我们根据某些条件从虚拟表中插入值。语法如下:INSERT INTO 表名(列1, 列2, 列3, …) SELECT 值1, 值2, 值3, … FROM dual WHERE [条件谓词];示例mysql> 创建表 testing(id int, item_name varchar(10)); Query OK, 0 rows affected (0.15 sec) mysql> 将 1, 'Book' 插入 testing (id, item_name) SELECT 1, 'Book' FROM Dual WHERE 1=1; Query OK, 1 row affected (0.11 sec) ... 阅读更多