精华内容
下载资源
问答
  • MYSQL SQL 不等于
    千次阅读
    2018-07-17 10:36:36

    需求

         数据库为MYSQL 利用SQL实现 条件  不等于

     

    技术选型

              1       !=

               2      <>

    落地代码

              

    tc_employee.emp_no <> 'E000000001'
    tc_employee.emp_no != 'E000000001'
    更多相关内容
  • Oracle Sql语句转换成Mysql Sql语句

    热门讨论 2013-02-17 12:06:40
    Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
  • MySQL sql语句中变量应用

    万次阅读 2020-09-02 10:07:40
    用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。 全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名 或者 set @@global.变量名,对所有客户端生效。只有具有super权限才可以...

    在这里插入图片描述

    用户变量:以“@”开始,形式为“@变量名”。用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。

    全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名 或者 set @@global.变量名,对所有客户端生效。只有具有super权限才可以设置全局变量。

    会话变量:只对连接的客户端有效。

    局部变量:作用范围在begin到end语句块之间。在该语句块里设置的变量。declare语句专门用于定义局部变量。set语句是设置不同类型的变量,包括会话变量和全局变量。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通过变量简单实现一下:

    SELECT 
      @rank := IF(@bid = tv.ZId, @rank := @rank + 1, @rank := 1) AS RANK,
      @bid := tv.ZId AS ZID, 
      tv.ZTime
    FROM (SELECT * FROM tb_chestnut  ORDER BY ZId,  ZTime) tv, 
     (SELECT  @rank := 0,  @bid := NULL) z; 
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通过变量简单实现一下:

    SELECT
      tv.ZSort,
      @bid := tv.ZId,
      @stime := IF(@bid = tv.ZId AND tv.ZSort = 1, tv.ZTime, IF(@etime IS NULL, tv.ZTime, @etime)) AS stime,
      @etime := DATE_ADD(@stime, INTERVAL tv.ZNum HOUR) AS etime, 
      tv.ZNum
    FROM (SELECT * FROM tb_chestnut  ORDER BY ZId, ZSort) tv, 
     (SELECT  @stime := NULL,   @etime := NULL,     @bid := NULL) z;
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    注:针对于分组排名问题mysql8.0版本可以使用row_number()over(partition by desc)

    展开全文
  • Mysql sql_mode=only_full_group_by错误解决

    千次阅读 2020-05-06 15:30:28
    Mysql sql_mode=only_full_group_by错误解决说明原理层面sql层面解决方案 说明 原理层面 这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql 5.7版本默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这...

    Mysql sql_mode=only_full_group_by错误解决

    说明

    原理层面

    这个错误发生在mysql 5.7 版本及以上版本会出现的问题:
    mysql 5.7版本默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。
    很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。

    sql层面

    在sql执行时,出现该原因:
    简单来说就是:输出的结果是叫target list,就是select后面跟着的字段,还有一个地方group by column,就是group by后面跟着的字段。由于开启了ONLY_FULL_GROUP_BY的设置,所以如果一个字段没有在target list和group by字段中同时出现,或者是聚合函数的值的话,那么这条sql查询是被mysql认为非法的,会报错误。

    解决方案

    1. 查看sql_mode的语句如下
    select @@GLOBAL.sql_mode;
    

    ①解决方案一:sql语句暂时性修改sql_mode

    set @@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    

    问题:
    重启mysql数据库服务之后,ONLY_FULL_GROUP_BY还会出现。

    1. 解决方案-(推荐解决方案二)

    ②解决方案二:完美解决方案。
    需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,
    my.cnf位于etc文件夹下,vim下光标移到最后,添加如下:

    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    

    重启mysql服务,顺利解决。

    展开全文
  • Mysql Sql语句空格字符串等问题

    万次阅读 2020-05-08 20:31:33
    Mysql Sql语句空格字符串等问题1、问题描述2、总结 1、问题描述 Mysql 里面SQL语句空格、字符串问题,你发现不了,但是就是运行报错。不服?来我们上源码。先来看一个删除表的。 DROP TABLE IF EXISTS 'user'; ...

    Mysql Sql语句空格字符串等问题

    1、问题描述

    Mysql 里面SQL语句空格、字符串问题,你发现不了,但是就是运行报错。不服?来我们上源码。先来看一个删除表的。

    DROP TABLE IF EXISTS 'user';
    

    在这里插入图片描述
    堂堂正正删除表,没毛病,运行。

    1 queries executed, 0 success, 1 errors, 0 warnings
    
    查询:DROP TABLE IF EXISTS 'user'
    
    错误代码: 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''user'' at line 1
    
    执行耗时   : 0 sec
    传送时间   : 0 sec
    总耗时      : 0 sec
    

    在这里插入图片描述
    什么鬼。这里user不能用字符串的引号。只能用mysql自带的引号。

    DROP TABLE IF EXISTS `user`;
    

    在这里插入图片描述

    对比下这两种写法在SQLYog中的效果。执行SQL语句。

    1 queries executed, 1 success, 0 errors, 1 warnings
    
    查询:DROP TABLE IF EXISTS `user`0 行受到影响, 1 个警告
    
    执行耗时   : 0 sec
    传送时间   : 1.183 sec
    总耗时      : 1.184 sec
    
    注意:要查看所有警告的完整列表,请启用 工具 -> 首选项 -> 常规 -> 在信息选项卡下显示警告
    
    

    在这里插入图片描述
    再来个大招,关于空格的。

    
    CREATE TABLE `role` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) COLLATE utf8_bin NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    
    

    也是堂堂正正建立一个表。没毛病。执行SQL语句。

    1 queries executed, 0 success, 1 errors, 0 warnings
    
    查询:CREATE TABLE `role` (   `id` bigint(20) NOT NULL AUTO_INCREMENT,   `name` varchar(255) COLLATE utf8_bin NOT NULL...
    
    错误代码: 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE `role` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `n' at line 1
    
    执行耗时   : 0 sec
    传送时间   : 0 sec
    总耗时      : 0 sec
    
    

    在这里插入图片描述
    我的个亲娘嘞!还有没有王法。是的就是空格的问题。我们拿到记事本过滤一下再拷贝回来执行SQL语句。

    CREATE TABLE role(
      `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(255) COLLATE utf8_bin NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    
    

    大家肉眼看看和上面有什么区别,看出来的话,你是我大哥,我水土不服舅服你。执行SQL语句。

    1 queries executed, 1 success, 0 errors, 0 warnings
    
    查询:CREATE TABLE role( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ...0 行受到影响
    
    执行耗时   : 0.027 sec
    传送时间   : 1.171 sec
    总耗时      : 1.199 sec
    
    

    在这里插入图片描述
    看似一毛一样,竟然执行成功了。我们来看看SQLyog中两段代码的差别。

    在这里插入图片描述

    确实空格不同,颜色也不同。接下来看看Navicat的,一毛一样,还是SQLyog好啊。

    在这里插入图片描述
    遇到这样的问题想必各位会直接哭晕在厕所了。不说了,我刚刚醒。

    2、总结

      书上的代码直接运行绝大部分是对的,但是总有一些软件的更新使得作者无能为力。之前的API是对的,但是之后就废弃了或修改了是常有的事。所以我们需要跟踪源代码。这只是一个小小的问题,如果没有前辈的无私奉献,很难想象我们自己一天能学到多少内容。感谢各位前辈的辛勤付出,让我们少走了很多的弯路!

    点个赞再走呗!欢迎留言哦!

    展开全文
  • 文章目录临时和永久设置MySQL sql_mode前言查看sql_mode临时修改sql_mode永久修改sql_mode永久修改sql_mode(容器方式)不同MySQL版本默认sql_mode的区别参考文档 临时和永久设置MySQL sql_mode 前言 MySQLsql_mode...
  • mysql sql长度限制

    万次阅读 2017-10-27 11:16:52
    sql语句的长度跟数据包是成正比的,长度越长,数据包占用内存越大。 mysql通讯的数据包大小设置是1M,所以如果传过来的mysql语句内存大于1M,就会失败。 解决办法:1.注意精简sql语句,可以分批次执行,减少数据库...
  • mysql sql语句长度限制

    万次阅读 2018-11-05 14:04:28
    因此,咱需要修改my.ini文件(window系统下的mysql配置文件),my.conf(Linux系统下的mysql配置文件) 如果你用的是WIN的, 请在你的MySQL安装目录下查找my.ini 在Linux下你查找my.cnf 在配置里面加入 max_allowed...
  • PHP+MysqlSQL注入源码 下载

    热门讨论 2017-01-01 17:41:07
    PHP+MysqlSQL注入源码、下载解压部署到环境中去就行了。
  • mysql sql执行慢 分析过程

    千次阅读 2017-09-11 17:05:38
    为了验证select 1 与 select 1 from ...于是总结一下,查看mysql语句运行时间的方法。 方法一: show profiles。 1. Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后。  Quer
  • MySQL 字符串截取函数:left(), right(), substring(),这是我比较常用的几个方法。 1. 字符串截取:left(str, length) select left('这是要截取的内容', 3); 2. 字符串截取:right(str, length) select right('这...
  • docker 下修改 mysql sql_mode和配置文件

    万次阅读 2018-06-15 11:13:16
    docker run -d -p 3306:3306 --name mysql-docker -e MYSQL_ROOT_PASSWORD=root mysql:5.7 创建成功,查看一下运行状态 docker ps   可以看到我们的容器正在运行中,现在进入容器,查看一下配置文件   ...
  • mysql sql长度限制解决

    千次阅读 2017-10-02 14:20:43
    mysql sql长度限制问题
  • MySql SqlServer Oracle三款 主流数据库的比较
  • MySQL导入sql文件

    千次阅读 2021-10-07 12:19:48
    解决办法:不使用MySQL的command,要先用cmd切换到sql文件所在目录,再导入。 步骤: 1.切换到所在目录 2.打开Mysql 3.导入sql文件 检查没有报错,导入成功
  • MySQL 字符串截取函数:left(), right(), substring(),这是我比较常用的方法。 1. 字符串截取:left(str, length) select left('这是要截取的文字', 3); 2. 字符串截取:right(str, length) select right('这是...
  • mysql sql 中 limit 接收变量方法

    千次阅读 2018-09-11 13:31:32
    PREPARE s1 FROM 'SELECT * FROM ysxx LIMIT ?,?'; set @_limit=1; set @_limit1=(select count(1) from ysxx); EXECUTE s1 USING @_limit,@_limit1;  
  • MySQLSQL之间的区别有哪些?很多PHP的初学者,对MySQL,MyAdmin和SQL有什么区别并不是很清楚?下面php中文网就带领大家来学习一下MySQLSQL之间的区别。【推荐阅读:MySQL什么意思】一:什么是SQLSQL是一种数据库...
  • 1.可以通过执行SQL语句来开启,但是只对当前连接有效,下面是SQL语句:set sql_mode=&...2.通过修改MySQL的配置文件,在配置文件中查找sql-mode,将此行修改成为:sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREAT...
  • 网上说 数据库会先把sql小写全部转化为大写 再执行 如果事先就把sql语句大写,岂不是可以提高性能
  • MySQLSqlServer的区别

    千次阅读 多人点赞 2020-11-08 14:25:19
    一、MySQLSqlServer的区别 目前最流行的两种后台数据库即为MysqlSQL Server。这两者最基本的相似之处在于数据存储和属于查询系统,你可以使用SQL来访问这两种数据库的数据,因为它们都支持ANSI-SQL(数据库管理...
  • MySQL SQL Error: 1064, SQLState: 42000 错误

    千次阅读 2018-12-04 18:39:06
    MySQL 中,下表中的字显式被保留。其中大多数字进制被标准 SQL 用作列名 和/或 表名( 例如,GROUP) 。少数被保留了,因为 MySQL 需要它们,( 目前) 使用 yacc 解析程序。保留字被引起来后可以用作识别符。 你不...
  • 1.给当前日期减一天 SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%m-%d'); 2.给当前日期加一天 SELECT DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 DAY),'%Y-%m-%d'); year 年份 ......
  • mysql总体上分为server层和存储引擎层 server层负包括连接器、缓存、解析器、优化器、执行器 存储引擎层则负责存储数据 连接器 连接器负责跟客户端建立连接、获取权限、维持和管理连接。 它首先会判断请求的账号和...
  • -- mysql递归查询,mysql中从子类ID查询所有父类(做无限分类经常用到) SELECT T2.id, T2.channel_path  FROM (   SELECT   @r AS _id,   (SELECT @r := parent_id FROM cm_channel WHERE id = _id) AS ...
  • 需求是这样的,我们有个排名列表,需要查询出当前...两种sql解决方案 SELECT a.* FROM  (SELECT  *,  (@i :=@i + 1) AS No FROM  jira_issue_statistics  , (SELECT @i:=0) AS it WHERE  year = 2018 and ...
  • mysql sql 语句插入 blob字段的插入

    万次阅读 2015-05-27 11:19:59
    1 HEX 函数转换为 将一个字符串或数字转换为十六进制格式的字符串 2 使用 UNHEX() 把十六进制格式的字符串转化为原来的格式 使用实例 insert into tb_test(blob ) values(UNHEX(HEX(16))) 把16转换为对应的...
  • MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行...
  • MySQL 简介及SQL 语句

    千次阅读 多人点赞 2021-05-11 15:23:23
    2.SQL 接口:当 SQL 语句进入 MySQL 后,会先到 SQL 接口中,将传过来的 SQL 语句拆散,将底层的结果封装成 SQL 的数据格式。 3.解析器:负责将 SQL 语句进行拆分,如果语句有问题那么就返回错误,如果没问题就继续...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,979,257
精华内容 791,702
关键字:

mysql sql

mysql 订阅
友情链接: 冒泡排序法.zip