【Mysql】记录一些常用但容易忘记的语句

发布于 2019-12-30  1 次阅读


前言

搞开发,确实需要记住很多东西,各类环境、语法、配置、API、过坑技巧等等等等。但总是记不完的,需要写下来作为文字材料,以便所需之时翻阅。
虽然Mysql还是玩了好几年了,但作为一个全都来的苦逼开发者,偶尔记不起来一些语句怎么写还是挺恼人的。
下面记录一些或开发中或正式环境下常用但经常藏在书上某个角落的语句,以提高面向博客开发的效率哈哈哈。

重置自增长ID

方法一

TRUNCATE TABLE `表名`;

此语句为截断表,会清空表内数据并重置自增长Id;当此表被其他表所依赖时(存在外键约束),无法执行该语句。

方法二

ALTER TABLE `表名` AUTO_INCREMENT = 1;

此语句直接设置自增长的属性,不会清空表类数据,建议先使用下面的语句将表清空。

DELETE FROM `表名`;

插入数据时自动解决主键冲突

在程序开发中,会遇到修改/插入为同一个业务逻辑的情况,在程序中进行判断未免过于复杂了,可以使用下面的语句直接一步到位。

INSERT INTO `表名`(`字段名`) VALUES(?) ON DUPLICATE KEY UPDATE `字段名`=?;

时间相关

  1. DateTime 类型转Unix时间戳(long型)
UNIX_TIMESTAMP(`datetime`)
  1. Unix时间戳 转成DateTime
FROM_TIMESTAMP(`datetime`)

Comments


来自像素世界的代码家,创造第九艺术!