ホームページ データベース mysql チュートリアル MS SQL Server の基本を再考した理由: 文字列データ型の詳細

MS SQL Server の基本を再考した理由: 文字列データ型の詳細

Aug 30, 2024 am 06:40 AM

今日、マネージャーに PR について話したところ (店舗の手順に関するものでした)、マネージャーはそれについていくつか質問しました。

「なぜ文字列のデータ型を nvarchar(n) ではなく varchar(n) として宣言するのですか?」やその他のシナリオベースの質問など、

あなたも大学の先輩や先生と同じような状況に直面したことがあるかもしれません。

私は彼に答えましたが、その議論は私の基本的な部分に疑問を投げかけました。

そして、最初から見直すことにしました。

改訂中にいくつかの点に気づいたので、皆さんにも共有したいと思い、この記事を書きました。

Why I Revisited MS SQL Server Basics: A Deep Dive into String Data Types

最初から始めましょう。

データベースを作成すると、バックグラウンドで 2 つのファイルが生成されます。

  1. データ ファイル: これには (.mdf) 拡張子があり、プライマリ データ ファイルとして知られています。
  2. ログ ファイル: これには (.ldf) 拡張子があり、トランザクション ログ ファイルとして知られています。

ただし、生成するファイルの数を設定できます。 3 つ以上のファイルを設定する場合は、3 番目のカテゴリがあります:

  • ユーザー定義ファイル: 拡張子 (.ndf) を持つセカンダリ データ ファイル

DB トランザクションを実行すると、最初にログ ファイルに保存され、トランザクションが完了するとプライマリ データ ファイルに更新されます。

各ファイルのデフォルトおよび最小サイズは 8 MB で、最大サイズに制限はありません。また、データベースに関しては、Microsoft によれば、1 つのデータベースは最大 524 PB まで可能です。

選択クエリと印刷クエリ

「選択」クエリを使用したことがある場合は、「印刷」クエリについても聞いたことがあるかもしれません。

いつどちらを使用するかを理解しましょう。

基本的に、「選択」クエリはテーブル データをグリッド形式で返しますが、「印刷」クエリはデータをテキストとして返します。

そのため、テーブル データに対して操作を実行する必要がある場合は常に「select」クエリを使用し、ログやエラーを出力する場合は主に「print」クエリを使用します。

それでは、面接で最も気に入った質問について話しましょう。

Why I Revisited MS SQL Server Basics: A Deep Dive into String Data Types

Char vs Varchar vs Nvarchar?

文字:

Char は最大 8000 文字を保存し、文字スペースごとに 1 バイトを保持します。

  • サイズを指定しない場合、デフォルトで SQL は 1 バイトをそれに割り当て、1 文字だけを保持します。

  • 定義されたサイズより多くの入力を与えると、データは自動的に切り捨てられます。

  • Char は 静的メモリ割り当て に従います。そのため、20 バイトのサイズを割り当てて 10 文字を格納した場合でも、SQL はすべての 20 バイトのストレージを割り当て、残りの 10 バイトはメモリとみなされます。スペースの無駄です。

Varchar:

  • Varchar は、最大 2GB のデータを保存でき、文字スペースごとに 1 バイトを保持できます。テーブルには最大 8000 バイト のデータが保存されますが、それを超えるデータはテキスト ファイルに保存されます。

  • 複数の記事で 8000 バイトという制限があることに気づいたかもしれません。

  • 2GB データを格納する列を宣言するには、varchar(max) を使用できます。

  • Varchar は 動的メモリ割り当て に従います。したがって、20 バイトのサイズを割り当てて 10 文字を格納すると、SQL は 10 バイトのストレージのみを割り当て、残りの 10 バイトは保存されます。

Nvarchar:

  • Nvarchar は varchar と同じプロパティに従いますが、唯一の違いは、1 文字を格納するのに 2 バイトを使用することです。

  • Unicode 標準データに従っており、複数の言語をサポートしているためです。
    また、char、varchar は ASCCI 標準データに従います。

Text というデータ型がもう 1 つありますが、これは非推奨になっているため、無視してかまいません。

調査中に非常に役立つと感じた記事が 1 つあります。すべてのデータ型に関する詳細情報が含まれています。

詳細については、こちらを参照してください。

何かを見逃している、または更新する必要があると思われる場合は、お気軽にコメントしてください。それは私だけでなく私たちのコミュニティにも役立ちます。

以上がMS SQL Server の基本を再考した理由: 文字列データ型の詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

DockerでのMySQLメモリの使用を減らします DockerでのMySQLメモリの使用を減らします Mar 04, 2025 pm 03:52 PM

DockerでのMySQLメモリの使用を減らします

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

mysqlの問題を解決する方法共有ライブラリを開くことができません mysqlの問題を解決する方法共有ライブラリを開くことができません Mar 04, 2025 pm 04:01 PM

mysqlの問題を解決する方法共有ライブラリを開くことができません

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Mar 04, 2025 pm 03:54 PM

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

sqliteとは何ですか?包括的な概要 sqliteとは何ですか?包括的な概要 Mar 04, 2025 pm 03:55 PM

sqliteとは何ですか?包括的な概要

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド Mar 04, 2025 pm 03:49 PM

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?

See all articles