在数据库中一个汉字到底占几个字节

首先要知道,一个汉字在MySQL中占几个字节是跟编码方式有关的

GBK编码:一个汉字占2个字节

UTF-8编码:一个汉字占3个字节

一般数据库设置的编码格式都是UTF-8,那就以UTF-8为例,varchar(10)只能存3个汉字吗?答案是不一定。

根据数据库不同而不同

mysql数据库varchar是以字符为单位的,一个汉字即一个字符,varchar(10)能存10个汉字,占30个字节。

CREATE TABLE `account` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) DEFAULT NULL,
  `balance` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

在这里插入图片描述

在数据库中一个汉字到底占几个字节_第1张图片

超过10个字符报错

oracle数据库varchar2是以字节为单位的,varchar2(10)表示能存10个字节,一个汉字占3个字节,所以最多能存3个汉字。

如果是字母那就都一样了,一个字母在mysql数据库中占一个字符,在oracle数据库中占一个字节

你可能感兴趣的:(数据库,oracle,mysql)