MYSQL 之 on duplicate key update
需求: 假如有一张书目表,字段为id,name,count(库存) 现要插入一条新纪录,如果数据库没有这条纪录,插入 若已经存在,则更新库存。 解决方法:mysql 的 on duplicate key update 语法。 下面给出解决过程。 创建测试数据库 mysql CREATE DATABASE `tes
需求:
假如有一张书目表,字段为id,name,count(库存)
现要插入一条新纪录,如果数据库没有这条纪录,插入
若已经存在,则更新库存。
解决方法:mysql 的 on duplicate key update 语法。
下面给出解决过程。
创建测试数据库
mysql> CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.14 sec)
mysql> use test;
Database changed
创建测试数据表
mysql> CREATE TABLE IF NOT EXISTS `books` (
Query OK, 0 rows affected (0.79 sec)
查看索引信息
mysql> show index from books;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| books |
| books |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------2 rows in set (0.00 sec)
插入第一条测试数据
mysql> INSERT INTO `books` VALUES ('','windows',5);
Query OK, 1 row affected, 1 warning (0.04 sec)
查看数据
mysql> select * from books;
+----+---------+-------+
| id | name
+----+---------+-------+
|
+----+---------+-------+
1 row in set (0.00 sec)
再次插入windows这本书
mysql> INSERT INTO `books` VALUES ('','windows',1)
Query OK, 2 rows affected, 1 warning (0.12 sec)
再来查看数据
mysql> select * from books;
+----+---------+-------+
| id | name
+----+---------+-------+
|
+----+---------+-------+
1 row in set (0.00 sec)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ビッグ データ構造の処理スキル: チャンキング: データ セットを分割してチャンクに処理し、メモリ消費を削減します。ジェネレーター: データ セット全体をロードせずにデータ項目を 1 つずつ生成します。無制限のデータ セットに適しています。ストリーミング: ファイルやクエリ結果を 1 行ずつ読み取ります。大きなファイルやリモート データに適しています。外部ストレージ: 非常に大規模なデータ セットの場合は、データをデータベースまたは NoSQL に保存します。

MySQL クエリのパフォーマンスは、検索時間を線形の複雑さから対数の複雑さまで短縮するインデックスを構築することで最適化できます。 PreparedStatement を使用して SQL インジェクションを防止し、クエリのパフォーマンスを向上させます。クエリ結果を制限し、サーバーによって処理されるデータ量を削減します。適切な結合タイプの使用、インデックスの作成、サブクエリの使用の検討など、結合クエリを最適化します。クエリを分析してボトルネックを特定し、キャッシュを使用してデータベースの負荷を軽減し、オーバーヘッドを最小限に抑えます。

PHP で MySQL データベースをバックアップおよび復元するには、次の手順を実行します。 データベースをバックアップします。 mysqldump コマンドを使用して、データベースを SQL ファイルにダンプします。データベースの復元: mysql コマンドを使用して、SQL ファイルからデータベースを復元します。

MySQLテーブルにデータを挿入するにはどうすればよいですか?データベースに接続する: mysqli を使用してデータベースへの接続を確立します。 SQL クエリを準備します。挿入する列と値を指定する INSERT ステートメントを作成します。クエリの実行: query() メソッドを使用して挿入クエリを実行します。成功すると、確認メッセージが出力されます。

パッチ不可能な Yubico の 2 要素認証キーの脆弱性により、ほとんどの Yubikey 5、セキュリティ キー、および YubiHSM 2FA デバイスのセキュリティが破られています。 Feitian A22 JavaCard および Infineon SLB96xx シリーズ TPM を使用するその他のデバイスも脆弱です。すべて

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

数回のプレリリースを経て、KDE Plasma 開発チームは 2 月 28 日に、初めて Qt6 フレームワークを使用した Linux および BSD システム用のデスクトップ環境のバージョン 6.0 を発表しました。 KDE Plasma 6.1 には、多数の新機能が追加されました。

PHP で MySQL ストアド プロシージャを使用するには: PDO または MySQLi 拡張機能を使用して、MySQL データベースに接続します。ストアド プロシージャを呼び出すステートメントを準備します。ストアド プロシージャを実行します。結果セットを処理します (ストアド プロシージャが結果を返す場合)。データベース接続を閉じます。
