MySQLデータの挿入、更新、削除の詳細

MySQLデータの挿入、更新、削除の詳細

1. 挿入

顧客に挿入(
顧客.顧客住所、
顧客.cust_city、
顧客.cust_state、
顧客.cust_zip、
顧客.顧客国、
顧客.cust_contact、
顧客.cust_email
)
VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL)

この方法で挿入は成功します。

安全上の理由から、挿入するたびに列名を記述する必要があります。どのINSERT構文を使用するかに関係なく、正しい数のVALUESを指定する必要があります。列名を指定しない場合は、各テーブル列に値を指定する必要があります。列名が指定されている場合は、リストされている各列に値を指定する必要があります。これを行わないと、エラー メッセージが生成され、行は正常に挿入されません。

列の省略 テーブル定義で許可されている場合は、INSERT 操作で特定の列を省略できます。

省略された列は、以下の条件のいずれかを満たす必要があります。

  • 列は NULL 値 (値なしまたは空の値) を許可するように定義されています。
  • テーブル定義にデフォルト値を指定します。つまり、値が指定されていない場合はデフォルト値が使用されることになります。

全体的なパフォーマンスの向上 データベースは複数のクライアントからアクセスされることが多く、どのリクエストがどのような順序で処理されるかを管理するのはMySQLの役割です。

INSERT操作は時間がかかる可能性があり (特に更新が必要なインデックスが多数ある場合)、保留中のSELECTステートメントのパフォーマンスが低下する可能性があります。

データの取得が最も重要である場合 (通常はそうである)、 INSEINTOの間にキーワードLOW_PRIORITY追加することで、 MySQL INSERTステートメントの優先度を下げるように指示できます。

顧客に挿入(
顧客.顧客住所、
顧客.cust_city、
顧客.cust_state、
顧客.cust_zip、
顧客.顧客国、
顧客.cust_contact、
顧客.cust_email
)
VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL)
,('zhangsan','good','111','ca','dasdsa','usa',NULL)
,('zhangsan','good','111','ca','dasdsa','usa',NULL)
,('zhangsan','good','111','ca','dasdsa','usa',NULL)

複数の行を挿入したい場合は、複数のvaluesを追加するだけです。

INSERTは通常、指定された列値を持つ行をテーブルに挿入するために使用されます。ただし、 SELECTステートメントの結果をテーブルに挿入するために使用できる別の形式のINSERTがあります。

これはINSERT SELECTと呼ばれ、名前が示すように、 INSERTステートメントとSELECTステートメントで構成されます。

別のテーブルの顧客リストをcustomersテーブルにマージするとします。毎回行を読み取ってINSERTで挿入する代わりに、次のように実行できます。

customers(xx,xx,xx) に挿入します
xx,xx,xxを選択
新規顧客から

それはそれくらいです。

INSERT SELECTの列名 簡潔にするために、この例ではINSERTSELECTステートメントの両方で同じ列名を使用します。

ただし、列名は必ずしも一致する必要はありません。実際、 MySQL SELECTが返す列名を気にしません。

列の位置を使用するので、 SELECTの最初の列(名前に関係なく)がデータ入力に使用されます。

テーブル列で指定された最初の列は、テーブル列で指定された 2 番目の列にデータを入力するために使用されます。

これは、異なる列名を使用するテーブルからデータをインポートする場合に便利です。

2. 更新

テーブル内のデータを更新 (変更) するには、 UPDATEステートメントを使用します。

UPDATEを使用するには 2 つの方法があります。

  • テーブル内の特定の行を更新します。
  • テーブル内のすべての行を更新します。
顧客の更新
cust_email = '[email protected]' を設定します
ここで、cust_id = 10005;


これは上記の更新ステートメントです。

複数の列を更新する場合:

顧客の更新
cust_email = '[email protected]' を設定します。
cust_name = 'ゲーム'
ここで、cust_id = 10005;

IGNOREキーワードUPDATEステートメントを使用して複数の行を更新し、これらの行の 1 つ以上を更新中にエラーが発生した場合、UPDATE 操作全体がキャンセルされます (エラーが発生する前に更新されたすべての行は元の値に復元されます)。

エラーが発生しても更新を続行するには、次のようにIGNOREキーワードを使用します: UPDATE IGNORE customers…

これを説明すると、1 行のみを更新することが確実な場合は、 update 1モードを使用して、1 行のみを更新することを示すことをお勧めします。

テーブルからデータを削除 (除去) するには、 DELETEステートメントを使用します。 DELETE次の 2 つの方法で使用できます。

3. 削除

  • テーブルから特定の行を削除します。
  • テーブルからすべての行を削除します。

テーブルではなくテーブルの内容を削除します。DELETE DELETEは、テーブルから行を削除したり、テーブル内のすべての行を削除したりします。ただし、 DELETEテーブル自体は削除されません。

より高速な削除 テーブルからすべての行を削除する場合は、 DELETE使用しないでください。

TRUNCATE TABLEステートメントを使用することもできます。このステートメントは、同じ処理をより高速に実行します ( TRUNCATE 、テーブル内のデータを行ごとに削除するのではなく、実際に元のテーブルを削除して再作成します)。

MySQL データの挿入、更新、削除の詳細に関するこの記事はこれで終わりです。MySQL データの挿入、更新、削除に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL データベースの Python 接続、クエリ、更新、削除操作の例
  • MySQL 入門 (IV) テーブルへのデータの挿入、更新、削除
  • JDBC は MySql データベースのステップに接続し、クエリ、挿入、削除、更新などを実行します。
  • MySQL で外部キーを使用してカスケード削除と更新を実装する方法
  • MySQL 学習体験: レコードの挿入、更新、削除
  • MySql の削除および更新操作はパフォーマンスに影響しますか?
  • MySQL 更新、削除操作の共有

<<:  DIV と画像の水平および垂直の中央揃えは複数のブラウザと互換性があります

>>:  CSS 線形グラデーション凹型長方形遷移効果の実装

推薦する

MySQLデータベースでコマンドを自動補完する3つの方法

注意: 3 番目の方法は XSell でのみ使用され、finalsell では使用できません。方法1...

Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない

デフォルトでは、 /etc/default/docker 設定は有効になりません。docker 環境...

MySQL の group by に関する簡単な説明

目次1. はじめに2. ユーザーテーブルを準備する2.1 グループ化ルール2.2 グループの使用2....

Docker ビルド kubectl イメージ実装手順

プログラムサービスがgitlab ci/cdと統合されたk8sを使用してデプロイされている場合、gi...

Node.js+express+socket でオンラインのリアルタイム多人数チャットルームを実現

この記事では、オンラインリアルタイム多人数チャットルームを実現するためのNode.js+expres...

Linux で ping は成功するがポートが利用できない問題を解決する方法

ping は成功したがポートにアクセスできない場合のポート可用性検出の説明ポート可用性検出ツールの紹...

MySQL 操作: JSON データ型の操作

前回の記事では、MySQL データ保存手順パラメータの詳細な例を紹介しました。今日は、JSON デー...

UbuntuでMySQLデータベースファイルディレクトリを変更する方法

序文同社の Ubuntu サーバーは、さまざまなシステムのディレクトリを異なる論理パーティションに配...

HTMLドキュメントタイプの詳細な説明

私のは: <!DOCTYPE html>ブログガーデン: <!DOCTYPE HT...

MySQL MHA 操作ステータス監視の概要

目次1. プロジェクトの説明1.1 背景1.2 実装設計1.2.1 従来の方法1.2.2 最適化され...

CentOS 起動時にカーネルモジュール overlayfs 操作を自動的にロードする

CentOS でカーネル モジュールを自動的にロードするには、/etc/sysconfig/modu...

CSS を使用して小さな画像をプルダウンし、大きな画像と情報を表示する方法

今日は、Taobao、JD.comなどのショッピングモールでよく使われている、小さな画像の上にマウス...

MySQLがクエリキャッシュをキャンセルした理由

MySQL には以前、クエリ キャッシュ (Query Cache) がありました。8.0 以降では...

Linux の ufw ファイアウォールの紹介

Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...

HTML ハイパーリンク スタイル (4 つの異なる状態) の設定例

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...