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 線形グラデーション凹型長方形遷移効果の実装

推薦する

ウェブデザインでテキストのサイズを合わせる方法: 小さなテキスト、大きな体験

iPadなどのモバイル端末の普及により、人々がモバイル端末で読書に費やす時間はますます長くなり、読...

フレックスレイアウトを使用してページレイアウトを簡単に実装するためのサンプルコード

では、早速コードを見てみましょう。 1. 上部、中央、下部のレイアウト: <!DOCTYPE ...

Web 上の要素を非表示にする方法とその利点と欠点

ソースコードの例: https://codepen.io/shadeed/pen/03caf6b36...

Cronジョブを使用してCpanelでPHPを定期的に実行する方法

cpanel 管理バックエンドを開き、「詳細」オプションの下に「Clock Guardian Job...

Linuxシステムにおけるキー認証に基づくSSHサービスのプロセス

ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...

初心者のための HTML コーディングガイドライン 30 選

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

LinuxシステムでFuserコマンドを使用する方法

Fuser コマンドとは何ですか? fuser コマンドは、特定のファイル、ディレクトリ、またはソケ...

Nginx の書き換え正規マッチング書き換え方法の例

Nginx の書き換え機能は、リダイレクトと同様に、URL アドレスを一時的または永続的に新しい場所...

React antd タブの切り替えによりサブコンポーネントが繰り返し更新される

説明する: Tabs コンポーネントが切り替わると、TabPane に含まれる同じサブコンポーネント...

CSS でインラインブロック要素間のギャップを削除するいくつかの方法の詳細な説明

最近、モバイルページを制作する際には、レイアウトにインラインブロック要素がよく使われますが、インライ...

近々ブラウザに導入される CSS :is() と :where() の簡単な分析

Safari (Technology Preview 106) および Firefox (バージョン...

入力ボックスのコンテンツプロンプトと非表示機能を実装する JavaScript

入力ボックスが小さい場合、内容を入力した後に、入力内容が拡大されたプロンプト ボックスを表示したいこ...

mysql 解凍パッケージの基本インストールチュートリアル

新しいコンピューターに変更したので、すべての環境を新しいコンピューター上で設定する必要があります。ふ...

DIV共通属性コレクション

1. 物件リストコードをコピーコードは次のとおりです。色: #999999 テキスト色フォントファミ...

Linuxでディスクをマウントする方法

仮想マシンを使用しているときに、ディスク容量が不足し、継続使用するためにディスクをマウントする必要が...