MySQL テーブルの追加、削除、変更、クエリの基本チュートリアル

MySQL テーブルの追加、削除、変更、クエリの基本チュートリアル

1. 作成する

[テーブル名] (フィールド1、フィールド2、...) 値 (値1、値2、...) に挿入します。

[テーブル名] (フィールド 1、フィールド 2、...) の値を挿入します
(値1, ...),
(値2, ...),
(値3, ...);

例:

生徒の成績表を作成する

テーブルexam_resultを作成する(
 id INT、
 名前 VARCHAR(20)、
 中国語の10進数(3,1)、
 数学 DECIMAL(3,1)、
 英語 DECIMAL(3,1)
);

1.1 単一行データ + 全列挿入

-- 2 つのレコードを挿入します。value_list の数は、定義テーブルの列の数と順序と一致している必要があります。 insert into exam_result value (1, 'tom', 68, 98, 56); 
exam_result に値 ( 2, 'jum', 87.5, 78, 77 ) を挿入します。 

データが挿入されるたびに、いくつかの列を含むレコードになります~~

列の数とデータ型は、テーブルの構造に対応している必要があります。

指定された列が値の前に省略されている場合、デフォルトで列全体が挿入されます。

1.2 複数行のデータ + 指定された列

- 2 つのレコードを挿入します。value_list の数は、指定された列の数と順序と一致している必要があります。INSERT INTO exam_result (id,name, chinese, math, english) VALUES
 (1,'トム', 67, 98, 56),
 (2,'jum', 87.5, 78, 77)、
 (3,'lim', 88, 98.5, 90),
 (4,'ティム', 82, 84, 67),
 (5,'huy', 55.5, 85, 45),
 (6、'太陽'、70、73、78.5)、
 (7、'ming'、75、65、30);

2. 取得

2.1 全列クエリ

[テーブル名]から*を選択します。

*はワイルドカードを表し、すべての列を検索することを意味します

2.2 指定した列によるクエリ

[テーブル名]から[クエリ列を指定]を選択します。

2.3 クエリフィールドを式として使う

[テーブル名]から[フィールド式]を選択します。

2.4 エイリアス

select colum [as] [列名] from [テーブル名];

2.5 重複排除: DISTINCT

列から重複データを削除するには、distinctキーワードを使用します。

--98 ポイントを繰り返しました。exam_result から数学を選択します。
+------+
|数学|
+------+
| 98.0 |
| 78.0 |
| 98.0 |
| 84.0 |
| 85.0 |
| 73.0 |
| 65.0 |
+------+

-- 重複した結果を削除します。 select distinctive math from exam_result;
+------+
|数学|
+------+
| 98.0 |
| 78.0 |
| 84.0 |
| 85.0 |
| 73.0 |
| 65.0 |
+------+

2.6 ソート: ORDER BY

select * from [テーブル名] order by [ソートフィールド];

並べ替えの基準となる列を指定するには order by を使用します。デフォルトの並べ替えは昇順です。

desc を明示的に追加すると、降順で並べ替えられます。asc を使用すると、昇順で並べ替えられます。

select name, math from exam_result order by math desc;
+------+------+
| 名前 | 数学 |
+------+------+
| トム | 98.0 |
| 限界 | 98.0 |
| フイ | 85.0 |
| ティム | 84.0 |
| ジャンプ | 78.0 |
| 太陽 | 73.0 |
| 明 | 65.0 |
+------+------+

NULLデータはどの値よりも小さいものとしてソートされ、昇順では一番上に、降順では一番下に表示されます。

複数の列を指定して並べ替えることもできます

exam_result から * を選択し、数学 desc、中国語 desc で順序付けします。
+------+------+--------+-------+---------+
| ID | 名前 | 中国語 | 数学 | 英語 |
+------+------+--------+-------+---------+
| 3 | 限界 | 88.0 | 98.0 | 90.0 |
| 1 | トム | 67.0 | 98.0 | 56.0 |
| 5 | ヒュイ | 55.5 | 85.0 | 45.0 |
| 4 | ティム | 82.0 | 84.0 | 67.0 |
| 2 | ジャンプ | 87.5 | 78.0 | 77.0 |
| 6 | 太陽 | 70.0 | 73.0 | 78.5 |
| 7 | 明 | 75.0 | 65.0 | 30.0 |
+------+------+--------+-------+---------+

複数の列を並べ替える場合、最初の列でサイズを区別できない場合は、2 番目の列で並べ替えます。

2.7 条件付きクエリ: WHERE

比較演算子

オペレーター例示する
>、>=、<、<=より大きい、以上、より小さい、以下
=等しい、NULLは安全ではない。例えば、NULL = NULLの結果はNULLである。
<=>等しい、NULL安全、例えばNULL <=> NULLはTRUE(1)
!=, <>等しくない
a0とa1の間範囲マッチング[a0, a1]、a0 <= value <= a1の場合、TRUEを返します(1)
IN (オプション、…)いずれかのオプションに該当する場合はTRUEを返します(1)
NULLですNULLです
NULLではないNULLではない
のようにあいまい一致。 % は任意の文字(0を含む)を表します。_ は任意の文字を表します。

論理演算子:

オペレーター例示する
そして結果がTRUE(1)となるためには、複数の条件がすべてTRUE(1)でなければなりません。
または条件のいずれかがTRUE(1)の場合、結果はTRUE(1)になります。
ない条件はTRUE(1)で結果はFALSE(0)です

知らせ:

  • where~~ では列エイリアスは使用できません
  • AND は OR よりも優先度が高くなります。 一緒に使用する場合は、優先度部分を囲む括弧 () が必要です。

例:

基本的なクエリ:

-- 英語で不合格になった生徒とその英語スコア(< 60)を照会します
exam_result から、english < 60 の name、english を選択します。

-- 中国語のスコアが英語のスコアよりも優れている学生を照会します。 select name, chinese, english from exam_result where chinese > english;

-- 合計スコアが 200 未満の学生を照会します。 select name, chinese + math + english as total from exam_result where chinese + math + english < 200;

AND と OR:

-- 中国語のスコアが 80 を超え、英語のスコアも 80 を超える学生を照会します。select * from exam_result where chinese > 80 and english > 80;

-- 中国語のスコアが 80 点を超える、または英語のスコアが 80 点を超える学生を照会します。select * from exam_result where chinese > 80 or english > 80;

優先順位の問題に関しては、またはが優先されます。

範囲クエリ:

1.…と…の間

-- 中国語のスコアが [80, 90] の間の学生とその中国語のスコアを照会します。select name, chinese from exam_result where chinese BETWEEN 80 AND 90;

中国語 >= 80 かつ中国語 <= 90 の場合、exam_result から名前、中国語を選択します。

 -- 数学のスコアが 58、59、98、または 99 の生徒とその数学のスコアを照会します。select name, math from exam_result where math in (58, 59, 98, 99);

あいまいクエリ: LIKE

exam_result から name を選択します (name は 't%' のような名前です)。
+------+
| 名前 |
+------+
| トム |
| ティム |
+------+

% は、任意の数の文字を置き換えるために使用できるワイルドカード文字です。

t% tで始まる文字列を検索

%t は t で終わる文字列を検索します

%t% は t を含む単語を検索します

% の他に _ もあります (_ は 1 文字しか表せません~)

exam_result から名前を選択します。名前は 't__' のような名前です。
+------+
| 名前 |
+------+
| トム |
| ティム |
+------+

ワイルドカードは数字のあいまい検索にも使用できます

exam_result から、 '%8%' のような chinese を含む name、 chinese を選択します。
+------+---------+
| 名前 | 中国語 |
+------+---------+
| ジャンプ | 87.5 |
| 限界 | 88.0 |
| ティム | 82.0 |
+------+---------+

知らせ:

ファジークエリはより便利に思えるが、実際の実行効率は低い

NULLクエリ: IS [NOT] NULL

 ID が null でない exam_result から名前を選択します。

2.8 ページ分割クエリ: LIMIT

-- 初期データテーブル select * from exam_result;
+------+------+--------+-------+---------+
| ID | 名前 | 中国語 | 数学 | 英語 |
+------+------+--------+-------+---------+
| 1 | トム | 67.0 | 98.0 | 56.0 |
| 2 | ジャンプ | 87.5 | 78.0 | 77.0 |
| 3 | 限界 | 88.0 | 98.0 | 90.0 |
| 4 | ティム | 82.0 | 84.0 | 67.0 |
| 5 | ヒュイ | 55.5 | 85.0 | 45.0 |
| 6 | 太陽 | 70.0 | 73.0 | 78.5 |
| 7 | 明 | 75.0 | 65.0 | 30.0 |
+------+------+--------+-------+---------+

-- 最初の 3 つのレコードは、exam_result limit 3 から * を選択します。
+------+------+--------+-------+---------+
| ID | 名前 | 中国語 | 数学 | 英語 |
+------+------+--------+-------+---------+
| 1 | トム | 67.0 | 98.0 | 56.0 |
| 2 | ジャンプ | 87.5 | 78.0 | 77.0 |
| 3 | 限界 | 88.0 | 98.0 | 90.0 |
+------+------+--------+-------+---------+

-- 3 番目から始まる 3 つのレコード select * from exam_result limit 3 offset 3;
+------+------+--------+-------+---------+
| ID | 名前 | 中国語 | 数学 | 英語 |
+------+------+--------+-------+---------+
| 4 | ティム | 82.0 | 84.0 | 67.0 |
| 5 | ヒュイ | 55.5 | 85.0 | 45.0 |
| 6 | 太陽 | 70.0 | 73.0 | 78.5 |
+------+------+--------+-------+---------+

オフセットは検索を開始するエントリの数を示します。オフセットは省略できます。

exam_result 制限 3、4 から * を選択します。
+------+------+--------+-------+---------+
| ID | 名前 | 中国語 | 数学 | 英語 |
+------+------+--------+-------+---------+
| 4 | ティム | 82.0 | 84.0 | 67.0 |
| 5 | ヒュイ | 55.5 | 85.0 | 45.0 |
| 6 | 太陽 | 70.0 | 73.0 | 78.5 |
| 7 | 明 | 75.0 | 65.0 | 30.0 |
+------+------+--------+-------+---------+

3. 更新

- 下位3名の生徒の数学の点数に合計30点を加算する

exam_result を更新し、math を math + 30 に設定し、chinese + math + english で order by を limit 3 に設定します。

条件を追加せずに更新すると、すべてに適用できます

4. 削除

[テーブル名]から削除します。
-- Ming のテストスコアを削除します。delete from exam_result where name = 'ming';

-- テーブル全体を削除します。delete from exam_result;

条件が指定されていない場合は、テーブル全体が削除されます (drop コマンドとは異なります)。

削除後、テーブルは null になり、ドロップ後、テーブルは存在しません。

5. よく追加されるもの

-- 単一行挿入 insert into [テーブル名] (フィールド 1、...、フィールド N) values ​​(値 1、...、値 N);
-- [テーブル名](フィールド 1、...、フィールド N) の値を挿入します
(値1, ...),
(値2, ...),
(値3, ...);

クエリ

--完全なテーブルクエリ select * from [テーブル名];
--列クエリを指定します。select [列名 1, 列名 2,...] from [テーブル名];
--クエリ式フィールド select [式 1, 式 2,...] from [テーブル名];
--alias 選択 
 - 明確な
[テーブル名]から[フィールド]を区別して選択します。
-- 並べ替え ORDER BY
select * from [テーブル名] order by [ソートフィールド];
-- 条件付きクエリ WHERE
-- (1) 比較演算子 (2) BETWEEN ... AND ... (3) IN (4) IS NULL (5) LIKE (6) AND (7) OR 
(8) いいえ
select * from [テーブル名] where [条件];

改訂

update [テーブル] set [変更内容1、変更内容2、....] where [条件];

消去

delete from [テーブル名] where [条件];

要約する

これで、MySQL テーブルの追加、削除、変更、クエリに関するこの記事は終了です。より関連性の高い MySQL テーブルの追加、削除、変更、クエリについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • mysql の追加、削除、変更、クエリの基本ステートメント
  • Mysql の追加、削除、変更、クエリステートメントのシンプルな実装
  • MySQL トリガーの追加、削除、変更、クエリ操作の例
  • Mysql テーブル、列、データベースの追加、削除、変更、クエリの問題の概要
  • MySQL の詳細な単一テーブルの追加、削除、変更、クエリの CRUD ステートメント
  • MySQL ビュー管理ビューの例の詳細説明 [追加、削除、変更、クエリ操作]

<<:  XHTML 特殊文字コレクション

>>:  Vueでシングルサインオンを実装する方法のまとめ

推薦する

Nginx レベルで基本的なユーザー認証を構成する手順を完了します。

序文アプリケーション シナリオ: おそらく、内部 Web サイトは外部ユーザーにアクセス可能である必...

MySQL 10進数符号なし更新負数を0に変換

今日、インターフェースの同時実行の問題を検証したところ、これまでredisで解決していた同時実行のプ...

ServerSocketのデフォルトIPバインディングの実装プロセスの詳細な説明

開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...

Q&A: XML と HTML の違い

Q: xml と html の違いがわかりません。違いは何ですか? A: XMLと HTML の違い...

MySQL 文字セットの概要

目次文字セット比較ルール4つのレベルの文字セットと比較規則3つのシステム変数このノートは主にMySQ...

React でインデックスをキーとして使用することが推奨されないのはなぜですか?

1. 古い仮想DOMと新しい仮想DOMを比較し、まずキーが同じかどうかを確認します。 2. 引き続...

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決します

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決しますコード例: var...

Vueルーティングナビゲーションガードの簡単な理解

目次1. グローバルガード1. グローバル前線警備2. グローバル解像度ガード3. グローバルポスト...

MySQL実践ウィンドウ関数SQL分析クラスの生徒のテストの成績と生活費

目次1. 背景2. テーブル作成ステートメントとデータ挿入テーブルを作成するデータの挿入3. ウィン...

Windows での MySQL の詳細なインストール手順と基本的な使用方法

目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...

MySql テーブル内の行を削除する実用的な方法

まず、どのフィールドまたはフィールドの組み合わせがデータ行を一意に識別できるかを決定する必要がありま...

MySQL5.7 マスタースレーブ構成例の分析

MySQL5.7マスタースレーブ構成の実装方法、具体的な内容は次のとおりですインストール環境:マスタ...

VMware 仮想マシンのインストール Apple Mac OS の超詳細なチュートリアル

目次要約する仕事の都合で Apple の Mac OS に対応するソフトウェアをインストールする必要...

docker を使用して Windows 10 Home バージョンで Laravel 開発環境を構築する方法の詳細なチュートリアル

オペレーティング·システム: Win10 ホームエディションDockerをインストールします:公式サ...