DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入 (insert)、更新 (update)、削除 (delete)、クエリ (select) が含まれます。これらは、開発者が日常的に最も頻繁に使用する操作です。 1. 挿入 フォーマット1。 emp(ename,hiredate,sal,deptno) に VALUES('zzx1','2000-01-01','2000',1) を挿入します。 フォーマット2。 emp VALUES('lisa','2003-02-01','3000',2) に INSERT します。 フィールド名を指定する必要はありませんが、値はテーブル フィールドに厳密に対応している必要があります。 フォーマット3。 emp(ename,sal) に VALUES('dony',1000) を挿入します。 NULL 可能フィールド、デフォルト値を持つ非 NULL フィールド、および自動増分フィールドは、INSERT 後のフィールド リストに表示する必要はありません。VALUES の後に対応するフィールド名の VALUE を記述するだけです。 フォーマット4 MySQL では、INSERT ステートメントを使用して複数のレコードを一度に挿入することもできます。 テーブル名にINSERT INTO(フィールド1、フィールド2、......フィールドn) 価値観 (レコード1_値1、レコード1_値2、......レコード1_値n)、 (レコード2_値1、レコード2_値2、......レコード2_値n)、 ...... (レコードn_値1、レコードn_値2、......レコードn_値n); 2. 更新 フォーマット 1 UPDATE emp SET sal=4000 WHERE ename='lisa'; フォーマット 2 t1、t2、...tn を更新 SET t1.フィールド1=式1, t2.フィールド2=式2, ... tn.fieldn=exprn[WHERE条件]; 複数のテーブルのデータを同時に更新する 3. 削除 フォーマット 1 DELETE FROM tablename [WHERE CONDITION]; フォーマット 2 DELETE t1,t2,...tn FROM t1,t2,...tn [WHERE CONDITION]; 注意:単一テーブル、複数テーブルに関わらず、WHERE条件を追加しないとテーブル内のすべてのレコードが削除されますので、操作には注意してください。 4. クエリ(選択) 基本的な構文: SELECT * FROM テーブル名 [WHERE 条件]; 1. 一意のレコードをクエリするには、distinct キーワードを使用します。 SELECT DISTINCT deptno FROM emp; 2. 条件付きクエリ: emp から * を選択 WHERE deptno=1; where の後の条件では、「=」に加えて、>、<、>=、<=、!= などの比較演算子も使用できます。 また、 or や and などの論理演算子を使用して、複数の条件間で複数条件の結合クエリを実行することもできます。 3. 並べ替えと制限: SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC], field2 [DESC|ASC],...fieldn [DESC|ASC]]; このうち、DESC と ASC はソートキーワードです。 ソート フィールドの値が同じ場合、同じ値を持つフィールドは 2 番目のソート フィールドに従ってソートされ、以下同様に続きます。ソート フィールドが 1 つしかない場合、同じソート フィールドを持つレコードは順序どおりにソートされません。 SELECT ......[LIMIT offset_start,row_count]; ソートされたレコードのすべてではなく一部のみを表示する場合は、LIMIT キーワードを使用してこれを実現できます。 LIMIT は、レコードをページ内に表示するために ORDER BY と一緒に使用されることが多いです。 注意: limit は SQL92 以降に MySQL によって拡張された構文であり、他のデータベースには適用できません。 4. 集約 多くの場合、会社全体の人数や各部門の人数を数えるなど、いくつかの集計操作を実行する必要があり、そのためには SQL 集合演算を使用する必要があります。 SELECT [フィールド1,フィールド2,......フィールドn] fun_name テーブル名から [WHERE 条件] [GROUP BY フィールド1、フィールド2、......フィールドn [ロールアップ付き] [HAVING where_contition]; パラメータの説明は次のとおりです。
注: having と where の違いは、having は集計後に結果をフィルタリングするのに対し、where は集計前にレコードをフィルタリングすることです。ロジックが許す場合は、where を使用して最初にレコードをフィルタリングする必要があります。これにより、結果セットが削減されるため、集計の効率が大幅に向上します。最後に、ロジックに基づいて、再フィルタリングに having を使用するかどうかを確認できます。 5. テーブル結合 テーブル結合は、内部結合と外部結合に分けられます。それらの主な違いは次のとおりです。 外部結合は左結合と右結合に分かれており、次のように定義されます。
emp から ename、deptname を選択し、 emp.deptno=dept.deptno で dept を LEFT JOIN します。 6. サブクエリ 場合によっては、クエリを実行するときに必要な条件は別の SELECT ステートメントの結果です。この場合は、サブクエリを使用する必要があります。 SELECT * FROM emp WHERE deptno IN (SELECT deptno FROM dept); 注: サブクエリとテーブル結合間の変換は、主に次の 2 つの側面で使用されます。 MySQL バージョン 4.1 より前ではサブクエリはサポートされていません。サブクエリを実装するにはテーブル結合が必要です。多くの場合、テーブル結合はサブクエリを最適化するために使用されます。 7. レコードジョイント 特定のクエリ条件に従って 2 つのテーブルのデータをクエリした後、結果が結合されて一緒に表示されるようなアプリケーションによく遭遇します。このとき、この機能を実装するには、union および union all キーワードを使用する必要があります。具体的な構文は次のとおりです。 t1から*を選択 ユニオン|ユニオン すべて t2から*を選択 ...... ユニオン|ユニオン すべて tn から * を選択します。 UNION と UNION ALL の主な違いは、UNION ALL は結果セットを直接結合するのに対し、UNION は UNION ALL の結果に対して DISTINCT を実行して重複レコードを削除することです。 上記は、編集者が紹介したMySQL DMLステートメントの詳細な説明の要約です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: CentOS7にMariaDB 10.2.4をインストールする方法の詳細な説明
>>: Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します
Binlog は、MySQL データの変更を記録するために使用されるバイナリ ログ ファイルです。B...
1. システムの Python バージョンに応じて、pip インストール パッケージをダウンロードし...
目次序文どのような状況でメモリリークが発生する可能性がありますか? 1. 偶発的なグローバル変数2....
更新: MySQL の公式 Web サイトにアクセスして MySQL インストーラーをインストールし...
<br />出典: http://www.a-xuan.cn/?p=197 先ほどFac...
大きな落とし穴、Linuxシステムに付属するPythonのバージョンを簡単に削除しないでください1....
問題を見つける最近、MySQL コマンドを使用して MySQL サーバーに接続したときに、以下のよう...
目次1. プロトタイプチェーン継承2. コンストラクタによる継承3. 組み合わせ継承4. プロトタイ...
目次動画最優秀選手ムヴヴムVueのソーススパ mpa要素を作成するクラス要約する動画 Model(模...
テーブルの欠点1. テーブルは他の HTML タグよりも多くのバイトを占有します。 (ダウンロード時...
まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...
IPツールを取得 lombok.extern.slf4j.Slf4j をインポートします。 org....
まず最初に指摘しておきたいのは、人間は視覚的な区分を通じてコンテンツの意味を判断できるが、検索エ...
問題の説明最近、仕事中に問題が発生しました。MySQL が起動に失敗しました。エラー ログは次のとお...
この記事では、Linux ファイル管理コマンドについて例を挙げて説明します。ご参考までに、詳細は以下...