找到 4379 篇文章 关于 MySQL
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')) ; Query OK, 0 ... 阅读更多
137 次浏览
SELECT 命令用于从 MySQL 数据库中获取数据。您可以在 mysql> 提示符下以及在任何脚本(如 PHP)中使用此命令。语法以下是用于从 MySQL 表中获取数据的 SELECT 命令的通用语法:SELECT field1, field2, ...fieldN FROM table_name1, table_name2... [WHERE Clause] [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'; Query OK, 1 row affected (0.14 sec) Records: 1 Duplicates: 0 Warnings: 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)以上查询显示了如何在 MySQL 表查询中将 INTERVAL 关键字与 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'); Query OK, 1 row affected (0.04 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> Select * from employee; +------+--------------+ | id | emp_name | +------+--------------+ | 2 | Gaurav Kumar | +------+--------------+ 1 row in set (0.00 sec)
6K+ 次浏览
在插入新行的情况下,我们可以使用条件插入,即在 INSERT INTO 命令中使用 WHERE 子句。这可以通过以下方式实现:- 使用虚拟表在这种情况下,我们根据某些条件从虚拟表中插入值。语法如下:INSERT INTO table_name(column1, column2, column3, …) Select value1, value2, value3, … From dual WHERE [条件谓词];示例mysql> Create table testing(id int, item_name varchar(10)); Query OK, 0 rows affected (0.15 sec) mysql> Insert into testing (id, item_name)Select 1, 'Book' From Dual Where 1=1; Query OK, 1 row affected (0.11 sec) ... 阅读更多