float,decimal精确度比较   float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的, 用于定义货币要求精确度高的数据.在数据迁移中,float(M,D)是非标准定义,最好不要这样使用.M为精度,D为标度. mysql>  create table t1(c1 float(10,2), c2 decimal(10,2),c3 float); // 10不包括小数点 mysql>  insert into…
[整理]mysql中information_schema.tables字段说明 2016-05-04 16:47:50|  分类: 默认分类|举报|字号 订阅     下载LOFTER我的照片书  |     1. 获取所有表结构(TABLES) SELECT  *  FROM information_schema.TABLES WHERE  TABLE_SCHEMA='数据库名';  TABLES表:提供了关于数据库中的表的信息(包括视图).详细表述了某个表属于哪个schema,表类型,表引擎…
在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false.主要出现在常见的SELECT以及WHERE字句中. 为了处理这种特殊的情况,MySQL提供了如下的关键字进行特殊处理: IS NULL: 当列的值是NULL,此运算符返回true. IS NOT NULL: 当列的值不为NULL, 运算符返回true. <=>: 比较操作符(不同于=运算符),当比较的的两个值…
Mysql中自增字段(AUTO_INCREMENT)的一些常识: http://chengxuyuan.naxieshir.com/fenlei/2/p/151.html…
MySQL 中的反引号(`):是为了区分 MySql 关键字与普通字符而引入的符号:一般,表名与字段名都使用反引号.…
mysql中查询一个字段具体是属于哪一个数据库的那一张表:用这条语句就能查询出来,其中 table_schema 是所在库, table_name 是所在表 --mysql中查询某一个字段名属于哪一个库中的哪一张表 select table_schema,table_name from information_schema.columns where column_name = '字段名'…
Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?先上两种实现方式的实例:$querys["house_type_image"] = array('NEQ','NULL'); //判断字段不为空//$querys["house_type_image"] = array('exp','is not null');//其中的exp表示MYSQL的表达式查询,支持各种MYSQL语句的添加-----------------…
  mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现? mysql中实现方式如下: select merchantId, NameCn, send_date, deliver_name, deliver_address, contact, bill_status, bill_code, rank from (select heyf_tmp.merchantId, heyf_tmp.NameCn, heyf_tmp.send_date, heyf_tmp.deliver_name,…
MySQL中的存储过程首先来看两个问题: 1.什么是存储过程? 存储过程(Stored Procedure)是在数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程有参数的话)来执行它. 2.为什么要使用存储过程? <MySQL必知必会>这本书中给出了如下几条主要理由: 1)通过把处理封装在容易使用的单元中,简化复杂的操作: 2)由于不要求反复建立一系列处理步骤,这保证了数据的完整性. 如果所有开发人员和应用程序都使用同…
1.查看视图并不是查询视图数据,而是查看数据库中已经存在的视图的定义,查看视图必须要有SHOW VIEW权限,MySQL的数据库下的user表中存储这这个数据.查看视图的方法有:DESCRIBE,SHOW TABLE STATUS,SHOW CREATE VIEW,也可以直接在views表中查看信息.本文为大家介绍一下这几种查看视图的方法. 方法1(DESCRIBE): 语句结构 DESCRIBE 视图名称 或简写成 DESC 视图名称 方法2(SHOW TABLE STATUS): 语法结构…
今天在做项目过程中,查询一个表中数据时总碰到这个问题:      java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date 查看数据库,发现某一字段为date类型,字段值为'0000-00-00' ;查看代码,我用的是rs.getString("字段名");于是把代码改成getDate("字段名");问题依旧!     查找资料发现:在数据库连接url后面加上ze…
查询mysql数据库表中字段为null的记录: select * 表名 where 字段名 is null 查询mysql数据库表中字段不为null的记录: select * 表名 where 字段名 is not null 例如: select * from table where column is null; select * from table where column is not null;…
mysql中text 最大长度为65,535(2的16次方–1)字符的TEXT列.如果你觉得text长度不够,可以选择 MEDIUMTEXT最大长度为16,777,215. LONGTEXT最大长度为4,294,967,295Text主要是用来存放非二进制的文本,如论坛帖子,题目,或者百度知道的问题和回答之类.需要弄清楚的是text 和 char varchar blob这几种类型的区别.详细用法可查看手册http://dev.mysql.com/doc/refman/5.1/zh/column…
一.int和tinyint的区别 大小: tinyint在mysql中占用1个字节 即: 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方:11111111 = 256 在计算机中也就是 int在占用4个字节,即:2的32次方 = 4 294 967 296 在计算机中也就是 -2147483646到2147483647 bigint在占用4个字节,即:2的64次方 另:tinyint(1) 对应的是java的boolean 二.varchar和char的区别 cha…
不同于oracle,在mysql的Innodb存储引擎中,对索引的总长度有限制.在mysql 5.7中(https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html),默认为3072. If innodb_large_prefix is enabled (the default), the index key prefix limit is 3072 bytes for InnoDB tables that use DYNAMI…
  1. 获取所有表结构(TABLES) SELECT  *  FROM information_schema.TABLES WHERE  TABLE_SCHEMA='数据库名';  TABLES表:提供了关于数据库中的表的信息(包括视图).详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息.各字段说明如下: 字段 含义 Table_catalog 数据表登记目录 Table_schema 数据表所属的数据库名 Table_name 表名称 Table_type 表类型[sys…
如: Sql代码SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC或者: Sql代码SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID + 1)mysql时间格式化,按时间段查询MYSQL语句 2011-04-15 09:01:08| 分类: MySQL |举报 |字号 订阅 描述:有一个会员表,有个birthday字段,值为'YYYY-MM-DD'格式,现在要查询一个时间段内过生日的会员,比如'06-…
转自https://www.cnblogs.com/wangzhongqiu/p/6424827.html 用法: mysql> CREATE TABLE t ( a INT UNSIGNED, b INT UNSIGNED ) 探索一:正负数问题 拿tinyint字段来举例,unsigned后,字段的取值范围是0-255,而signed的范围是-128 - 127. 那么如果我们在明确不需要负值存在的情况下,通常是不要设置signed来支持负数的. 因为只支持正数会让存储空间大一倍呢(当然我这…
存储引擎:引擎(类似汽车上的发动机)决定了数据库的快慢,MySql中有20多个引擎,不同的存储引擎提供不同的存储机制.索引技巧.锁定水平.MYISAM存储引擎,INNODB存储引擎最出名.数据库的核心就是存储引擎.数据库读写数据的方式,从两点认识.1.事务2.锁机制 MYISAM非事务型存储引擎,比如淘宝的购物车,如果付款了,但是购物车里没东西. 可能是down机了,到底怎么回事呢?数据库中有用户的钱,已买商品信息,正常是先扣钱(-28余额)-->加商品,down是在扣钱后,加商品没有完成,然后…
转自:http://www.0791quanquan.com/news_keji/topic_816453/ 探索一:正负数问题 拿tinyint字段来举例,unsigned后,字段的取值范围是0-255,而signed的范围是-128 - 127. 那么如果我们在明确不需要负值存在的情况下,通常是不要设置signed来支持负数的. 因为只支持正数会让存储空间大一倍呢(当然我这种表达可能不准确). 假设我们使用tinyint来存储一些状态值. 0表示删除,1表示待付款,2表示已付款,3....…
第一次分享心得,希望大家多多关注. 我遇到的情况是这样的,在Navicat中某表的varchar字段内容长度不够5的在内容前面添加‘0’:如字段内容是 101 我就要改成00101: 其中有2个难点:1.判断字段内容的长度(我认知不够的原因) 2.给字段内容添加前缀: 之前的错误sql是 update base_sf set diy_code=‘00’+diy_code where pk in (select pk from base_sf where LENGTH(diy_code)=3) 这…
1.注意事项 使用distinct命令时需要放在查询条件的开头,否则会报错.如果需要查询的项目很多但只针对某一个字段使用distinct的,则可以利用内容拼接的方式来实现. --基本查询 SELECT DISTINCT `name` from users; --显示结果 name 张三 李四 王五 赵六 --多表查询 SELECT DISTINCT name,age FROM users; --显示结果(此处distinct的条件是name和age两个字段,也就是只有两个都重复了才进行筛选.)…
处理json字段,可以用json_extract函数: select * from (select json_extract(ext_value,'$.high')+0 highx,batch_id from batch_ext_1 where ext_type=19 ) a where a.highx>15000000000 将json字段中的String值转为数字型,可以用+0操作,比如上面语句中 json_extract(ext_value,'$.high')+0 highx 最终会变成数…
1:修改表中某个字段的类型 alter table usertable MODIFY dddd VARCHAR(50); 其中MODIFY是指修改表中字段的属性 alter表示修改表的意思 2:备份表中数据: create table sppi_a_hw_0726BAK as select * from sppi_a_hw where work_date ='2019-07-26'; 3:从备份表中读取数据到修改过表字段类型的 insert into sppi_a_hw select * fro…
1. 获取所有列信息(COLUMNS) SELECT  *  FROM information_schema.COLUMNS WHERE  TABLE_SCHEMA='数据库名';  COLUMNS表:提供了关于表中的列的信息.详细表述了某个列属于哪个表.各字段说明如下:   字段 含义 table_schema  表所有者(对于schema的名称) table_name  表名 column_name  列名 ordinal_position  列标识号 column_default  列的默…
1. 获取所有数据库信息(SCHEMATA) show databases; 查看用户下所有数据库信息:SCHEMATA表:提供了关于数据库中的库的信息.详细表述了某个库的名称,默认编码,排序规则.各字段说明如下: 字段 含义 schema_name 数据库名称 default_character_set_name 数据库编码 default_collation_name 数据库排序规则 声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,转载请指明出处!…
只能存储  -128 ~ 127  之间的数字…
1. 获取所有触发器信息(TRIGGERS) SELECT  *  FROM information_schema.TRIGGERS WHERE  TRIGGER_SCHEMA='数据库名';  TRIGGERS表:提供了所有触发器的信息.详细表述了某个触发器属于哪个表.各字段说明如下:   字段 含义 trigger_schema 发生触发器的数据库的名称 trigger_name 触发器名称 event_manipulation 触发​​事件.这是触发触发器的关联表上的操作类型.值为  'I…
select TABLE_NAME from information_schema.COLUMNS where COLUMN_NAME = 'type'…
create table tbl_table ( id integer not null auto_increment, fname varchar(255), lname varchar(255), CONSTRAINT tbl_table PRIMARY KEY (id), unique (fname,lname) )…