mysql 数据库varchar(100)可以存储多少个汉字,多少个数字

如题所述

4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节)
5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个
其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是可以存50个汉字的
具体还是要看版本的:
4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)
5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。
mysql
数据库自身特点:
1.
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
  
2.
支持AIX、FreeBSD、HP-UX、Linux、Mac
OS、Novell
Netware、OpenBSD、OS/2
Wrap、Solaris、Windows等多种操作系统
 
3.
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
  
4.支持多线程,充分利用CPU资源
  
5.优化的SQL查询算法,有效地提高查询速度
  
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB
2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
  
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
  
8.提供用于管理、检查、优化数据库操作的管理工具
  
9.可以处理拥有上千万条记录的大型数据库
应用环境
与其他的大型数据库例如Oracle、DB2、SQL
Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL
Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
  目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。
管理软件  可以使用命令行工具管理MySQL数据库(命令mysql

mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL
Query
Browser。
phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。
phpMyBackupPro也是由PHP写成的,可以透过Web界面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL
数据库。
另外,还有其他的GUI管理工具,例如早先的mysql-front
以及
ems
mysql
manager,navicat
等等。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-18
4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节)
5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个
其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是可以存50个汉字的
具体还是要看版本的:
4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)
5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。
mysql
数据库自身特点:
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
  
支持AIX、FreeBSD、HP-UX、Linux、Mac
OS、Novell
Netware、OpenBSD、OS/2
Wrap、Solaris、Windows等多种操作系统
 
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
  
4.支持多线程,充分利用CPU资源
  
5.优化的SQL查询算法,有效地提高查询速度
  
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB
2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
  
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
  
8.提供用于管理、检查、优化数据库操作的管理工具
  
9.可以处理拥有上千万条记录的大型数据库
应用环境
与其他的大型数据库例如Oracle、DB2、SQL
Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL
Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
  目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。
管理软件  可以使用命令行工具管理MySQL数据库(命令mysql

mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL
Query
Browser。
phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。
phpMyBackupPro也是由PHP写成的,可以透过Web界面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL
数据库。
另外,还有其他的GUI管理工具,例如早先的mysql-front
以及
ems
mysql
manager,navicat
等等。
第2个回答  2020-05-05
不仅要看数据库版本,还要看数据库表使用的编码。
如果是utf8字符集
存放65535/3-3个汉字
存英文也一样
如果是latin1字符集可以在65532个英文
这时不能存放汉字...
通用的,一般情况下varchar(n),可存储的汉字,数字,字母都是n个!
参考:网页链接
MySQL
数据库
varchar
到底可以存多少个汉字,多少个英文呢?
第3个回答  2020-03-16
4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节)
5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个
其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是可以存50个汉字的
第4个回答  2019-12-25
具体还是要看版本的
4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)
5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。
自己在数据库中建个表测试下可以放多少个汉字。
示例:以5.0以上版本为例。
新建表:
CREATE TABLE varchar_test (
`id` int(11) NOT NULL ,
`string` varchar(20)
) ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8COLLATE=utf8_general_ci插入表
INSERT INTO varchar_test (id, string)
VALUES (1, '一二三四五六七八九十');
INSERT INTO varchar_test (id, string)
VALUES (2, '一二三四五六七八九十一二三四五六七八九十');
INSERT INTO varchar_test (id, string)
VALUES (3, '12345678901234567890');
测试结果:
1:一二三四五六七八九十
2:一二三四五六七八九十一二三四五六七八九十
3:12345678901234567890
如果插入字符超过21个,则报错
INSERT INTO varchar_test (id, string)
VALUES (3, '123456789012345678901');[Err] 1406 - Data too long for column'string' at row 1可见MySQL的varchar(n)可以存储的中文字符数和英文字符数是一致的,都是n个字符

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网