質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

1560閲覧

mysql TEXT型 文字数

whxtna

総合スコア57

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2017/09/07 04:49

mysqlの文字列型の中に、
TEXT型があると思うのですが、
最大65535バイトのようですが、日本語は何文字ぐらいまで格納できるのでしょうか?

また、
テーブル定義の際に、
20~30文字の日本語を格納するカラムを定義する際は、
皆さんなら型はどう設定されますでしょうか?

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

最大65535バイトのようですが、日本語は何文字ぐらいまで格納できるのでしょうか?

下記質問が参考になるでしょう。

※この手の内容は既に出ている可能性があるので調べればすぐ出てきます
「日本語」というのは非常にざっくりとした意味合いとなります。
半角カナも日本語といえますしね。全て全角で打てばざっくり計算でご提示のバイト数の半分です。

20~30文字の日本語を格納するカラムを定義する際は、

皆さんなら型はどう設定されますでしょうか?

最大30文字が担保されるのであれば varchar(30) です。
もちろんバリデーションで文字数はチェックしますよね?

投稿2017/09/07 04:53

編集2017/09/07 04:56
m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

whxtna

2017/09/07 05:08 編集

ご回答ありがとうございます。 バリデーションは行います。 varchar(n)のnはバイト数ではなく文字数になるんでしょうか?
m.ts10806

2017/09/07 05:09

varcharの型を調べればすぐに分かると思いますよ。
maisumakun

2017/09/07 05:09

UTF-8で格納すればASCIIは1バイト、かなや漢字(一部除く)は3バイト、というように、エンコードによっても文字のデータ量は違ってきます。
m.ts10806

2017/09/07 05:10

あ、3バイトでした。補足ありがとうございます。
whxtna

2017/09/07 05:11

仰る通りです。 調べてみます。 お二人ともありがとうございます。
yambejp

2017/09/07 05:45

厳密に言うとTEXT型は2バイト余分にデータを食うので注意してください また文字列を検索対象とする場合は、TEXT型よりCHAR(VARCHAR含む)型の 方が有利です
whxtna

2017/09/07 06:15

なるほどですね。 参考にさせていただきます。
whxtna

2017/09/07 06:15

ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問