MySqlデータベースの基礎知識のまとめ

MySqlデータベースの基礎知識のまとめ

この記事では、例を使用して、MySql データベースの基本的な知識ポイントを説明します。ご参考までに、詳細は以下の通りです。

  • 基本的なデータベース操作

    1) データベースを作成する

    基本構文: create database數據庫名稱;
    itcast という名前のデータベースを作成します。 SQL 構文は次のとおりです。

     「データベース `itcast` を作成します;」
    

    ユーザー定義名とシステム コマンドの競合を回避するには、データベース名/フィールド名とデータ テーブル名を含めるときにバッククォート (``) を使用するのが最善です。 <br /> 作成中のデータベースが存在する場合、プログラムはエラーを報告します。これを防ぐには、データベースの作成時に「if not exists」を使用できます。構文は次のとおりです。

    データベースが存在しない場合は再作成する `itcast` 
    // このステートメントは、itcast という名前のデータベースがデータベースに存在しない場合は、データベースが作成されることを意味します。それ以外の場合は、データベース itcast を作成する操作は実行されません。

    2) データベースを表示する

    データベースを作成した後、データベース情報を表示したい場合は、次のステートメントを使用できます。

     ``show caeate database データベース名``
    

    MySqlデータベースサーバー上の既存のデータベースを表示する

     「データベースを表示」
    

    3) データベースを選択する

    データベース サーバーには複数のデータベースが存在する場合があります。データベースを選択するためのコマンド構文は次のとおりです。

     「データベース名を使用する」
    

    4) データベースを削除する

    データベースの削除操作では、データベース内のデータが削除されるだけでなく、元々割り当てられていたストレージ領域も再利用されます。

     ``データベースデータベース名を削除``
    

    「drop database」コマンドを使用してデータベースを削除する場合、削除されたデータベースが存在しない場合は、MySql サーバーはエラーを報告します。したがって、データベースを削除するときは、「if existing」コマンドを使用できます。

     ``存在する場合はデータベースを削除する `itcase` 
     // データベース itcase が MySql データベース サーバーに存在する場合はデータベースを削除します。存在しない場合はデータベース itcasse を削除しません。
    
  • データ型

データ テーブルを作成するときは、各フィールドのデータ型を選択する必要があります。データ型の選択によって、データの保存形式、有効範囲、および対応する制限が決まります。

MySQLはさまざまなデータ型を提供しており、主に3つのカテゴリに分類されます。

  • 数値型

  • 文字列型

  • 日付と時刻の種類

    1) 数値型

    MySql は多くの数値型を提供しており、大まかに整数型と浮動小数点型に分けられます。整数型は値の範囲に応じて int や smallint などに分けられます。
    浮動小数点型は float、declmal などに分けられます。

    整数型
    ここに画像の説明を挿入

    浮動小数点型
    ここに画像の説明を挿入

    10 進数の有効な値の範囲は、M と D によって決まります。その中で、MとDが決定します。このうち、M はデータ長、D は小数点以下の長さを表します。たとえば、データ型が DECIMAL(4,1) に設定されている場合、データベースに 3.1415926 を挿入すると、表示される結果は 3.1 になります。

    文字列型

    プロジェクトを開発する場合、保存する必要があるデータのほとんどは文字列形式であるため、MySQL では文字列を保存するための多くのデータ型が提供されています。
    ここに画像の説明を挿入
    ここに画像の説明を挿入
    BLOB と TEXT はどちらも大量のデータを保存するために使用されますが、両者の違いは、BLOB は保存されたデータの並べ替えや比較の際に大文字と小文字を区別するのに対し、TEXT は大文字と小文字を区別しないことです。

    日付と時刻の型<br /> データベースに日付と時刻を保存しやすくするために、MySQL ではいくつかの関連データ型が提供されており、実際の開発に応じて柔軟に選択できます。
    ここに画像の説明を挿入

2) ストレージタイプ

データベースでは、データ テーブル設計の合理性がデータベースの有効性に直接影響し、データ テーブルを設計する際のストレージ エンジンの選択によって、データ テーブルが持つ機能が決まります。次に、よく使われるMySQLストレージエンジンとその機能を紹介します。

  • InnoDB ストレージ エンジン

  • MyISAM ストレージエンジン

  • メモリストレージエンジン

  • アーカイブストレージエンジン

    InnoDB エンジン

    InnoDB ストレージ エンジンは、MySQL バージョン 5.5 以降、デフォルトのストレージ エンジンとして指定されており、トランザクションのトランザクション安全処理、ロールバック、クラッシュ回復、およびマルチバージョン同時実行制御を完了するために使用されます。また、これは MySQL で初めて外部キー制約を提供するテーブル エンジンでもあり、特にそのトランザクション処理機能は他の MySQL ストレージ エンジンとは比べものにならないほど優れています。

    InnoDB の利点は、優れたトランザクション管理、クラッシュ回復機能、同時実行制御を提供することです。

    MyISAM ストレージエンジン

    MyISAM ストレージ エンジンは、ISAM ストレージ エンジンに基づいて開発されています。ISAM の多くの欠点を解決するだけでなく、多くの便利な拡張機能も追加されています。

    このうち、MyISAM ストレージエンジンを使用するデータテーブルの場合は、3 つのファイルに保存されます。ファイル名はテーブル名と同じで、ファイル拡張子はそれぞれ frm、myd、myi です。
    ここに画像の説明を挿入
    InnoDBと比較した場合、MyISAMの利点は処理速度が速いことであり、欠点はトランザクション処理などをサポートしていないことです。

    メモリストレージエンジン

    MEMORY ストレージ エンジンは、MySQL の特別なタイプのストレージ エンジンです。 MEMORY ストレージ エンジンを搭載したテーブルでは、すべてのデータがメモリに格納されるため、データ処理は高速ですが、データを永続化できない (プログラム エラーが発生したり、コンピューターがシャットダウンしたりするとデータが失われる) ほか、大きすぎるデータは格納できません。 MEMORY ストレージ エンジンは、高速な読み取りおよび書き込み速度が求められるものの、データ量が少なく、永続化する必要がないデータに最適です。

    アーカイブ保存タイプ

    ARCHIVE ストレージ エンジンは、長期間保持されるがほとんどアクセスされない大量のデータを保存するのに適しています。 ARCHIVE ストレージ エンジンを使用するデータ テーブルの場合、データは保存時に zlib 圧縮ライブラリを使用して圧縮され、レコードが要求されるとリアルタイムで解凍されます。 ARCHIVE ストレージ エンジンはクエリと挿入操作のみをサポートしており、データのインデックス作成をサポートしていないため、クエリの効率が比較的低いことに注意してください。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQLを学んだ後のまとめ(基礎編)
  • MySQLの基本を素早く学ぶ
  • MySQL データベースの基本コマンド (コレクション)
  • MySQL入門(I)データテーブルとデータベースの基本操作
  • 初心者向けMySQLシリーズチュートリアル

<<:  React NativeのstartReactApplicationメソッドの簡単な分析

>>:  Linux inotifyリアルタイムバックアップの実装方法の詳細説明

推薦する

MYSQL の 3 つのツリー構造テーブル設計の長所と短所の簡単な分析と共有

目次導入質問設計 1: 隣接リストテーブルデザインSQL の例デザイン 2: パスの列挙テーブルデザ...

VirtualBox6上のCentOS7で静的IPを設定する方法と注意点

VirtualBox をインストールした後、CentOS 7 をインストールします。ここでは詳細には...

Centos7 に mysql と mysqlclient をインストールする際に遭遇する落とし穴の概要

1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...

Nginx リバース プロキシはポート 80 のリクエストを 8080 に転送します

まず、一連の概念を理解しましょう。nginx リバース プロキシとは何でしょうか?リバース プロキシ...

MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル (CentOS7)

LinuxにMySQL 5.7.18をインストールする方法1. MySQLをダウンロードします。公...

HTML と CSS に関する基本的なメモ (フロントエンドでは必読)

HTMLに触れた当初はレイアウトにいつもテーブルを使っていましたが、とても面倒で見た目も悪かったの...

docker を使用して minio と java sdk を構築するプロセスの詳細な説明

目次1minioはシンプル2 Dockerビルド minio 2.1 単一ノード2.2 マルチノード...

CSS3はシームレスなスクロールと手ぶれ防止を実現します

質問画像とテキストのシームレスなスクロールは、一般的に携帯電話では良い効果をもたらしますが、一部のモ...

HTML メタタグの小さなコレクション

<Head>……</head> は <HTML> のファイル ヘ...

MySQL 8.0.17 のインストールと使用方法のチュートリアル図

前面に書かれた過去および現在のプロジェクトで最も一般的に使用されているリレーショナル データベースは...

MySQLのバージョンアップ方法を超詳しく解説

目次1. はじめに2. データベースをバックアップする3. オリジナルのMysqlをアンインストール...

MySQLのデッドロックとログに関する詳細な説明

最近、MySQL オンラインでいくつかのデータ異常が発生しましたが、すべて早朝に発生しました。ビジネ...

CentOS に Docker をインストールし、Springboot で Docker をリモート公開する方法

目次1. CentOS7.0へのJDK1.8のインストール2. Dockerのインストール3.Doc...

Linux 継続的インテグレーションで Maven を自動的にインストールする方法

Mavenパッケージを解凍する tar xf apache-maven-3.5.4-bin.tar....

Dockerコンテナのディスクがいっぱいになった場合の状況のまとめ

序文この記事では、最近私が遭遇した 2 つの状況について説明します。今後、新たな発見があれば追加して...