MySql (MariaDB)的varchar字段的存储的是字符还是字节

关于varchar字段:

  在version4之前,按字节;

  version5之后,按字符。

现在普遍都按字符算:无论中文英文,都算一个字符

既:
varchar(10)  == ‘123456789a‘ == ‘123456789汗‘

  

时间: 2024-10-12 16:40:33

MySql (MariaDB)的varchar字段的存储的是字符还是字节的相关文章

转:Mysql 中 varchar字段的存储限制

被问到一个问题:MySQL中varchar最大长度是多少?这不是一个固定的数字.本文简要说明一下限制规则. 1.限制规则 字段的限制在字段定义的时候有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535. b) 编码长度限制 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过2184

mysql中char,varchar,text

1.char char最大长度是255字符,注意是字符数和字符集没关系. 1)可以有默认值, 2)尾部有空格会被截断 3)不管汉字.英文,还是其他编码,都可以存255字符 2.varchar 1)varchar最多能存储65535个字节的数据,varchar 的最大长度受限于最大行长度(max row size,65535bytes),65535并不是一个很精确的上限,可以继续缩小这个上限 65535个字节包括所有字段的长度,变长字段的长度标识(每个变长字段额外使用1或者2个字节记录实际数据长度

mysql查询某一个字段是否包含中文字符

在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是: SELECT col FROM table WHERE length(col)!=char_length(col) 网上搜索有很多种查询方法,但是试了很多都不行,这个是找到的可以使用的查询方法,原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的. # 以下这两个方法查询字段中是否包含中文 SELECT country FROM

Mysql中万能的varchar字段

很久以前,就见过一个架构师设计数据库时所有字段都使用varchar类型,当时以为方便存储和迁移,今天自己在设计字段的时候想起了这件事情,就验证了一下,mysql中的varchar类型,差不多能算是个万能类型. 例如: 1.需要设计一个datetime字段类型,方便以后按时间检索,这时可以使用varchar类型替代,经过验证mysql中,varchar类型可以满足datetime类型的检索,如下: CREATE TABLE c_test( id INT PRIMARY KEY, NAME VARC

MySQL索引使用:字段为varchar类型时,条件要使用''包起来

结论: 当MySQL中字段为int类型时,搜索条件where num='111' 与where num=111都可以使用该字段的索引.当MySQL中字段为varchar类型时,搜索条件where num='111' 可以使用索引,where num=111 不可以使用索引 验证过程: 建表语句: CREATE TABLE `gyl` ( `id` int(11) NOT NULL AUTO_INCREMENT, `str` varchar(255) NOT NULL, `num` int(11)

用 pymysql 打印 MySQL/MariaDB 的所有库名、表名和字段名

[环境] Python 版本:3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] PyMySQL 版本:0.8.1 [代码] #encoding: utf-8 #author: walker #date: 2018-07-26 #summary: 打印 MySQL/MariaDB 里面的所有库名.表名和字段名 import pymysql import pprint   DBHost = r'1

linux架构学习第二十八天之Mysql/MariaDB数据库入门

内容: 1.数据库简介以及mysql/mariadb背景介绍 2.数据库的一些名词 3.mysql的服务结构 4.mysql客户端的使用 5.数据类型 6.SQL语句介绍 7.mysql的事务机制 一.数据库简介以及mysql/mariadb背景介绍 数据可以存放在多种位置,如普通文件.专门的数据库中,而两者有什么区别,而为什么选择数据库存储?我们知道,假如数据存在普通文件中,当我们要查找其中的一个数据时,要把整个文件加载到内存中,再进行检索,这样速度慢不说,一旦文件较大,直接把内存撑爆了,而数

MySQL/MariaDB基础

数据库管理系统很早就有了,在最开始时,数据库管理的结构是层次化的,即层次模型,它是一个树形结构,可以通过有限次的查找来定位需要的数据,然而,这种查找还是需要遍历才能实现,所以这种模型应用时间不长久:之后有了网状模型,也就是多个树的集合:层次模型和网状模型都称为非关系型数据库.之后由Edgar Frank Codd提出了一个关系型数据库的模型,从此之后就有了关系模型,其中Oracle公司就是以此为原型开发了Oracle数据库:到现在又提出了反关系模型--No-SQL,它是非关系型的数据库,例如:键

关于数据库管理系统DBMS--关系型数据库(MySQL/MariaDB)

数据库管理系统--DBMS:用来管理数据库 数据库的结构(3种):层次,网状,关系型(用的最多): DBMS的三层模型: 视图层:面向最终用户: 逻辑层:面向程序员或DBA: 物理层:面向系统管理员: 关系型数据库管理系统--RDBMS: 主要的组成部分是表:表是由行(实例,实体,记录)和列(字段,域)组成: 关系型数据库管理系统的实现: 商业方案:Oracle,Sybase{为微软提供了思路出现SQL-server},Infomix{IBM收购},DB2{IBM} 开源方案:PostgreSQ