MySQL の基本クイックスタート知識のまとめ (マインドマップ付き)

MySQL の基本クイックスタート知識のまとめ (マインドマップ付き)

序文

この記事は、この期間に私が独学で学んだ基本的な MySQL の知識をまとめたものです。私自身は MySQL 5.7 を使用しています。

1. データベースの基礎知識

1. データベースとは何ですか?

データベースは、特定のデータ構造に従ってデータを整理、保存、管理する倉庫です。大量の情報を管理するための効率的なソリューションです。

データベースシステム DBS = データベース DB + データベース管理システム DBMS。

2. データベースの分類

データベースは、リレーショナル データベースとサブリレーショナル データベースに分けられます。

リレーショナル: リレーショナル モデルに基づいて構築されたデータベースです。名前が示すように、リレーショナル モデルは、エンティティとエンティティ情報の関係を記録するために使用される 2 次元テーブル モデルです。一般的なリレーショナル データベースには、Oracle、MySQL、SQL Server などがあります。

非リレーショナルデータベース: リレーショナルモデルに基づかないデータベース。主にMongoDBやRedis

3. データベースの共通言語

データベースシステム

構造化クエリ言語 SQL

データベース

データベース管理システム DBMS

テーブル
行 => レコード
列 列 => フィールド フィールド

4. データベースの共通操作

DOS コマンド:

リモートホストに接続します: mysql -h ホスト名/IP アドレス-P ポート番号-u ユーザー名-p パスワード ローカルホストに接続します: mysql -u ユーザー名-p パスワード

クライアント(可視化ソフトウェア):Navicat

コード:

ウェブページ: PHPMyAdmin

5. MySQL アーキテクチャ

C/Sアーキテクチャ:
サーバー管理とストレージデータ
クライアントは操作要求を送信する

2. データベースの追加、削除、変更、クエリ

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

#データベースを作成するための構文 create database `database name` charset=utf8/gbk;

データベースを作成する前に、まずデータベースに接続する必要があります。自分のローカル データベースで練習することができます。

2. データベースをクエリする

#すべてのデータベースをクエリします。データベースを表示します。
# のような条件でクエリを実行します。ここで、% は任意の数の文字を表し、- は任意の 1 文字を表します。
'%-'のようなデータベースを作成します。
# データベース作成ステートメントを照会します show create database;

3. データベースを変更する

#データベースを変更する(オプション、つまり文字セットのみ変更できます)
alter database `library name` [新しいオプション];

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

#データベースを削除します (構文は単純ですが、結果は深刻です。通常、権限がありません、笑)。
データベース「ライブラリ名」を削除します。 

3. テーブルの追加、削除、変更、確認

1. テーブルを作成する

#テーブルを作成する前に、`データベース名を指定`を使用してデータベースを指定します。
#テーブルの作成 create table `テーブル名`(
`field1` フィールド1 タイプ フィールド1 属性、
...
`fieldN` fieldN タイプ fieldN 属性); [オプション]

オプションは主に次の 3 つのカテゴリに分類されます。

  1. 文字セット charset=utf8 / GBK ...
  2. データエンジン engine = innodb / mysiam
  3. コメント comment = ''コメント''

その他のフィールド タイプとフィールド属性については、後で詳しく説明します。

2. クエリテーブル

#すべてのテーブルをクエリし、テーブルを表示します。
#条件付きクエリは '%-' のようなテーブルを表示します。
#クエリ テーブル構造 desc `テーブル名`;
# テーブル作成ステートメントを照会します show create table `table name`;

3. テーブルを変更する

#テーブルオプションを変更する alter table `テーブル名` [新しいオプション];
#テーブル名を変更するには、テーブルの名前を `old table name` から `new table name` に変更します。
#テーブル内のフィールドを変更します。 alter table `table name` change `old field name` `new field name` new field type;
#フィールドの末尾に新しいフィールドを追加します。 alter table `table name` add `new field name` type attribute;
#対応するフィールドにフィールドを追加し、テーブル `table name` を変更して、`corresponding field` の後に `new field name` タイプ属性を追加します
# フロントにフィールドを追加します。alter table `table name` add `new field name` type attribute first;

4. テーブルを削除する

#テーブルが存在する場合は削除し、存在しない場合はエラーを報告します drop table [if exists] `table name`;

IV. レコードの追加、削除、変更、確認

1. レコードを挿入する

#レコードを挿入 insert into `table name`(`field 1`,...`field`) values('value 1',...,'value N');
#すべての値を一度に渡す場合は、フィールドを省略できます。 insert into `table name` values('value 1',...,'value N');
#複数のレコードを一度に渡す必要がある場合は、`table name`(`field 1`,...`field`) の値に挿入します
('値 1',...,'値 N'),
('値 1',...,'値 N'),
...、
('値 1'、...、'値 N');
# 一度に複数のレコードを渡す必要があり、すべてのフィールドが渡される場合は、`student` に値 (値リスト 1)、(値リスト 2)、(値リスト n) を挿入します。

2. レコードのクエリ(最もよく使用される)

#クエリ構文 select [選択] フィールド リスト as alias from `table name` where conditional expression;

1. 条件式:

論理演算子: and または not

比較演算子: + - * / < > = !=

2. オプション:

all: すべてを照会します。指定しない場合は、デフォルトですべてが選択されます。

distinctive: 重複を削除します。重複はクエリ後のデータを参照し、レコードのすべてのフィールドが同じである場合にのみ重複と見なすことができます。

as: alias。簡単に参照できるように、クエリされたフィールドにエイリアスを設定します。

一般的な集計関数: count()、Max()、Min()、Sum()、avg()

3. テーブル結合クエリ

1. 内部結合 
#接続に関係する 2 つのテーブルで接続条件を満たすレコードを照会し、条件を満たさないレコードを除外します。
接続条件に基づいて `Table 1` から `Table 2` を内部結合して選択します。
2. 左外部結合
#接続に参加する左側のテーブルのレコードは、接続条件に一致しない場合でもクエリされ、右側のテーブルの一致しないレコードはフィルター処理されます。select * from `Table 1` left join `Table 2` on connection Conditions;
3. 右外部結合 
#接続に参加する右側のテーブルのレコードは、接続条件に一致しない場合でもクエリされ、左側のテーブルの一致しないレコードはフィルター処理されます。select * from `Table 1` right join `Table 2` on connection Conditions;

3. 変更記録

#構文 update `table name` set `field` = 'new value' where conditional expression;

4. レコードを削除する

#構文 delete from `table name` where conditional expression;

5. フィールドタイプ

1. デジタル

1.1 整数型

tinyint: 1バイトを占め、合計256の数値を表すことができます。

署名: -128~127
符号なし: 0~255

int: 4バイトを占有します

符号付き: -21億から21億 符号なし: 0から42億

1.2 小数型

浮動小数点数:

float(M,D): 単精度浮動小数点数
double(M,D): 倍精度浮動小数点数

固定小数点数:

小数点(M,D): データが失われない小数点型。通貨の記録によく使用される。

2. テキストタイプ

  1. char(M): 固定長文字、M は最大文字数を表します。利点は、操作速度が速いことです。通常、255 文字以内の固定長文字に使用されます。例: ID カード、電話番号など。
  2. varchar(M): 可変長文字。M は最大文字数を表します。スペースを節約できるという利点があります。255 文字以内で長さが不確定な文字によく使用されます。
  3. テキスト: 256文字以上のテキストでよく使用されます

3. 日時

  1. datetime: 固定の日付と時刻
  2. タイムスタンプ: レコードを追加または更新すると、現在のシステム時刻に自動的に更新され、最終変更時刻または新しく挿入されたレコードの時刻を記録するために使用されます。

6. フィールドのプロパティ

  1. not null: このフィールドの値が空にならないように設定します。書き込まれない場合は、デフォルトで空になります。
  2. default: デフォルト値を設定します。データが渡されない場合は、デフォルト値が使用されます。データが渡された場合は、渡された値が使用されます。
  3. コメント: メンテナンスを容易にするために、中国語のコメント欄を追加しました
  4. 一意のキー: 一意の値 このフィールドの値は繰り返すことはできませんが、空にすることができます
  5. 主キー
    レコードを一意に識別するために使用されます。テーブルには主キーを 1 つだけ設定できます。主キーを空にしたり、重複させたりすることはできません。
  6. auto_increment 自動増加: 新しいレコードが挿入されると、このフィールドの最大値に自動的に 1 が追加されます。このフィールドの型は整数である必要があります。主キーで使用されることが多いですが、主キーで使用する必要はありません。

要約する

MySQL の基本を簡単に紹介したこの記事はこれで終わりです。MySQL の基本に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL 基本データベース作成
  • 1時間で学ぶMySQLの基礎
  • MySQLの基本を学ぶ MySQLコマンドを簡単に学ぶ
  • 20分でわかるMySQLの基礎
  • MySQL 初心者ガイド - クイックリファレンス
  • 30 分でわかる MySQL クイック スタート (画像付き)
  • 21 分でわかる MySQL 入門チュートリアル
  • すぐに学べるMySQLインデックス入門スーパーチュートリアル
  • MySQLの基礎知識のまとめ
  • MySQL ビューの基本操作 (V)

<<:  Vue要素と多言語切り替えの詳細な説明

>>:  IE ブラウザの HTML ハック タグの概要

推薦する

CSS3 フィルターを使用して PNG 画像の色を変更するサンプル コード

この方法は、CSS3のdrop-shadow filterを使用して、png画像の不透明部分に任意の...

Vue で動的パラメータと計算プロパティを使用する方法

1. 動的パラメータ2.6.0 以降では、角括弧で囲まれた JavaScript 式をディレクティブ...

Svelte の Defer Transition を Vue で実装する方法

最近、Rich Harris の <Rethinking Reactivity> ビデオ...

セマンティック HTML 構造の利点は何ですか?

1つ: 1.セマンティック タグは単なる HTML であり、CSS にはセマンティクスはありません...

vue3 再帰コンポーネントカプセル化の全プロセス記録

目次序文1. 再帰コンポーネント2. 右クリックメニューコンポーネント要約する序文今日、プロジェクト...

Nginx リバース プロキシ springboot jar パッケージ プロセス分析

Springboot プロジェクトをサーバーにデプロイする方法としては、war パッケージにパッケー...

html 内の絶対パス URL と相対パス URL、サブディレクトリ、親ディレクトリ、ルート ディレクトリ

絶対 URL は、インターネット上の特定のファイルに必要なすべてのコンテンツを表すために使用されます...

CSS3セレクターの新機能の実装

目次基本的なセレクタ拡張属性セレクタ疑似クラスと疑似要素セレクター基本的なセレクタ拡張1. 子要素セ...

フレックスレイアウトでコンテナ内のコンテンツを維持するためのソリューションの詳細な説明

モバイル側では、フレックスレイアウトが非常に便利です。デバイスの幅に応じてコンテナの幅を自動的に調整...

JS 内の Json 文字列 + Cookie + ローカルストレージ

目次1.Json文字列1.1Json構文1.2 例2. クッキー2.1 使い方は? 3. ローカルス...

ローカル写真をアップロードする前にプレビューコード例を実装するための HTML5 と jQuery

HTML5 と jQuery はアップロード前にローカル画像のプレビューを実装しており、その効果は...

MySQLはIDに適切なデータ型を選択します

目次分散IDソリューションの概要データベース自動増分IDデータベースマルチマスターモード数値セグメン...