ホームページ >データベース >mysql チュートリアル >MySQL を使用して食料品ショッピング システムのユーザー ポイント レコード テーブルを作成する方法

MySQL を使用して食料品ショッピング システムのユーザー ポイント レコード テーブルを作成する方法

PHPz
PHPzオリジナル
2023-11-01 14:02:101382ブラウズ

MySQL を使用して食料品ショッピング システムのユーザー ポイント レコード テーブルを作成する方法

野菜ショッピング システムは非常に実用的なアプリケーションです。新鮮な野菜、果物、その他の食材をユーザーに簡単に提供できます。ユーザーにより良いサービスを提供するには、ユーザー ポイントを確立する必要があります。ユーザーの消費行動と使用習慣を追跡するためのフォーム。この記事では、MySQL を使用して食料品ショッピング システムのユーザー ポイント レコード テーブルを作成する方法を紹介し、具体的なコード例を示します。

1. ユーザーポイント記録テーブルの設計

ユーザーポイント記録テーブルは、ユーザーがスーパーマーケットシステムを利用して買い物や消費を行うことで、ユーザーポイントの推移を記録するためのテーブルです。も増加し、それに応じた変化が起こります。したがって、ユーザー ポイント記録テーブルを作成する際には、次の要素を考慮する必要があります:

1. ユーザー情報
2. ポイントの変更タイプ (消費、払い戻し、アクティビティなど)
3.ポイント変更量
4. 変更時間

##上記の考慮事項に基づいて、次のユーザー ポイント レコード テーブルを設計できます:

フィールド名 データ型 #説明##iduser_idchange_typechange_amountchange_time2. ユーザー ポイント レコード テーブルを作成するための具体的なコード
int(11) Auto-主キーを増分
int(11) userID
varchar(20 ) ポイント変更タイプ (消費、払い戻し、アクティビティなど)
int(11) 変更金額
datetime 変更時間 (形式: YYYY-MM-DD HH:MM:SS)

MySQL でのテーブルの作成は非常に簡単で、CREATE TABLE ステートメントを使用するだけです。以下は、ユーザー ポイント レコード テーブルを作成するためのサンプル コードです:

CREATE TABLE user_points (
  id int(11) NOT NULL AUTO_INCREMENT,
  user_id int(11) NOT NULL COMMENT '用户ID',
  change_type varchar(20) NOT NULL COMMENT '积分变化类型(消费、退款、活动等)',
  change_amount int(11) NOT NULL COMMENT '积分变化额度',
  change_time datetime NOT NULL COMMENT '变化时间(格式:YYYY-MM-DD HH:MM:SS)',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户积分记录表';

上記のコードでは、CREATE TABLE ステートメントを使用して、4 つのフィールドを含む「user_points」という名前のテーブルを作成しました。 (自動インクリメント主キー)、user_id(ユーザーID)、change_type(ポイント変更タイプ)、change_amount(ポイント変更量)、change_time(変更時間)。作成時に、InnoDB ストレージ エンジンを使用するようにテーブルを設定し、エンコードを utf8mb4 に指定しました。

3. ユーザーポイント記録テーブルにデータを追加します

ユーザーポイント記録テーブルを作成したら、データの入力を開始する必要があります。以下は、テーブルの正確性をテストするために使用できるサンプル データです:

INSERT INTO user_points (user_id, change_type, change_amount, change_time) 
VALUES 
(10001, '消费', -100, '2021-06-01 12:00:00'),
(10001, '消费', -50, '2021-06-03 18:00:00'),
(10001, '活动', 200, '2021-06-05 09:00:00'),
(10002, '消费', -80, '2021-06-02 15:00:00'),
(10002, '消费', -120, '2021-06-04 20:00:00'),
(10002, '活动', 150, '2021-06-06 13:00:00');

上記のコードでは、INSERT INTO ステートメントを使用して 6 つのデータを「user_points」テーブルに挿入しました。テーブルの正確性のテストを開始するときが来ました。

4. ユーザー ポイント レコード テーブルをクエリする

最後に、ユーザー ポイント レコード テーブルをクエリして、テーブルが正しいことを確認する必要があります。一般的なクエリ ステートメントの例をいくつか示します:

1. ユーザーの合計ポイントをクエリします:

SELECT SUM(change_amount) AS point_total FROM user_points WHERE user_id=10001;

このステートメントでは、SELECT SUM() ステートメントを使用して、ユーザーの ID を計算します。 10001 ユーザーの合計ポイント、結果はエイリアス "point_total" で返されます。

2. ユーザーの最後の 5 つの変更レコードをクエリします:

SELECT * FROM user_points WHERE user_id=10001 ORDER BY change_time DESC LIMIT 5;

このステートメントでは、SELECT * ステートメントを使用して、ID 10001 のユーザーの最後の 5 つの変更をクエリします。変更時間の逆順に記録され、ソートされます。

3. 一定期間内のすべてのユーザーのスコア変更レコードをクエリします:

SELECT * FROM user_points WHERE change_time BETWEEN '2021-06-01 00:00:00' AND '2021-06-30 23:59:59';

このステートメントでは、SELECT * ステートメントを使用して、6 月 1 日から 6 月 1 日までのポイント変更レコードをクエリします。 2021年と6月30日の間に発生したすべてのポイント変更が記録されます。

要約すると、この記事では、MySQL を使用して食料品ショッピング システムのユーザー ポイント レコード テーブルを作成する方法を紹介し、具体的なコード例を示します。これらのコードを使用してテーブルの正確性をテストし、クエリ ステートメントを通じてデータの正確性をチェックすることで、完全なユーザー ポイント記録システムを完全に確立できます。

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

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