ホームページ データベース mysql チュートリアル MySQL中VARCHAR和CHAR格式数据的区别

MySQL中VARCHAR和CHAR格式数据的区别

Jun 07, 2016 pm 02:58 PM
char m varchar

CHAR与VARCHAR类型类似,但它们保存和检索的方式不同。CHAR有固定的长度,而VARCHAR属于可变长的字符类型。它们最大长度和是否尾

区别

CHAR与VARCHAR类型类似,但它们保存和检索的方式不同。CHAR有固定的长度,而VARCHAR属于可变长的字符类型。它们最大长度和是否尾部空格被保留等方面也不同。在存储和检索过程中不进行大小写转换。

下面的表格显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:

值 CHAR(4) 存储需求 VARCHAR(4) 存储需求

'' ' ' 4个字节 '' 1个字节

'ab' 'ab ' 4个字节 'ab' 3个字节

'abcd' 'abcd' 4个字节 'abcd' 5个字节

'abcdefgh' 'abcd' 4个字节 'abcd' 5个字节

从上面可以看得出来CHAR的长度是固定的,不管你存储的数据是多少他都会都固定的长度。而VARCHAR则处可变长度但他要在总长度上加1字节,这个用来存储字符长度(如果声明的长度超过255,,则使用2个字节)。所以实际应用中用户可以根据自己的数据类型来做。

请注意,上表中最后一行的值只适用不使用严格模式时;如果MySQL运行在严格模式,超过列长度的值不被保存,并且会出现错误。

从CHAR(4)和VARCHAR(4)列检索的值并不总是相同,因为检索时从CHAR列删除了尾部的空格。通过下面的例子说明差别:

mysql> CREATE TABLE test(a VARCHAR(4), b CHAR(4));
mysql> INSERT INTO test VALUES ('ab ', 'ab ');
mysql> SELECT CONCAT(a, '+'), CONCAT(b, '+') FROM test;

结果如下:

CONCAT(a, '+') CONCAT(b, '+')

ab + ab+

从上面可以看出来,由于某种原因CHAR有固定长度,所以在处理速度上要比VARCHAR快很多,但是相对浪费存储空间,所以对存储不大,但在速度上有要求的可以使用CHAR类型,反之可以用VARCHAR类型来实现。
建议

MyISAM存储引擎 建议使用固定长度,数据列代替可变长度的数据列
INNODB 存储引擎 建议使用VARCHAR类型

MySQL InnoDB存储引擎锁机制实验

InnoDB存储引擎的启动、关闭与恢复

MySQL InnoDB独立表空间的配置

MySQL Server 层和 InnoDB 引擎层 体系结构图

InnoDB 死锁案例解析

MySQL Innodb独立表空间的配置

本文永久更新链接地址

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AITOのWenjie M9パノラマスマートフラッグシップSUVが間もなくデビューします AITOのWenjie M9パノラマスマートフラッグシップSUVが間もなくデビューします Sep 26, 2023 pm 02:41 PM

9月25日のニュースによると、ファーウェイモールはAITOのWenjie M9車の予約受付を開始したという。この車は、目を引く機能を備えたパノラマスマートフラッグシップSUVとして位置付けられています。消費者は5,000元の保証金を支払うだけで、最終支払いの最大10,000元を相殺することができ、新型車は航続距離延長バージョンと純粋な電気バージョンの2つのバージョンが用意される。価格は50万~60万元になる見込みで、高級SUV市場で競争力がある。 Wenjie M9 は 2023 年の第 4 四半期に正式に発売される予定ですが、その具体的な構成に関する情報はまだ明らかにされていませんが、M9 モデルはファミリー向けの設計言語を採用していると考えられています。 2枚の公式写真から判断すると、車両のサイドラインは滑らかで、ドアハンドルは隠されたデザインを採用し、車両全体にテクノロジーが追加されています。

mysql で varchar 型を使用して日付比較、並べ替え、その他の操作を実装する方法 mysql で varchar 型を使用して日付比較、並べ替え、その他の操作を実装する方法 May 31, 2023 pm 01:49 PM

MySQL の使用中、日付は通常、日時、タイムスタンプ、その他の形式で保存されます。しかし、特別なニーズや歴史的理由により、日付が varchar 形式で保存される場合があります。では、varchar 形式の日付データをどのように処理すればよいでしょうか? ?使用する関数: STR_TO_DATE(str,format) STR_TO_DATE(str,format) 関数は、DATE_FORMAT() 関数の逆関数です。文字列 str とフォーマット文字列 format を受け取ります。 STR_TO_DATE() は、形式文字列に日付と時刻のコンポーネントが含まれている場合、または単語が含まれている場合、DATETIME 値を返します。

mysqlのcharとvarcharの違いは何ですか mysqlのcharとvarcharの違いは何ですか Sep 04, 2023 pm 02:16 PM

mysql における char と varchar の違いは次のとおりです: 1. CHAR は固定長ですが、VARCHAR は可変長です; 2. CHAR の保存と検索の効率は高いですが、VARCHAR の保存と検索の効率は高くありません; 3. CHAR はストレージ領域を占有します, VARCHAR を使用すると、ストレージ領域を節約できます。

デジタル仮想通貨とは何ですか?デジタル仮想通貨はどこで購入できますか? デジタル仮想通貨とは何ですか?デジタル仮想通貨はどこで購入できますか? Feb 14, 2025 pm 05:06 PM

暗号通貨または仮想通貨としても知られるデジタル仮想通貨は、分散型デジタル通貨です。従来の通貨とは異なり、デジタル仮想通貨は中央銀行や政府によって管理されていませんが、インターネット上のコンピューターネットワークを通じて取引されています。デジタル仮想通貨のセキュリティは、複雑な暗号化アルゴリズムによって保証されており、それらを非焦点、匿名性、グローバルな循環にします。デジタル仮想通貨の人気により、購入チャネルも増加しています。

C 言語のキーワード: go もその 1 つですか? C 言語のキーワード: go もその 1 つですか? Mar 15, 2024 am 11:15 AM

C 言語のキーワード: go もその 1 つですか? C言語を学習していく過程では、プログラミングにおいて重要な役割を果たすさまざまなキーワードに必ず遭遇します。初心者にとっては、C 言語に「go」というキーワードはあるの?など、疑問に思うことがあります。次に、この問題について一緒に考えてみましょう。まず最初に、C 言語は非常に古典的なプログラミング言語であり、そのキーワードは長い間決められており、簡単には変更されないことを明確にする必要があります。 C言語の場合

CentOS7 は Jenkins に cicd サービスをデプロイします CentOS7 は Jenkins に cicd サービスをデプロイします Feb 20, 2024 am 08:30 AM

プロジェクトアドレス https://www.jenkins.io/zh/Set ホスト名: hostnamectlset-hostnamejenkins 時間なしの個人用ホスト名 echo"PS1='[e[37;1m][[e[36;40m][e [32 ;40m]u[e[33;40m]@[e[31;40m]h[e[34;40m]w[e[37;1m]]\$[e[m]'">>。bashrc が閉じますCentOS7独自のファイアウォールサービスsystemctldisablefirewalld&&systemctlstopfirewa

MySQL は VARCHAR のサイズをどのように決定するのか MySQL は VARCHAR のサイズをどのように決定するのか May 27, 2023 pm 09:20 PM

まず第一に、TEXT 型の使用は効率に重大な影響を与えるため、推奨されません。最善の方法は、VARCHAR を使用してフィールドの最大長を決定することです。まずテーブルにフィールドrule_valueを定義し、長さを255に設定してから、最小のjson文字列を入力します。MySQLのCHAR_LENGTH関数を使用してrule_valueのサイズを計算します: SELECTid、rule_type、rule_value、CHAR_LENGTH(rule_value) as rules_value_length、rule_markFROMtest_tableWHEREr

Huawei Smart Car M7: 9月に新たに発表され、運転体験の品質が向上しました! Huawei Smart Car M7: 9月に新たに発表され、運転体験の品質が向上しました! Aug 22, 2023 am 09:13 AM

ファーウェイ幹部の余成東氏は本日、自身の微博でファーウェイの新型スマートカー「M7」に関するエキサイティングなニュースを明らかにし、この新型車は9月に正式に発売される予定で、消費者に新たな運転体験をもたらすとのことだ。運転と乗り心地の点で大きな進歩を遂げました。運転していても乗っていても、明らかに改善を感じることができます。車両の視認性とパフォーマンスが大幅に最適化されており、長距離の家族旅行に最適です。同氏はまた、より快適な乗車体験を生み出すために、ファーウェイが新しい内外装デザインに多大なエネルギーを投資したことにも言及した。新しいシートはより柔らかく快適で、より強力なラッピング特性を備えているため、乗客は移動中により良い休息を取ることができます。

See all articles