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 リバース プロキシ構成の完全なプロセス記録

推薦する

Windows サービス 2016 Datacenter\Stand\Embedded アクティベーション方法 (2021)

管理者権限でcmdを実行する slmgr /ipk CB7KF-BWN84-R7R2Y-793K2-...

入力ファイルの制御と美化について

一部のWebサイトでアップロードする場合、「参照」ボタンをクリックすると、[ファイルの選択]ダイアロ...

挿入前にレコードが既に存在するかどうかを確認するには、SQL ステートメントを使用します。

目次SQL文を挿入する前にレコードが既に存在するかどうかを確認するSQL挿入時の判断の簡単なコレクシ...

my.cnf (my.ini) 重要なパラメータの最適化設定手順

MyISAM ストレージエンジンMyISAM ストレージ エンジンは、書き込みよりも読み取りが多く、...

MySQLを監視するためのbinlogログ解析ツールの詳しい説明:Canal

Canal は、Java を使用して開発された Alibaba のオープンソース プロジェクトです...

Vue の双方向イベントバインディング v-model の原理についての簡単な説明

目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...

Packetdrillの簡潔なユーザーガイド

1. Packetdrillのコンパイルとインストールソースコードリンク https://githu...

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...

MySQL 起動失敗の問題とシナリオ分析

1. ワンストップソリューション1. 問題の分析と特定 # MySQL設定ファイルを見つけて、MyS...

Linux に JDK1.8 をインストールするための詳細なチュートリアル

1. 設置前の清掃 rpm -qa | grep jdk rpm -qa | grep gcj yu...

HTML の基礎必読 - CSS スタイルシートの包括的な理解

CSS (カスケーディング スタイル シート) は、HTML Web ページを美しくするために使用さ...

HTML印刷関連の操作と実装の詳細な説明

原則的にはwindow.print()メソッドを呼び出すことですが、このメソッドは現在のページ全体を...

検索履歴を実装するjQueryプラグイン

毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...

ウェブページのカラーマッチングにおけるオーバーラップとソフトカラーマッチングの手法を詳しく説明

この記事には、細かい点は一切なく、カラーマッチングのテクニックをシェアするだけです。とてもシンプルで...