美文网首页
不太常用的mysql语句

不太常用的mysql语句

作者: Jessieee_Y | 来源:发表于2019-11-29 18:05 被阅读0次

1. 通过字段之间的函数关系,计算某个字段的值(即某个字段的值,为其他字段的加减乘除的值)

比方说,你想记录员工的工作时间(worktime)和工资(salary),这两者成正比,即worktime=salary*100(常数)。如何通过工作时间直接得到工资的值呢?

一行命令行就可以啦:

update tbname set salary=worktime*100 where id='11111';

这里要注意字段的属性:是否都是int。如果是varchar的话需要转成int。下面说说mysql的字符串如何转成int。

2. 字符串转int/截取字符串某几位

字符串转int

参考:MySQL字符串的‘123’转换为数字的123 - emanlee - 博客园

三种方法如下,我觉得第三种最方便了

1. CAST('123' AS SIGNED)

2. CONVERT('123',SIGNED)

3. '123'+0

截取字符串的某几位

left(str,length):从左截

right(str,length):从右截

str: 被截的字符串,length: 截取长度

举例:比如worktime是一个四位的字符串,0410表示4个小时10分钟,0059表示59分钟

update tbname set salary=(right(worktime,2)+(left(worktime,2)+0)*60)*100 where id='11111';

(right(worktime,2)+0) 表示截取worktime从右边开始的两位,即分钟数; 

(left(worktime,2)+0)*60 表示截取worktime从左边开始的两位,即小时数,再乘60表示分钟数。

3. 提取表中某个字段的多行,把它变成一个表的某列

我之前没有考虑周全,导致原来的数据库的字段很别扭,我想要筛选出其中符合A条件的行,以及符合B条件的行(我事先知道两者的行数是相同的),将两者变成一个新表的两列,然后这两列差听起来就好复杂啊。

这是我写过的最长的mysql了,还是挺有用的。

在这个sql语句中我用到了join(同inner join),参考:mysql中join的连接方式

这个sql语句最基础的结构是:

select A.字段1, B.字段2 from 

(select 字段1 from tbname where 字段=“值”)as A join 

(select 字段2 from tbname where 字段=“值”) as B

但是这样返回的结果是所有行的排列组合,它不会把AB的每行对应起来。也就是说,假设这条语句中的A,B分别有10行,结果有100行而不是10行。所以以上的这个sql语句是不对的❌

要想把A,B每行对应起来,需要在join后面加on,加上一个能把A, B一一对应的条件。比如自增的序号。

加上on条件的sql语句:

select A.字段1, B.字段2 from

(select(@i:=@i+1)i, 字段1 from tbname, (SELECT @i:=0) as i where 字段=“值”) as A join

(select(@j:=@j+1)j, 字段2 from tbname, (SELECT @j:=0) as j where 字段=“值”) as B

on A.i=B.j;

这条语句相当于先把A, B表分别加上序号,然后利用这个序号把A,B的每行一一对应起来。得到结果的行数=A的行数=B的行数

相关文章

  • 不太常用的mysql语句

    1. 通过字段之间的函数关系,计算某个字段的值(即某个字段的值,为其他字段的加减乘除的值) 比方说,你想记录员工的...

  • BigData-MySQL总结大全(一)苏暖人

    BigData之MySQL总结大全 MYSQL常用的基本语句 MYSQL常用的基本语句 例:SELECT TOP ...

  • MySQL常用语句

    MySQL常用语句 tags: MySQL 常用语句 语法 随便写的标签 建表 insert 语句 msyql 把...

  • MySQL常用语句

    本篇主要是归纳一下最常用、入门的 MySQL 语句。以安装完 MySQL 登录为起点,简单总结一下常用的几条语句。...

  • MySQL的SQL语句执行过程

    理解MySQL当中的SQL语句 MySQL的sql语句和我们常用的编程语句一样,都是我们输入文本,编译器编译或者解...

  • MySQL的函数认识

    理解MySQL当中的SQL语句 MySQL的sql语句和我们常用的编程语句一样,都是我们输入文本,编译器编译或者解...

  • Mysql 语句

    Mysql 语句 Mysql 语句以考察各种常用连接为重点 几种常见连接 内连接(INNER JOIN):两个表都...

  • MySQL语法模板

    本系列文章主要归纳MySQL的SQL语句和常用的函数。 SQL语句:主要分为常用的,show,表、索引,视图,函数...

  • MYSQL | 常用mysql语句

    1、创建数据库 2.删除数据库 3.选择数据库 4.创建表 注意: 5.删除数据表: 6.向数据表插入数据 插入所...

  • mysql(二)——用户管理、数据备份、常用sql语句

    13.4 mysql用户管理13.5 常用sql语句13.6 mysql数据库备份恢复 13.4 mysql用户管...

网友评论

      本文标题:不太常用的mysql语句

      本文链接:https://www.haomeiwen.com/subject/lhsdectx.html