mysql列的处理】的更多相关文章

MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长).是否能够被索引.如何被索引及如何排序等.在关系型数据库系统中,为了实现数据的易于管理,必须为表字段(列)指定对应的列类型.MySQL的列类型可以分为4类:字符型.数值型.日期及时间型.自有类型. 字符型: 字符型限定值只能为字符,MySQL的字符类型如下: 类型 最大字符长度 名称及特性 定长字符串,区分大小…
mysql列类型:整型   http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--时间和日期  http://blog.csdn.net/jk110333/article/details/9342319 ·         CHAR 这是CHAR(1)的同义词. ·         [NATIONAL] VARCHAR(M) [BINARY] 变长字符串.M 表示最大列长度.M的范围是0到65,535.(VARCHAR的最…
mysql列类型--整型 http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--字符串http://blog.csdn.net/jk110333/article/details/9342301 ·         DATE 日期.支持的范围为'1000-01-01'到'9999-12-31'.MySQL以'YYYY-MM-DD'格式显示DATE值,但允许使用字符串或数字为DATE列分配值. ·         DATETI…
MySQL 列,可选择的数据类型(通过sql命令查看:help create table;) BIT[(length)] | TINYINT[(length)] [UNSIGNED] [ZEROFILL] | SMALLINT[(length)] [UNSIGNED] [ZEROFILL] | MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL] | INT[(length)] [UNSIGNED] [ZEROFILL] | INTEGER[(length)] [U…
mysql三大列类型 整型 tinyint(占据空间:1个字节 存储范围  有符号  -128-127   无符号  0-255) smallint   mediumint    int    bigint 小数型 float(M,D)   浮点型 decimal(M,D)  定点型  M 叫做"精度"----->代表"总位数"  而D是"标度"------>代表小数位(即小数点右边的位数)  浮点数占多大的空间呢? 答: float…
1.正常情况. SELECT JoinEventIds from nt_mainnum 2.使用group_concat函数 select group_concat(JoinEventIds) from nt_mainnum 3.使用SUBSTRING_INDEX和CROSS JOIN将列里面的的数字都拆分出来. 方法一(网上查询的方法): 建配置表: )); INSERT INTO digits VALUES (), (), (), (), (), (), (), (), (), (); ))…
整形列: 一个字节有8个位,例如:int 类型的列存入数字1,00000000 00000000 00000000 00000001它就在最低位置上存入一个1,由此可见是极大的浪费资源,所以在建立列类型的时候,依实际情况而定. 整型列的可选属性有: unsigned 非负 zerofill 零填充 (M)M表示固定宽度,它主要用于学号编码等,可以用0填至固定宽度.注意:有零填充的列数据库默认为unsigned,即非负. 例如:存入当前列数字1,固定宽度设置5,则存入数据库的数据显示为00001…
MySQL 添加列,修改列,删除列 示例:ALTER TABLE tb_financial MODIFY CREATE_TIME DATETIME(3) DEFAULT NULL COMMENT '录入时间'; ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:alter table 表名 add column 列名 varchar(30); 删除列:alter tab…
储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 – 1) 个字符. TEXT 最大长度是 65535 (2^16 – 1) 个字符. MEDIUMTEXT 最大长度是 16777215 (2^24 – 1) 个字符. LONGTEXT 最大长度是 4294967295 (2^32 – 1) 个字符 Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar …
数据太大压缩存储,可以使用zlib中的压缩函数,代码如下: import ujson import MySQLdb import zlib import base64 kwargs = { 'host': '0.0.0.0', 'port': 3307, 'db': 'test', 'user': 'test_user', 'passwd': 'xxxxxxxxxxxx' } def trans_data(): """ 将json数据dumps存储到mysql中 其中一列数据…
用过Mysql的都知道她有一个很好的实现行转列功能的函数group_concat函数,非常方便 点击(此处)折叠或打开 SELECT * FROM group_test; SELECT id, GROUP_CONCAT(sub_id) FROM `group_test` GROUP BY id; 现在的需求是有上面图二类似的结果集,需要把列二拆分 转换成行记录 我们知道如果是单条记录通过SUBSTRING_INDEX容易实现 点击(此处)折叠或打开 select id,SUBSTRING_IND…
列属性又称之为字段属性,在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自动增长 1.Null属性 NULL属性:代表字段为空 如果对应的值为YES表示该字段可以为NULL 注意: (1) 在设计表的时候,尽量不要让数据为空 (2) Mysql的记录长度为65535个字节,如果一个表中有字段允许为NULL,那么系统就会设计保留一个字节来存储NULL,最终有效存储长度为65534个字节. 2.默认值 Default:默认值,当字段被设计的时候,如果允许默认条件下,用户不进行数…
本文阅读时间大约6分钟. 其实写这篇文章,也是来自一个知识星球读者的提问,他在二面的过程中被问到了,由于他简历中写道有 MySQL 调优经验,但这个问题没有回答好,二面被刷了. 其实我们刚学习 C 语言的时候,就接触过 NULL,比如下面这句代码. int *p = NULL; 它实际上表示将指针指向一块不被使用的内存地址,一般会在宏中定义好. 那么我们常用的 Java 语言,同样也用到 null,表示一个空引用,如果你不小心引用了,那么就会抛出 NullPointerException,就像昨…
1.mysql中修改字段长度: ALTER TABLE tb_article MODIFY COLUMN NAME VARCHAR(50); 这里的tb_article为表名,NAME为字段名,50为修改后的长度 2.mysql修改字段类型: ALTER TABLE tb_article MODIFY COLUMN NAME CHAR(50); 修改后,name字段类型由varchar变为char 3.mysql中增加列: ALTER TABLE tb_article ADD COLUMN na…
列属性又称之为字段属性在mysql中一共有6个属性:null,默认值(default),列描述(comment),主键(primary key),唯一键(unique key)和自动增长 修改数据库字符集:字符集和校对集alter database 数据库名字 charset=字符集 null属性 1. 如果对应的值为YES表示该字段可以为null mysql的记录长度为65535个字节,如果一个表中有字段允许为null,那么系统就会设计保留一个字节来 存储null,最终有效存储长度为65534…
列属性 a)         null|not null 缺省值是null,也就是允许为空,如果是not null而又没有给该字段赋值的话,系统会首先查询该字段有没有默认值 b)         default: 给一个字段一个默认值,如果没有给该字段填充数据,就用该默认值来代替,通常就是配合not null一起使用 c)         primary key: 主键,唯一可区别其他记录的字段,一个表中只能有一个主键,也可以很多个字段组合成一个组合主键,而且不允许为空! d)        …
  -- ---------------------------- -- Table structure for `TabName` -- ---------------------------- DROP TABLE IF EXISTS `TabName`; CREATE TABLE `TabName` (   `Id` int(11) NOT NULL AUTO_INCREMENT,   `Name` varchar(20) DEFAULT NULL,   `Date` date DEFAU…
常见的的是一个字段不为null存在默认值 没值得时候才去找默认值,可以插入一个null到 可以为null的行里 主键:可以唯一标识某条记录的字段或者字段的集合 主键设置 主键不可为null,声明时自动设置为not null 字段上设置  字段名 primary key 定义完字段后 再定义(适用于字段集合) 要求每个表都应该有主键 自动增长 为每条记录提供一个唯一标识,每次插入记录时,字段的值加1 ,使用auto_increment  需要是整型,还需要索引(两者为必须条件)  插入数据时,插入…
在过去的一年中的数据库相关的源代码分析.前段时间分析levelDB实施和BeansDB实现,数据库网络分析这两篇文章非常多.他们也比较深比较分析,所以没有必要重复很多劳力.MYSQL,当然主要还是数据库存储引擎,首先我还是从innodb这个最流行的开源关系数据库引擎着手来逐步分析和理解. 我一般分析源代码的时候都是从基础的数据结构和算法逐步往上分析.遇到不明确的地方,自己依照源代码又一次输入一遍并做相应的单元測试,这样便于理解.对于Innodb这种大项目,也应该如此,以后我会逐步将详细的细节和实…
数据表: 列转行:利用max(case when then) max---聚合函数 取最大值 (case course when '语文' then score else 0 end) ---判断  as 语文---别名作为列名 SELECT `name`, MAX( CASE WHEN course='语文' THEN score END ) AS 语文, MAX( CASE WHEN course='数学' THEN score END ) AS 数学, MAX( CASE WHEN cou…
列属性(约束)1: 是否允许为空(not null)  --not null不允许为空create table t_1(    a tinyint(3) zerofill not null,    b tinyint(3));例: insert into t_1 values(18,29);例: insert into t_1 values(null,12);  --报错例: desc t_1;例: alter table t_1 modify a tinyint(3) not null zer…
Pivoting是一项可以把行旋转为列的技术.在执行Pivoting的过程中可能会使用到聚合.Pivoting技术应用非常广泛.下面讨论的都是静态的Pivoting查询,即用户需要提前知道旋转的属性和列的值.对于动态Pivoting,需要动态地构造字符串. 开放架构 开发架构是一种用于频繁更改架构的一种设计模式.利用关系型数据库和SQL语句可以非常有效地处理DML,包括INSERT.SELECT.UPDATE和DELETE. 然而,DDL在频繁进行架构更改时显得十分不方便.例如城对表结构进行修改…
比如年龄这个字段可以使用  1990-03-15  也可以用  19900315表示在列类型上可以选择 char 和 int:如果一个字段可以选择多种类型,尽量选择一个更快的类型:字段类型优先级   整型>date,time>char,varchar>blob整型,time运算快,节省空间char/varchar要考虑字符集的转换与排序的校对集,速度慢blob无法使用内存临时表enum类型 内部是用整型来存储的,所以速度也是跟int一样的,但是需要注意,如果enum存储的字符串和 cha…
CREATE TABLE `table1` ( `id` ) DEFAULT NULL, `name` ) CHARACTER SET utf8 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; ,'yang,zheng,song'); ,'zhao,qian,sun'); ,'zhou,wu'); SELECT a.id, substring_index( substring_index( a.name, ), ) name FROM t…
FROM `task_detatils` WHERE FIND_IN_SET( '1', responsible_user) 将含有1的responsible_user列数据全部搜索出来…
第一种方法:使用序列化表的方法实现列转行 第一种方法:使用UNION的方法实现列转行 第二种方法:使用序列化表的方法实现列转行…
数据表(表名:xsk) +----+------+-----------+-------+ | id | name| course | score | +----+------+-----------+-------+ | 1 | 刘备 | 英语 | 100 | | 2 | 关羽 | 英语 | 99 | | 3 | 张飞 | 英语 | 98 | | 4 | 刘备 | 数学 | 100 | | 5 | 关羽 | 数学 | 99 | | 6 | 张飞 | 数学 | 98 | +----+------…
1.整数类型 I.有符号整型 (1) Tinyint:单字节整形,系统采用一个字节来保存的整形:一个字节 = 8位,最大能表示的数值是0-255. (2) Smallint:双字节整形,系统采用两个字节来保存的整形:能表示0-65535之间 (3) Mediumint:三字节整形,采用三个字节来保存数据 (4) Int:整形(标准整形),采用四个字节来保存数据 (5) Bigint:大整形,采用八个字节来保存数据. ① 创建数据表 ② 插入合理数据 ③ 插入错误数据(超出对应的数据范围) 错误原…
列转行 SELECT flag ,substring_index(substring_index(t.context,), ) as result FROM ( select 'aa' as flag,'1,2,3,4,5,6,7' as context union all select 'bb' as flag,'1,2,3,4,5,6' as context union all select 'cc' as flag,'1,2,3,4,5' as context union all sele…
-- 列转行动态sql -- 测试表DROP TABLE IF EXISTS `tb_score`; CREATE TABLE `tb_score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userid` varchar(20) NOT NULL COMMENT '用户id', `subject` varchar(20) DEFAULT NULL COMMENT '科目', `score` double DEFAULT NULL COMMENT '成绩'…