找到关于 MySQL 的4379 篇文章
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”作为第一个列,“rate”作为第二个列在 SET 子句中编写 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 | ... 阅读更多
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP