vlambda博客
学习文章列表

mysql常用指令 / mysql常用命令 / mysql常用语句 / mysql常用sql

 mysql事务。事务默认是自动提交的。

(事务是用来做数据控制的,所以只针对DML(数据操控,增/删/改)起作用。建表和删除表属于DDL(数据定义),超出事务的范畴,所以事务对DDL不起作用。 )

START TRANSACTION;

-- DML here

ROLLBACK;

 

 

mysql临时表

CREATE TEMPORARY TABLE tmp_table SELECT *FROM emax_base.`tax_user_sign`  WHERE merchant_id=1576834320215107;
-- select * from tmp_table
UPDATE tmp_table SET merchant_id=1576647918146389, create_time='2020-7-28 15:00:00',tax_sign_status='FAILED';
INSERT emax_base.`tax_user_sign` SELECT * FROM tmp_table;

 

 

mysql select语句中显示行的自增序号

SELECT   (@i:=@i+1)   AS   rownum, a.entName ,a.orderId  FROM   `t_business_airorders202007` a,(SELECT   @i:=0)   AS   it

 

 

mysql 多表关联update

update tmp_table2 a 
join tmp_table1 b ON a.rownum=b.rownum
join t_business_airorders202008 c on a.orderId=c.orderId
set c.entName=b.entName;

 mysql 表关联删除

DELETE t1 FROM t1,t2 WHERE t1.id=t2.id ;

DELETE m
FROM tmp m
JOIN tmp2 b ON m.usr=b.usr AND m.id>b.minId;

 

 在mysql中修改表名的sql语句(DDL)

ALTER TABLE emax_require RENAME TO `require`;

 

字符串与时间互转(varchar<->datetime)

两个函数:date_format(date, format)     str_to_date(str, format)

now()       date_format(now(), '%Y%m%d%H%i%S')
-------------------      ------------------------------------
2021-12-21 15:02:32      20211221150232



str_to_date(
'20160102123059', '%Y%m%d%H%i%S')
-----------------------------------------------
2016-01-02 12:30:59

 

mysql数据类型转换用cast函数

需要说的是

把数据转换为字符串时,用cast(var as char),注意是char,不是varchar

把字符串转换为数字,用cast(str as SIGNED/UNSIGNED/DECIMAL)  其中type说明:    浮点数 : DECIMAL     整数 : SIGNED    无符号整数 : UNSIGNED 。 当然,数字字符串可以直接用作数字来操作。例如select '1'+2 结果是 3.