精华内容
下载资源
问答
  • mysql sql长度限制解决

    千次阅读 2017-10-02 14:20:43
    mysql sql长度限制问题
    Could not execute JDBC batch update

    原因:SQL语句长度大于1M,而我机器上的mysql是默认设置,也就是说mysql通讯的数据包大小设置是1M,这就造成sql语句执行失败。

    解决:修改mysql的配置文件(my.ini)中的max_allowed_packet = 6M

    展开全文
  • 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语句的用法

    万次阅读 2016-07-12 15:37:19
    mysql sql语句是不区分大小写的,所以个人一般是直接小写的。学习过程参考下面教程,并做伴有其他查询:  http://www.tutorialspoint.com/sql/sql-select-database.htm 删除数据库 #dbname is your ...

    mysql

    sql语句是不区分大小写的,所以个人一般是直接小写的。学习过程参考下面教程,并做伴有其他查询: 
    http://www.tutorialspoint.com/sql/sql-select-database.htm

    删除数据库

    #dbname is your database's name
    drop database if exists dbname

    创建数据库

    create database if not exists dbname

    要使用数据库之前,要先选择数据库

    use dbname

    数据库中用到的变量类型

    http://www.w3school.com.cn/sql/sql_datatypes.asp

    #create table
    create table if not exists ttest0(
    ID int, 
    ipaddr varchar(20),
    ipport varchar(20)
    );

    向表中插入元素

    直接安装表中列的默认顺序进行插入

    insert into ttest0 values (0,'127.0.0.1', '8080');

    也可以自己指定列的顺序

    insert into ttest0 (id, ipport, ipaddr) values (0, '8080', '127.0.0.1')

    更新数据表

    http://www.tutorialspoint.com/sql/sql-update-query.htm

    整个删除表格

    #tbname is your table's name
    drop table tbname

    数据库表的连接(Left join , Right Join, Inner Join)用法详解

    http://www.cnblogs.com/weblogical/archive/2011/03/07/1974585.html

    SQL - IF EXISTS UPDATE ELSE INSERT INTO

    http://stackoverflow.com/questions/15383852/sql-if-exists-update-else-insert-into 
    按照下述方法,要给表添加一个key,如下所示:

    create table if not exists ttest0(
    ID int, 
    ipaddr varchar(20),
    ipport varchar(20)
    );
    
    alter table ttest0 add unique (ID);
    
    insert into ttest0 values (1, '127.0.0.1', '8080') on duplicate key update ipaddr='192.168.0.1';

    或者可以参照如下链接,在sql语句的外面进行判断: 
    http://stackoverflow.com/questions/12436602/if-exists-update-else-insert-haunted-me-for-hours-new-to-mysql

    展开全文
  • mysql sql常用语句大全

    万次阅读 多人点赞 2019-02-20 04:18:23
    一 、常用操作数据库的命令 1.show databases; 查看所有的数据库 2.create database test; 创建一个叫test的数据库 3.drop database test;删除一个叫test的数据库 4.use test;选中库 ,在建表之前必须要选择数据库 ...

    一 、常用操作数据库的命令

    1.show databases; 查看所有的数据库
    2.create database test; 创建一个叫test的数据库
    3.drop database test;删除一个叫test的数据库
    4.use test;选中库 ,在建表之前必须要选择数据库
    5.show tables; 在选中的数据库之中查看所有的表
    6.create table 表名 (字段1 类型, 字段2 类型);
    7.desc 表名;查看所在的表的字段
    8.drop table 表名; 删除表
    9.show create database 库名;查看创建库的详细信息
    10.show create table 表名; 查看创建表的详细信息
    

    二、修改表的命令

    1.修改字段类型 alter table 表名 modify 字段 字段类型;
    2.添加新的字段 alter table 表名 add 字段 字段类型
    3.添加字段并指定位置  alter table 表名 add 字段 字段类型   after 字段;
    4.删除表字段  alter table 表名 drop 字段名;
    5.修改指定的字段  alter table 表名 change 原字段名字  新的字段名字 字段类型

    三、对数据的操作

    1.增加数据(insert)3种方式
        1.1 insert into 表名 values(值1,值2,...)(很少用)
        1.2 insert into 表名(字段1,字段2...) values(值1,值2,....);(较常用)
        1.3 insert into 表名(字段1,字段2...) values(值1,值2,....),(值1,值2,....),(值1,值2,....);
    2.删除数据(delete) delete from 表名 where 条件 注意:where 条件必须加,否则数据会被全部删除
    3.更新数据(update)  update 表名 set字段1 = 值1, 字段2 = 值2 where 条件
    4.查询数据(select)
        4.1 查询表中的所有数据   select * from 表名
        4.2 指定数据查询    select 字段 from 表名 
        根据条件查询出来的数据  select 字段 from 表名 where 条件 (最常用的)
        where 条件后面跟的条件
         关系:>,<,>=,<=,!=  
         逻辑:or, and 
         区间:id between 4 and 6 ;闭区间,包含边界
    5.排序
    select 字段 from 表 order by 字段  排序关键词(desc | asc)
    排序关键词 desc 降序 asc 升序(默认)
        5.1 通过字段来排序
        例如 :select * from star orser by money desc, age asc;   
        5.2 多字段排序
        select 字段 from 表 order by 字段1  desc |asc,...字段n desc| asc;
    6.常用的统计函数 sum,avg,count,max,min
        只分组:select * from 表 group by 字段
        例子: select count(sex) as re,sex from star group by sex having re > 3;
        分组统计: select count(sex) from star group by sex;
    7.分组 select * from 表名  limit 偏移量,数量
        说明:
            8.1.不写偏移量的话就是默认的为0
            8.2.实现分页的时候必须写偏移量
            偏移量怎么计算?:
            limit (n-1)*数量 ,数量 

    四、多表联合查询

    1.内连接
    隐式内连接 select username,name from user,goods where user,gid=gods,gid;
    显示内连接
    select username,from user inner join goods on user.gid=goods.gid;
    select * from user left join goods on user.gid=goods.gid;
    2.外链接
    左连接 包含所有的左边表中的记录以及右边表中没有和他匹配的记录
    右连接 
    select * from user where gid in(select gid from goods);
    select * from user right jOin goods on user.gid=goods.gid;
    子嵌套查询
    数据联合查询
    select * from user left join goods on user.gid=goods.gid union select * from user right join goods on user.gid=goods.gid;
    两个表同时更新
    update user u, goods g set u.gid=12,g.price=1 where u.id=2 and u.gid=g.gid;

    五、DCL 数据控制语言

    1.创建用户:create user'xiaoming'@'localhost' identified by '666666';
    2.授权用户:grant all on test.*to'xiaoming'@'localhost';
    3.刷新权限:flush privileges;
    4.取消授权:revoke all on test.* from 'xiaoming'@'localhost';
    5.删除用户: drop user'xiaoming'@'localhost';

    六、DTL 数据事务语言

    开启事务:set autocommit=0;
    操作回滚:rollback;
    提交事务:commit;

     

    展开全文
  • Mysql sql_Model

    千次阅读 2012-12-05 00:27:11
    8.1 Mysql SQL Mode简介 MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应 用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式 定义了MySQL应支持的...
  • 主要功能 SQL查询 查询导出 查询自动补全 SQL审核 流程化工单 SQL语句检测 SQL语句执行 SQL回滚 SQL自动审核执行 历史审核记录 ...docker run -d -it -p18000:8000 -e MYSQL_USER=root -e ..
  • 文章目录临时和永久设置MySQL sql_mode前言查看sql_mode临时修改sql_mode永久修改sql_mode永久修改sql_mode(容器方式)不同MySQL版本默认sql_mode的区别参考文档 临时和永久设置MySQL sql_mode 前言 MySQLsql_mode...
  • 有时[比如在Linux服务器下, 或者借助数据库管理工具执行SQL], 需要使用sql语句直接对数据表进行新建/修改表结构, 填充/更新数据等. 好处: 可以避免繁琐操作, 遗漏, 快捷方便, 一步到位. 2.学习/操作 ...
  • 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...
  • 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语句生成日历表

    万次阅读 2016-10-11 15:21:06
    mysql sql语句生成日历表 (主要用于按月,按天group by分组统计时,有些日期没有记录,需要补0) 从自定义的开始时间,生成1万条记录 CREATE TABLE if not exists num (i int);-- 创建一个表用来储存0-9的数字 ...
  • MySql SqlServer Oracle三款 主流数据库的比较
  • mysql sql长度限制

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

    千次阅读 2014-04-05 16:57:47
    这是MySQL SQL优化的第三篇。公司某个业务系统频繁抛出问题SQL,我们对此类SQL做了基本面统计:此类SQL近期共执行了12次,最长一次花费480秒,最短286秒t1表的rows有90多万,始终会扫描这么多不需要的数据这是由于...
  • mysql SQL Error: 1146, SQLState: 42S02

    千次阅读 2014-02-28 12:41:12
    今天在Linux上安装mysql,win运行报错mysql SQL Error: 1146, SQLState: 42S02 (linux),找到解决方案 mysql SQL Error: 1146,SQLState: 42S02 (linux) Table'database1.SYS_USER' doesn't exist  项目在开发...
  • mysql sql if判断

    千次阅读 2019-01-21 20:45:55
    最近想在运行sql 时执行一些判断输出结果,在网上找了很久,其实用case then end 就可以了,下面是例子 SELECT t1.imei AS `唯一设备码`, t1.familyname AS `商家名称`, t1.address AS `地址`, case when t1...
  • Mysql SQL查询今天、昨天、n天内、第n天 注意:因为对索引列使用函数会导致索引失效,如果查询时需要使用到索引,请使用MySQL DATE_SUB() 函数 查询当天的所有数据 SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW...
  • 这篇文章主要介绍了MysqlSQL Mode用法,可以帮助用户更好的理解MySQL的工作模式,需要的朋友可以参考下 一、Mysql SQL Mode简介 通常来说MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以...
  • mysql SqlError (No tables used)解决- select * from dual 不适用于mysql,换成select 1 from dual 兼容oracle, myql 谨记于此,以资后察。
  • MySQL sql语句中变量应用

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

    万次阅读 2018-05-25 13:47:14
    group_concat 在mysql中默认长度1024 超过会自动截取 show variables like 'group_concat_max_len' ; 使用命令 SET GLOBAL group_concat_max_len= 102400 ; SET SESSION group_...
  • MySql sql语句自增列插入数据

    万次阅读 2018-09-25 10:46:45
    sql语句 insert into news values=?,?,?,?,?,?,?,? 用的preparestatement 最先sql语句报错 Column count doesn't match value count at row 1 (列數與第1行的值計數不匹配) 表第一列是自增ID 用 DEFAULT 或者 ...
  • mysql sql语句导入与导出

    千次阅读 2005-12-22 11:25:00
    mysql sql语句导入与导出导入:mysql -u root -p 数据库名如:C:/mysql/bin>mysql -u root -p house 导出:mysqldump -u root -p 数据库名 [表名1 表名2] > 输出地址其中表名可选如:导出house中的blacklist表C:/mysql/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 265,703
精华内容 106,281
关键字:

mysqlsql

mysql 订阅