找到 6705 篇文章 关于数据库
392 次浏览
要使用另一个 MySQL 表中的值更新一个 MySQL 表中的值,我们需要在 UPDATE 语句的 SET 子句中使用子查询作为表达式。示例在此示例中,我们有两个表“student”和“info”。我们将使用“info”表中“remarks”列的值更新“student”表中“grade”列的值。mysql> select * from student; +----+---------+-------+ | Id | Name | grade | +----+---------+-------+ | 1 | Rahul | NULL | | 2 | Gaurav | NULL | | 3 | Raman | NULL | | ... 阅读更多
79 次浏览
众所周知,MySQL DATE 数据类型的默认格式为“YYYY-MM-DD”,在这种格式下,无法存储时间值。但是,如果我们仍然在 DATE 数据类型的列中存储日期和时间值,则 MySQL 将显示警告并仅在该列中存储日期值。以下示例将说明这一点-示例mysql> Create table date_time_test(date DATE); Query OK, 0 rows affected (0.44 sec) mysql> Insert into date_time_test(date) values(‘2017-09-09 09:34:21’); Query OK, 1 row affected, 1 warning (0.03 sec) mysql> Select * from date_time_test; +------------+ | ... 阅读更多
124 次浏览
如果该行与 UPDATE 语句中的 WHERE 子句匹配,则可以使用该行的现有值在 SET 子句中提供新值。以下示例演示了这一点。示例假设我们有一个名为“tender”的表,如下所示-mysql> Select * from tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 200 | ABC | 1000 | | 300 | ABD | 6000 | | 301 | ABE | 7000 | | 302 | ABF ... 阅读更多
2K+ 次浏览
MySQL NOW() 和 SYSDATE() 函数返回当前时间戳值。但它们两者输出都取决于执行时间。这造成了它们之间很大的区别。NOW() 函数返回一个稳定时间,表示特定语句开始执行的时间。相反,SYSDATE() 函数返回语句执行时的准确时间。以下示例将显示这两个函数之间的区别-mysql> Select NOW(), SLEEP(5), NOW(); +---------------------+----------+---------------------+ | NOW() | SLEEP(5) | NOW() | +---------------------+----------+---------------------+ | 2017-10-31 09:57:36 | ... 阅读更多
212 次浏览
UPDATE 语句的 SET 子句中列的顺序很重要,因为 MySQL 为我们在表达式中使用的列名提供更新后的值。是的,它会对 MySQL 返回的结果集产生很大影响。以下是一个示例来说明-示例在此示例中,我们有一个名为“tender”的表。首先,我们将使用“tender_id”作为 SET 子句中的第一个列,“rate”作为第二个列编写 UPDATE 语句,然后我们将使用“rate”作为第一个列,“tender_id”作为第二个列在“tender”表上编写 UPDATE 语句。mysql> ... 阅读更多
270 次浏览
以下是一个 MySQL 函数,它计算两个日期之间以年、月、日、时、分和秒为单位的持续时间。mysql> DROP FUNCTION IF EXISTS Duration; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> DROP FUNCTION IF EXISTS Label123; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> DELIMITER // mysql> CREATE FUNCTION Duration( dtd1 datetime, dtd2 datetime ) RETURNS CHAR(128) -> BEGIN -> DECLARE yyr, mon, mmth, dy, ddy, hhr, m1, ssc, t1 BIGINT; -> DECLARE dtmp DATETIME; -> DECLARE t0 TIMESTAMP; -> SET yyr = TIMESTAMPDIFF(YEAR, dtd1, dtd2); ... 阅读更多
423 次浏览
如果指定的格式字符串和日期字符串不匹配,则 MySQL 将返回 NULL 值作为输出以及一个警告。以下是一个示例来理解这一点-mysql> Select STR_TO_DATE('20172810', '%Y, %d%m'); +------------------------------------+ | STR_TO_DATE('20172810', '%Y, %d%m') | +------------------------------------+ | NULL | +------------------------------------+ 1 row in set, 1 warning (0.00 sec)以上查询返回 NULL 作为输出,因为格式字符串在 %Y 后有一个逗号 (,),但日期字符串在 2017 后没有逗号。mysql> Show Warnings\G ... 阅读更多
170 次浏览
如果我们将无效字符串作为参数传递给 STR_TO_DATE() 函数,则 MySQL 将返回 NULL 作为输出以及一个警告。以下是一个示例来理解这一点-mysql> Select STR_TO_DATE('20173210', '%Y%d%m'); +-----------------------------------+ | STR_TO_DATE('20173210', '%Y%d%m') | +-----------------------------------+ | NULL | +-----------------------------------+ 1 row in set, 1 warning (0.00 sec)在以上查询中,由于日期值错误 (32),字符串值无效。因此,它返回 NULL 值和一个警告,如下所示。mysql> Show warnings\G *************************** 1. row *************************** ... 阅读更多
1K+ 次浏览
在创建表时,如果任何列都定义了默认值,则通过在 INSERT 语句中使用关键字“DEFAULT”,我们可以为该列取默认值。例如,我们创建了一个名为“employee”的表,其中“DOJ”列的默认值如下-mysql> Create table employee(id int, name varchar(20), doj date DEFAULT '2005-01-01'); Query OK, 0 rows affected (0.09 sec) mysql> Insert into employee(id, name, doj) values(1, ’Aarav’, DEFAULT); Query OK, 1 row affected (0.03 sec) mysql> select * from employee; +------+------------+---------------+ | id | name ... 阅读更多
275 次浏览
STR_TO_DATE() 函数用于将字符串值转换为日期时间值,并根据特定的格式字符串进行转换。字符串值和格式字符串都必须作为参数传递给函数。以下是 STR_TO_DATE() 函数的语法。STR_TO_DATE(string, format)其中 string 是需要转换为日期时间值的字符串值,format 是指定的日期格式。以下示例将根据指定的格式从给定的字符串返回有效的日期。mysql> Select STR_TO_DATE('20172810', '%Y%d%m'); +-----------------------------------+ | STR_TO_DATE('20172810', '%Y%d%m') | +-----------------------------------+ | 2017-10-28 ... 阅读更多