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

推薦する

上位Nを見つけるためのMySQLグループソートの詳細な説明

MySQLグループソートで上位Nを見つけるテーブル構造grp でグループ化し、num で並べ替えて、...

Tomcat の 404 エラーの解決方法の詳細な説明

Tomcat テストで 404 問題が発生します。問題は次のとおりです。 HTTP ステータス 40...

Nginx 静的ファイル サービスの構成と最適化の詳細な説明

ルートディレクトリとインデックスファイルroot ディレクティブは、ファイルの検索に使用するルート ...

6秒でMySQLに100万件のレコードを挿入する方法を教えます

1. アイデアMySQL に 1,000,000 件のレコードを挿入するのにたった 6 秒しかかかり...

Raspberry Pi msmtp と mutt のインストールと設定のチュートリアル

1. muttをインストールするsudo apt-get install mutt 2. msmtp...

Reactプロジェクトで画像を導入するいくつかの方法

imgタグは画像を導入しますreactは実際にはjsリーダー関数を介してページをレンダリングするため...

クロスブラウザローカルストレージⅠ

原文: http://www.planabc.net/2008/08/05/userdata_beh...

Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明

Vueイメージドラッグアンドドロップズームコンポーネントの具体的な使い方は参考までに。具体的な内容は...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

MySQL innodb B+ツリーの高さを取得する方法

序文MySQL の InnoDB エンジンがインデックスの保存に B+tree を使用する理由は、デ...

Vue.js ドロップダウン コンポーネント付きテキストボックス

ドロップダウン付きのテキストボックスを使用すると、ユーザーはドロップダウン リストから入力を選択した...

Vue の状態管理: Vuex の代わりに Pinia を使用する

目次1. ピニアとは何ですか? 2. Piniaは使いやすい3. ユーザーエクスペリエンス1. ピニ...

フロントエンド開発者のための HTML 入門

1 HTML入門1.1 初めてのコード体験、最初のウェブページの作成XML/HTML コードコンテン...

Nginx 1つのドメイン名で複数のプロジェクトにアクセスする方法の例

背景最近、複数のプロジェクトを展開する際に、1 つのドメイン名で複数のプロジェクトにアクセスする方法...

Dockerコンテナのデータボリュームの詳細な説明

何ですかまず、Docker の概念を見てみましょう。アプリケーションと実行環境をコンテナにパッケージ...