1つの記事でNavicat for MySQLの基本を理解する

1つの記事でNavicat for MySQLの基本を理解する

1. データベース操作

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

ここに画像の説明を挿入

2. データベースを開く

右クリックまたはダブルクリックするだけです。

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

右クリック -> データベースを削除

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

右クリック -> データベースのプロパティ

2. データ型

1. よく使われるデータ型

整数: int
小数点
文字列: varchar
日付と時刻: データ時刻

2. 制約

主キー: データが物理的に保存される順序 (主キーは一意であり、空にすることはできません。そのため、null 値を許可するオプションのチェックを外してください。そうしないと、新しいキーを作成または保存できなくなります。また、以下のコメントで値を自動的に増分するオプションを選択して、作業を節約することもできます)

ここに画像の説明を挿入

空でない: このフィールドは空白のままにできません 一意: このフィールドは繰り返すことができません

デフォルト値: 空白のままにすると、デフォルト値が使用されます。入力すると、入力された値が使用されます。
外部キー: 2つのテーブル間の関係を維持します

3. バックアップとリカバリ

バックアップ: 右クリック -> SQL ファイルにダンプ 復元: 右クリックして SQL ファイルを実行

ここに画像の説明を挿入

3. 操作

1. シンプルなクエリ

文法:

条件付きでテーブル名のフィールドフォームを選択します。

テーブルとフィールドに別名を付けるには as を使用します: select name as n from students as s;

重複行を削除します。select distinctive * from students;

比較演算子:

等しい: =
より大きい: >
より大きいか等しい: >=
未満: <
以下: <=
等しくない: != または <>

論理演算子:

そして
または
いいえ:いいえ

あいまいクエリ:

のように
% は任意の数の文字を表します
任意の文字を示します 例1: Sunという姓を持つ学生を検索します
名前が '孙%' のような学生から * を選択します。
例2: 姓がSunで名が1文字の学生を検索する
名前が「孙」のような生徒から*を選択

範囲クエリ:

in は接続されていない範囲内を意味します。
例1: 出身地が北京、上海、広東省の学生を検索する
出身地が('北京','上海','広東')の学生から*を選択します。
between...and...は連続した範囲を表します。例2: 18歳から28歳までの学生を検索する
年齢が18歳から28歳までの学生から*を選択します。
空虚な判断:
注意: null と '' は異なる判断です。
例1: IDカードを記入していない学生を照会する
カードが null である学生から * を選択します。
NULLではない
カードが null でない学生から * を選択します。

並べ替え:

構文: select * from table name order by column 1 asc|desc, column 1 asc|desc…;
デフォルトでは、列は小さいものから大きいものの順に並べ替えられます。
asc 小さいものから大きいものへ、つまり昇順に並べ替えます。
desc 最大から最小へ、つまり降順で並べ替えます。

集計関数:

1. count( * ) は行の合計数を計算することを意味します。括弧内のアスタリスクは列名と同じです。
集計関数はwhere句では使用できません。例1: 学生の総数を照会する
学生からcount( * )を選択します。
2. max(column)は、この列の最大値を見つけることを意味します。例2: 女の子の最小年齢を照会する
select max(age) from students where sex='女';
3. min(column) は、この列の最小値を示します。例: クラス 1 の最高齢を照会する
クラス='1' の学生から min(年齢) を選択します
4. sum(column)は、この列の合計を求めることを意味します。
生徒から合計(年齢)を選択
5. avg(column)は、この列の平均値を求めることを意味します。
学生から平均年齢を選択

グループ化:

1. フィールドごとにグループ化すると、同じフィールドのデータが1つのグループにまとめられます。
2. グループ化後、グループ化の基準となった列が結果セットに表示され、他の列は結果セットに表示されません。
3. グループ化されたデータに対して統計を実行し、集計操作を実行できます。
テーブル名から列 1、列 2、count(*) を選択し、列 1、列 2 でグループ化します。
havingの後の条件演算子はwhereの条件演算子と同じである。
where と having を比較してみましょう:
1. where は、元のデータのフィルターである from の後に指定されたテーブル内のデータをフィルターする場所です。
2. グループ化の結果をフィルタリングするには

ページ分割クエリ: 部分行を取得する

1. データが大きすぎると、1ページでデータを表示するのは非常に面倒です。
2. 文法:
制限開始、カウントから * を選択します。
2.1 開始から count 個のデータを取得します。
2.2 開始インデックスは0から始まります。例1: 学生情報の最初の3行を照会する
学生制限0,3から*を選択します。
ページネーション:
1. 与えられた条件: 1ページあたりm個のデータが表示される場合、次の条件を満たすデータを表示する: nページ目
学生制限数 (n-1)*m,m から * を選択します。
2. ページの総数を調べ、エントリの総数を照会する p1
p1をmで割るとp2が得られる
整数の場合、p2 はページの総数です。整数でない場合は、p2+1 がページの総数です。

接続クエリ:

1. クエリ結果の列が複数のテーブルから取得される場合は、複数のテーブルを大きなデータ セットに接続し、返す適切な列を選択する必要があります。
2. 等結合クエリ: クエリ結果は2つのテーブルに一致するデータです
3. 左結合クエリ: クエリ結果は、2 つのテーブルに一致するデータと、左のテーブルに固有のデータです。右のテーブルに存在しないデータの場合は、null を使用します。
4. 右結合クエリ: クエリ結果は、2 つのテーブルに一致するデータと、右テーブルに固有のデータです。左テーブルに存在しないデータの場合は、null を使用します。

等結合:

方法 1: select * from table1, table2 where table1.column = table2.column;
方法 2 (内部結合とも呼ばれます): select * from table1 inner join table2 on table1.column=table2.column;
方法 3 (内部テーブル結合): select * from table1, table2, table3 where table1.column = table2.column and table2 = table3;
方法 4 (左結合とも呼ばれます): select * from table1 left join table2 on table1.column=table2.column;
方法 5 (右結合とも呼ばれます): select * from table1 right join table2 on table1.column=table2.column;

メインクエリ:

メインクエリオブジェクト、最初の選択ステートメント

サブクエリ:

最初の SELECT ステートメントに別の SELECT ステートメントが埋め込まれている場合、ネストされた SELECT ステートメントはサブクエリと呼ばれます。

メインクエリとサブクエリの関係:

1. サブクエリはメインクエリに埋め込まれます
2. サブクエリは、条件またはデータソースとしてメインクエリを補助します。
3. サブクエリは独立したステートメントであり、完全な選択ステートメントです。

サブクエリのカテゴリ:

1. スカラーサブクエリ: サブクエリによって返される結果は1つのデータ(1行1列)です。
2. 列サブクエリ: 返される結果は 1 つの列 (複数の行を持つ 1 つの列) です。
3. 行サブクエリ: 返される結果は行(複数の列を持つ1行)です。
4. テーブルレベルのサブクエリ: 返される結果は、複数行、複数列のスカラー サブクエリです。
例1: クラスの生徒の平均年齢を照会する
学生から平均年齢を選択します。
サブクエリの例:
例1: 18歳の学生の学生IDを照会する
age=18 の students から studentno を選択します。
行レベルのクエリ:
例1: 男子生徒の中で最も年齢の高い生徒情報を照会する
select max(age) from students where sex='男';

2. データを挿入する

文法:
テーブル名の値を挿入します(...)
複数のレコードを挿入します: テーブル名の値に挿入します(...),(...)

3. データを削除する

文法:
テーブル名から条件付きで削除

4. データの変更/更新

文法:
テーブル名を更新し、列 1 = 値 1、列 2 = 値 2 を設定します...条件

4. 上級

ビュー:

1. 複雑なクエリの場合、多くの場所で使用されます。要件が変わり、SQL ステートメントを変更する必要がある場合、複数の場所で修正する必要があり、メンテナンスが非常に面倒です。
2. 解決策: ビューを定義します。
3. ビューの本質はクエリのカプセル化である
4. ビューを定義します。V_から始めることをお勧めします。
ビュー名をトーンの選択として選択します。
ビューの表示: テーブルを表示すると、すべてのビューも一覧表示されます

テーブルを表示します。

ビューを削除するには:

ビューのビュー名をドロップします。

使用方法: ビューの目的はクエリを実行することです
ビュー名から*を選択します。

索引:

文法:
インデックスを表示します: テーブル名からインデックスを表示します。

外部キー:

外部キーの値は、別のテーブルの主キーである必要があります。主キーを設定する前に、まず両方のテーブル オプションのエンジンを InnoDB に変更する必要があります。

ここに画像の説明を挿入

次に外部キーを設定します。

ここに画像の説明を挿入

注意: 外部キーが配置されているテーブルには主キーを設定できません。

のみ:

一意性を設定すると、重複したデータが表示される場合があります。

ここに画像の説明を挿入

重複したデータを入力するとエラーが発生します。

ここに画像の説明を挿入

5. 知識補足

ctr+/ コメント関数直積 = 2つのテーブルのデータ数の乗算

上記は、navicat for mysql の基礎知識を 1 つの記事で理解するための詳細な内容です。navicat mysql の基礎についてさらに詳しく知りたい場合は、123WORDPRESS.COM の他の関連記事もご覧ください。

以下もご興味があるかもしれません:
  • MySQL に接続する際に Navicat for MySQL が 2005 エラーを報告する問題を解決する
  • Navicat for MySQL 15 登録とアクティベーションの詳細なチュートリアル
  • Navicat for MySQL 11 登録コード\アクティベーションコードの概要
  • Navicat 8でMySQL用のデータベースを作成する方法
  • MySQL データベースのインストールと Navicat for MySQL の使用に関するチュートリアル
  • mysql8.0.11をインストールしてrootパスワードを変更し、navicat for mysqlに接続するアイデアの詳細な説明
  • Navicat for MySQLのスケジュールされたデータベースバックアップとデータ復旧の詳細
  • Navicat for MySQLを使用してテーブル構造スクリプトをエクスポートする簡単な方法

<<:  Vue の新しいおもちゃ VueUse の具体的な使い方

>>:  Nginx リバース プロキシ構成の完全なプロセス記録

推薦する

JavaScriptはPromiseを使用して複数の繰り返しリクエストを処理します

1. なぜこの記事を書くのですか?重複リクエストの処理に関する記事をたくさん読んだことがあるでしょう...

Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明

CentOS6.7にmysql5.7.18をインストールする 1. /usr/localディレクトリ...

Docker環境でMySQLを実行し、Binlogを有効にしてマスタースレーブ同期を構成する方法

同じサーバーで、Docker を使用して Mysql のマスター スレーブ同期設定をシミュレートしま...

CSSで検索ボックスを非表示にする機能を実装します(アニメーション順方向と逆方向のシーケンス)

上部のメニュー バーに検索ボックスを配置するのは一般的なシナリオですが、検索機能がそれほど頻繁に使用...

Vue のレスポンシブ原則と双方向データの詳細な分析

応答性を実現するための object.defineProperty の理解observe/watch...

Centos8でdockerがインストールできない問題の解決方法

問題 [root@zh ~]# [root@zh ~]# [root@zh ~]# yum -y d...

Node.jsを理解するのはとても簡単です

目次Node.js の公式紹介Node.jsのコア開発言語ウェブ上の JavaScript と No...

div+css3 を使用して背景グラデーション ボタンを実装するためのサンプル コード

フロントエンド ページの需要が増加し続けるにつれて、一部のシーンではグラデーションの背景要素が必要に...

Centos7 での MySQL のインストールに関するチュートリアル

最近、自宅サーバーにクラウドディスクを導入する予定なので、一連の環境構築作業を始めました。MySQL...

ARM64アーキテクチャでmysql5.7.22をインストールするプロセス全体

MySQLダウンロードアドレス: https://obs.cn-north-4.myhuaweicl...

オンラインMySQL自動増分IDが使い果たされた場合の対処方法

目次テーブル定義の自動増分 ID InnoDBシステムはrow_idを自動的に増加させるシドInno...

MySQLのユーザーアカウント管理と権限管理の詳細な説明

序文MySQL の権限テーブルは、データベースの起動時にメモリにロードされます。ユーザーが ID 認...

フォーム入力ボックスに関するWebデザインのヒント

この記事では、Web デザインにおけるフォーム入力ボックスに関するヒントとコードをいくつか紹介します...

JavaScript における var と let の違い

目次1. スコープはさまざまな方法で表現されます2. 変動昇進と非昇進の違い3. 一時的なデッドゾー...

Node.js でのブレークポイント再開の実装

序文通常のビジネスニーズ: 写真、Excel などをアップロードします。結局のところ、数 MB のサ...