ホームページ >データベース >mysql チュートリアル >MySQL を使用して食料品ショッピング システムのユーザー ポイント レコード テーブルを作成する方法
野菜ショッピング システムは非常に実用的なアプリケーションです。新鮮な野菜、果物、その他の食材をユーザーに簡単に提供できます。ユーザーにより良いサービスを提供するには、ユーザー ポイントを確立する必要があります。ユーザーの消費行動と使用習慣を追跡するためのフォーム。この記事では、MySQL を使用して食料品ショッピング システムのユーザー ポイント レコード テーブルを作成する方法を紹介し、具体的なコード例を示します。
1. ユーザーポイント記録テーブルの設計
ユーザーポイント記録テーブルは、ユーザーがスーパーマーケットシステムを利用して買い物や消費を行うことで、ユーザーポイントの推移を記録するためのテーブルです。も増加し、それに応じた変化が起こります。したがって、ユーザー ポイント記録テーブルを作成する際には、次の要素を考慮する必要があります:
1. ユーザー情報
2. ポイントの変更タイプ (消費、払い戻し、アクティビティなど)
3.ポイント変更量
4. 変更時間
データ型 | #説明 | |
---|---|---|
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 サイトの他の関連記事を参照してください。