【MySQL数据类型3之 字符类型】
MySQ字符类型大致可以分成(MySQL 5.0):
CHAR(M):0-255字节
VARCHAR(M):0-65535字节
TINYBLOB、MEDIUMBLOB、BLOB、LONGBLOB(实际长度分别+1,3,2,4)
TINYTEXT、MEDIUMTEXT、TEXT、LONGTEXT(实际长度分别+1,3,2,4)
BINARY(M):0-M字节
VARBINARY(M):实际长度+1
MySQL其他类型大致可以分成(MySQL 5.0):
ENUM(枚举类型):1~65535个成员 1—2个字节
SET:1--8字节
详细范围可以参考帮助手册
1.CHAR、VARCHAR、XXXTEXT
create table test4(c1 char(7),varchar(7));
insert test4 values(' a ',' a ');
mysql> select length(c1),length(c2),concat(c1,'yes'),concat(c2,'yes')
-> from test4;
+------------+------------+------------------+------------------+
| length(c1) | length(c2) | concat(c1,'yes') | concat(c2,'yes') |
+------------+------------+------------------+------------------+
| 2 | 3 | ayes | a yes |
+------------+------------+------------------+------------------+
可以很明显看出,char类型和varchar类型的前空格在检索时不会被省略,但是尾部空格就不一样了,char类型尾部空格是忽略的,varchar类型则反之;
至于varchar与TEXT是完全一样的(以前的版本的是和TINYTEXT版本一样),唯一的区别在于TEXT的上限是确定的,不需要特定区设置一个宽度,但是varchar类型需要自己设定。
2..xxxBLOB BINARY(M) VARBINARY(M):
它们的都是存储二进制字符串的字段类型。他们与文本的区别是排序是按照二进制编码进行的,使得排序更加准确。
3.ENUM
mysql> create table test5(en enum('A','B'));
mysql> insert test5 select 'a';
mysql> insert test5 select null;
相关文档:
2009-05-05
打开MySQL远程访问权限
关键字: mysql
1、改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>upda ......
一直困扰我快半年的问题终于得到解决, 服务器的mysql老是运行一段时间,自动停止了,必须手动启动. !
我找偏网上所有的方法,但没有一个能解决,什么修改配置文件啊.定时启动.都没效果. 根据专家观察,这样的理论和现象都是值得各位站长深思的,所以希望大家多做研究学习,争取总结出更多更好的经验!
这个方法是我 ......
首先:确定数据库的编码为utf8,正常储存中文(用MySQL-Front查看中文是否正常)
然后:Services查询MySQL时使用"SET NAMES 'utf8'",且通过"amfphp/browser"运行看看是否中文,如果乱码则修改gateway.php文件,去掉 $gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1");
最后:运行Flex程序显 ......
MySQL日期时间类型大致可以分成(5.0版本):
DATE:4字节 1000-01-01 ----9999-12-31
TIME:3字节 -839:59:59 -----839:59:59
YEAR:1字节 1901-----2155
DATETIME:8字节 1000-01-01 00:00:00 -------- 9999-12-31 23:59:59
TIMESTAMP:4字节 19700101080001&nbs ......