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 ハック タグの概要

推薦する

ローカルアイデアアクティベーションサーバーの構築に関する詳細なチュートリアル

序文ブロガーはアイデアIDEを使用しています。アイデア公式が最近サードパーティのアクティベーションサ...

Dockerカスタムネットワーク実装

目次1. コンテナ相互接続を実現するためにネットワークをカスタマイズする2. ネットワーク接続1. ...

Vue プロジェクトで垂直テーブルを 2 つの方法で実装するアイデアの分析

問題の説明私たちのプロジェクトでは、水平方向のテーブルが一般的ですが、必要に応じて垂直方向のテーブル...

JSはUUIDとNanoIDというユニークなIDメソッドを生成します

目次1. NanoIDがUUIDに取って代わる理由2. jsを生成する方法3. ナノID方式序文:ユ...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル (Win10 Home バージョン 64)

超初心者の私は、MySQL を学び始めたばかりで、インストール プロセス中に多くの問題に遭遇しました...

HTML ドキュメントに CSS を埋め込む一般的な 3 つの方法

HTMLでCSSを定義するには、埋め込み、リンク、インラインの3つの方法が一般的に使用されます。 1...

Vueのコンポーネントの詳細な説明

目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...

Linux IO 多重化 epoll ネットワーク プログラミング

序文この章では、基本的な Linux 関数と epoll 呼び出しを使用して、Linux 上で実行で...

Vueプラグインの実装で発生した問題の概要

目次シーン紹介プラグインの実装問題1: 重複したヘッダーコンポーネント質問2: 別の実装アイデア質問...

Nginx+tomcat ロードバランシングクラスタの実装方法

実験環境は以下のとおりですここでは、4 台のサーバー (1 台の nginx、負荷用の 2 台の t...

Docker を使用した Hadoop クラスターのデプロイに関する詳細なチュートリアル

最近、社内に Hadoop テスト クラスターを構築したいので、docker を使用して Hadoo...

Nginx アクセス ログとエラー ログ パラメータの説明

例: nginx ログには、アクセス ログとエラー ログの 2 つの主な種類があります。アクセス ロ...

JavaScript排他的思考の具体的な実装

前回のブログで、Xiao Xiong は関連する要素の操作方法を更新しましたが、同じ要素のグループが...

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...

VueにExcelテーブルプラグインを導入する方法

この記事では、Excelテーブルプラグインを導入するVueの具体的なコードを参考までに共有します。具...