mySql中,升序为asc,降序为desc.例如: 升序:select   *  from  表名 order by  表中的字段 asc(mysql中默认是升序排列,可不写) 降序:select   *  from  表名 order by  表中的字段 desc 若要进行同时一个升序,一个降序,则如下: order by 升序字段 asc,降序字段 desc.…
需求描述: 通过json_insert向json字段中插入值,在此进行实验,记录下. 操作过程: 1.查看已经有的包含json数据类型的表 mysql> select * from tab_json; +----+------------------------------------------------------------------------------------------------+ | id | data | +----+-------------------------…
在java中,数组不能放不同数据类型的值. 方法一: 多态 定义数组类型的时候定义为父类,而存进数组为父类的子类 public class test2 { public static void main(String args[]) { father []a = new father[2]; a[0] = new son(); a[1] = new son2(); } } class father{ int i = 0; } class son extends father{ int x = 0…
1.数据结构如下: vehicleId mileage_type mileage 11AM6897           0 120 11AM6897           1 60 13AY9180 0 100 31D07216 1 80 2.想得到一下结果: vehicleId excutionMileage nonExcutionMileage 11AM6897           120 60 13AY9180 100 0 31D07216 0 80 3.sql: SELECT vehicl…
一.数据量庞大的数据做索引 二.该字段经常出现在where的后面,以条件形式存在,经常被用户搜索的字段 三.很少被增删改的字段,因为增删改后,索引会重新排序 索引的创建 create index 索引的名字 on 表(字段) 例如 给admin_user这个表中id字段加索引 create index id_index on admin_user(id); 索引的删除 drop index 索引的名字 on 表 例如 在admin_user这个表中删除id字段的索引 drop index id_…
我是在mysql5.7版本进行比较 表a的字段order_no和表iwebshop_tmp的字段order_no一样 需要更新iwebshop_member_order表的datetime类型expiration_time,和表b的varchar类型deadline值一样; update iwebshop_member_order as a join iwebshop_tmp as b on a.order_no = b.order_no set a.expiration_time = b.de…
第一版sql: SELECT module.id, module.module_name, module.module_code `module` where IN (module.did_access) ORDER BY module.create_time ASC LIMIT , 30 这样的sql语句会有缺陷,in的用法虽然看上去没问题,但是是不对的,这样查出的数据不全,所以优化了一下: 第二版sql: select module.id, module.module_name, modul…
这是我的代码: 前提是做了一个view:att_sumbase 首先分开统计每天的中午.下午饭点人数,这时需要分别去除中午和下午重复打卡的人.用了记录集的交,嵌套select的知识. 注意不能直接使用union,这里只能使用union all,因为union会去掉重复记录,一个员工上午吃了,下午也吃了,union只会算一条,而union则能看出一共吃了两次. //求出分组统计 $att = $result->execute("select userid ,count(userid) as…
SELECT column_type FROM information_schema. COLUMNS WHERE TABLE_SCHEMA = "数据库名" AND DATA_TYPE = 'enum' AND table_name="表明" AND column_name="列名"; 获取到的结果…
之前遇到过一个MySQL的字段为timestamp类型的小坑. MySQL中一个字段存储时间类型数据的时候,该字段的类型如果为timestamp类型的话,最多只能存储到2038-01-19 11:14:07这个时间,大于这个时间段就会出现错误. 这是因为timestamp类型字段的长度为4个字节,最大值是231-1,是以从1970-01-01 00:00:00开始的计算的毫秒数. 所以如果需要存储2038-01-19 11:14:07之后的时间的话,字段类型选择datetime类型即可.…
阅读目录 简介 sql_mode常用值 session与global 简介 MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器操作进行量身定制以满足自己的需求.这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查.这样,就能在众多不同的环境下,与其他数据库服务器一起更容易地使用MySQL.从MySQL 4.1 开始,也能在启动之后,使用SET[SESSION|GLOBAL]sql_mode='mode1,…
最近给自己网站更改mysql中当前auto_increment的值 如果在mysql中一个表test中的ID字段设为auto_increment插入两条记录后ID=2,这时删除1条记录,再插入一条变成ID13自增时跳过了2,如何设置在新插入一条时,ID从2开始计数 使用:mysql> alter table test auto_increment=2; 可以使再新加入一条时,ID从2开始. 如果auto_increment=值小于max(id),ID从max(ID)+1开始计数 不知道大家看懂了…
一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1.如果是整型,那么mysql中,用int即可:2.如果是带小数位的,那么mysql中可用numeric类型. 注:mysql中没有varchar2(10)和number这两个数据类型 二. Mysql varchar VS Oracle varchar2 mysql和oracle做数据同…
mysql中INSTR函数的用法 INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTopic ORDER BY INSTR( topicTitle, 'ha' ) > 0 DESC SELECT INSTR( topicTitle, 'ha' ) FROM tblTopic mysql中使用instr配合IN排序 将instr结果作为一列,按其排序 select id,1 from…
一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1.如果是整型,那么mysql中,用int即可:2.如果是带小数位的,那么mysql中可用numeric类型. 注:mysql中没有varchar2(10)和number这两个数据类型 二. Mysql varchar VS Oracle varchar2 mysql和oracle做数据同…
平时因为对于数据库研习的不深,所以在面试的时候问了一些平常遇到过的问题居然没法很肯定地回答出来,实在让自己很恼怒! 这次让我记忆深刻的一个问题是: 在mysql中使用聚合函数的时候比如avg(t),t是表中一个类型int型的字段,可为null,有三行数据,三行中的数据分别为:10,null,20,请问最后的结果是什么? 我的回答是15,在面试结束之后我尝试了一下结果没错,不过我对于聚集函数对null的处理貌似错了,我认为是聚合函数会将null值看作0,找了一番,博客中都认为是忽略null值,因为…
8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) 动态切换模型table() 设置当前操作的数据表field() 设置要查询的数据字段where() 设置查询或者操作条件data(data) 设置数据对象order(order) 设置排序limit(limit) 查询限制page(page) 查询分页join(join) 进行JOIN查询havin…
标准SQL包含了4种基本的语句类别: DDL语句,数据定义语句,主要用来定义数据库,表名,字段,例如create,drop,alter. DML语句,数据操作语句,用来对数据记录的增删改查,还用来保证数据的一致性.主要有select,delete,insert,update语句. DCL语句,数据控制语句,用于控制不同数据对象访问级别的语句.定义了数据库.表.表.用户的访问权限和完全级别.常用的语句包括grant.revoke等 TCL语句,事务控制语句,用来确保事务的特性. CREATE TA…
参考地址:https://www.cnblogs.com/yang82/p/7794712.html mysql中修改用户密码的方式: 最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下: 1.登录mysql到指定库,如:登录到test库(还未实践) 2.然后点击上方“用户”按钮. 3.选择要更改的用户名,然后点击上方的“编辑用户”按钮. 4.出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可.  第二种方式: 方法1: 用SET PASSWORD命令 首…
今天同事给了一个小需求,从一个存有不定数量坐标数据的表(map_trace)中每隔20条取一条.最后写了下面这条SQL: select * from (select @n:=@n+1 as n, a.* from (select * from map_trace order by CREATE_time desc)a,(select @n:=0)b)c where c.n%20<2 and c.n%20!=0; 在此复习下相关知识: 生成一个字段(非表中字段)用以记录排序 (类比为oracle数…
在使用 explain 解析一个 sql 时,有时我们会发现在 extra 列上显示 using temporary ,这表示这条语句用到了临时表,那么临时表究竟是什么?它又会对 sql 的性能产生什么影响?又会在哪些场景中出现?本文根据 <<MySQL 实战 45 讲>> 学习整理. 出现场景 其实临时表在之前的博客就已经出现过了,在 MySQL 中的排序 一文中就说到如果 order by 的列上没有索引,或者说没有用到索引,那么就需要进行额外排序(using filesort…
使用mysql中的group_concat( )函数连接指定字段时,可以先对该字段进行排序. PS:是因为二刷mysql的51道题的第12题遇到的:查询和" 01 "号同学学习的课程 完全相同的其他同学的信息 这个函数太厉害了 官网对这个函数的解释:https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html 下面图片的引用网址:https://cloud.tencent.com/developer/article/14…
原文: http://blog.csdn.net/wisgood/article/details/6317543 mysql中一个字符串,既可以用两个单引号表示,也可以用两个双引号表示. 比如字符串 wangxiaowei,用单引号表示 'wangxiaowei',双引号表示"wangxiaowei" 在用单引号表示一个字符串的时候,如果字符串中出现单引号,要用两个单引号才能表示一个单引号:如 wang'xiaowei,用单引号表示 'wang''xiaowei'.在用双引号表示一个字…
join是mysql中一个基础的关键词,一般在多表连接查询中使用,这里做一下总结 1.JOIN的语法格式 table_references: table_reference [, table_reference] ... table_reference: table_factor | join_table table_factor: tbl_name [[AS] alias] [{USE|IGNORE|FORCE} INDEX (key_list)] | ( table_references )…
1:字节的定义:字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位. 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间 2.在mysql中一个汉字占三个字节 3.数字放在varchar中占两个字节,放在char中占一个字节. 4.注意:一个字节占8位 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方即-128到127,无符号从 0 到 255 的整型数据. tinyint[(M)]    M默认为4很小的整数,存储大小为…
mysql中关于exists的讲解 我认为exists语法是mysql中一个很强大的工具,可以简单地实现某些复杂的数据处理. 下面我谈谈与exists有关的三个方面. all 与 any 首先,看到了exists,难免还会想到all和any,它们比exists容易理解一些.all 和 any都能让一行数据与多行数据进行比较,这是它们的主要功能. create table T(X int); insert into T(X) values(1),(2),(3),(4); # eg.1 select…
经常碰到开发.测试童鞋会问,线下开发.测试环境,执行了一个DDL,发现很久都没有执行完,是不是被阻塞了?要怎么解决? 包括在群里,也经常会碰到类似问题:DDL 被阻塞了,如何找到阻塞它的 SQL ? 实际上,如何解决 DDL 被阻塞的问题,是 MySQL 中一个共性且高频的问题. 下面,就这个问题,给一个清晰明了.拿来即用的解决方案: 怎么判断一个DDL是不是被阻塞了 ? 当DDL被阻塞时,怎么找出阻塞它的会话 ? 怎么判断一个 DDL是不是被阻塞了? 首先,看一个简单的Demo session…
成本 什么是成本,即SQL进行查询的花费的时间成本,包含IO成本和CPU成本. IO成本:即将数据页从硬盘中读取到内存中的读取时间成本.通常1页就是1.0的成本. CPU成本:即是读取和检测是否满足条件的时间成本.0.2是每行的CPU成本. 单表查询计算成本 我们对其进行分析的具体步骤如下: 根据搜索条件找出可能使用到的索引. 计算全表扫描的需要执行的成本. 计算各个索引执行所需要执行的成本. 对各个索引所需要执行的成本,找出最低的那个方案. 全表扫描的成本 计算IO成本: 我们首先从表的sta…
1.如果mysql中使用了date类型,并且默认值为'0000-00-00', 那么数据库中的'0000-00-00 00:00:00', '0000-00-00', '00:00:00'这三个值是相等的,都为空 2.在java中使用ResultSet的getString()返回结果时,如果出现如下异常:  java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date     那么在mysql连接…
mySql中,升序为asc,降序为desc.例如: 升序:select   *  from  表名 order by  表中的字段 asc(mysql中默认是升序排列,可不写) 降序:select   *  from  表名 order by  表中的字段 desc 若要进行同时一个升序,一个降序,则如下: order by 升序字段 asc,降序字段 desc.…