ホームページ  >  記事  >  データベース  >  MySQL の食料品ショッピング システムのユーザー ポイント テーブル設計ガイド

MySQL の食料品ショッピング システムのユーザー ポイント テーブル設計ガイド

WBOY
WBOYオリジナル
2023-11-01 18:37:521202ブラウズ

MySQL の食料品ショッピング システムのユーザー ポイント テーブル設計ガイド

MySQL の食品購入システムのユーザー ポイント テーブル設計ガイド

はじめに:
ユーザー ポイントは食品購入システムの非常に重要な部分であり、これを反映することができます。ユーザーのロイヤルティとシステム内のアクティビティ。適切なユーザー ポイント テーブルを設計すると、ポイントの追加、減算、クエリ、カウントが容易になります。この記事では、テーブル構造の設計、フィールドの意味、コード例など、ユーザー ポイント テーブルの設計方法を詳しく紹介します。

1. テーブル構造設計
MySQL でユーザー ポイント テーブルを作成するには、次のテーブル構造設計を使用できます:

CREATE TABLE `user_points` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `user_id` INT NOT NULL,
  `point` INT NOT NULL DEFAULT 0,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

ここでは 5 つのフィールドを定義します:

  1. id: 自動インクリメントされる主キー。各ポイント レコードを一意に識別するために使用されます。
  2. user_id: ユーザーテーブル内のユーザー情報を関連付けるために使用されるユーザー ID。
  3. point: ユーザーポイント数。ユーザーのポイント数を示すために使用されます。
  4. created_at: レコードの作成時刻。ポイントの生成時刻を記録するために使用されます。
  5. updated_at: レコードの更新時刻。ポイントの変更時刻を記録するために使用されます。

2. 説明を意味するフィールド

  1. id: テーブルの主キーとして、各ポイント レコードを一意に識別するために使用されます。
  2. user_id: 関連するユーザー テーブル内のユーザー ID。どのユーザーのポイント レコードを決定するために使用されます。
  3. point: ユーザーのポイント数を示します。正または負の数値を指定できます。
  4. created_at: MySQL の CURRENT_TIMESTAMP 関数を使用して自動的に生成されたポイントの生成時間を記録します。
  5. updated_at: MySQL の CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 関数を使用して自動的に生成される、ポイントの変更時刻を記録します。

3. コード例

  1. ユーザー ポイント レコードの挿入

    INSERT INTO `user_points` (`user_id`, `point`) VALUES (1, 10);

    このコードは、ユーザー ポイント テーブルにユーザー ID を挿入します。ポイント数は10レコードです。

  2. ユーザー ポイントの増加

    UPDATE `user_points` SET `point` = `point` + 5 WHERE `user_id` = 1;

    このコードは、ユーザー ID 1 のポイント数を 5 ずつ増やします。

  3. ユーザー ポイントの削減

    UPDATE `user_points` SET `point` = `point` - 5 WHERE `user_id` = 1;

    このコードは、ユーザー ID 1 のポイント数を 5 削減します。

  4. ユーザー ポイントのクエリ

    SELECT `point` FROM `user_points` WHERE `user_id` = 1;

    このコードは、ユーザー ID 1 のポイント数をクエリします。

  5. ユーザー ポイント ランキングのクエリ

    SELECT `user_id`, `point`, (
     SELECT COUNT(*) + 1
     FROM `user_points` AS `up2`
     WHERE `up2`.`point` > `up1`.`point`
    ) AS `ranking`
    FROM `user_points` AS `up1`
    ORDER BY `point` DESC;

    このコードは、ユーザー ポイント テーブル内のすべてのユーザーのポイント ランキングをクエリします。

結論:
ユーザー ポイント テーブルを適切に設計すると、ユーザー ポイントの増加、減少、クエリ、統計が容易になります。 MySQL の基本的な SQL ステートメントを使用して、ユーザー ポイント テーブルを簡単に操作できます。この記事で提供するユーザー ポイント テーブルの設計ガイドが、食料品の買い物システムに役立つことを願っています。

以上がMySQL の食料品ショッピング システムのユーザー ポイント テーブル設計ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。