淄博网站制作定制优化,企业手机网站建设报价,wordpress的数据库有多大?,做网站毕业设计前言:
数据库使用的是mysql 以下创建的表,实现以下功能: 用户1,账号admin,年龄20,关联3件商品 用户2,账号admin2,年龄30,关联2件商品(没有商品和用户1重复) 用户3,账号admin3,年龄50,关联2件商品(这两件商品均是用户1的其中两种) 登录查询对应数据的实现
1.创建用户表Users,并…前言:
数据库使用的是mysql 以下创建的表,实现以下功能: 用户1,账号admin,年龄20,关联3件商品 用户2,账号admin2,年龄30,关联2件商品(没有商品和用户1重复) 用户3,账号admin3,年龄50,关联2件商品(这两件商品均是用户1的其中两种) 登录查询对应数据的实现
1.创建用户表Users,并添加三条数据:
CREATE TABLE Users (user_id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(255) NOT NULL,age INT
);-- 插入用户数据
INSERT INTO Users (username, age) VALUES (admin, 20);
INSERT INTO Users (username, age) VALUES (admin2, 30);
INSERT INTO Users (username, age) VALUES (admin3, 50);2.创建购物车商品表ShoppingCart,并添加相应数据(模拟数据)
CREATE TABLE ShoppingCart (item_id INT PRIMARY KEY AUTO_INCREMENT,item_name VARCHAR(255) NOT NULL
);-- 插入购物车商品数据
INSERT INTO ShoppingCart (item_name) VALUES (商品1);
INSERT INTO ShoppingCart (item_name) VALUES (商品2);
INSERT INTO ShoppingCart (item_name) VALUES (商品3);
INSERT INTO ShoppingCart (item_name) VALUES (商品4);
INSERT INTO ShoppingCart (item_name) VALUES (商品5);3.创建用户与购物车商品的关联表 (UserItem)
CREATE TABLE UserItem (user_id INT,item_id INT,PRIMARY KEY (user_id, item_id),FOREIGN KEY (user_id) REFERENCES Users(user_id),FOREIGN KEY (item_id) REFERENCES ShoppingCart(item_id)
);-- 插入用户与购物车商品的关联数据
-- 用户1 (admin) 有三件商品(参数一是用户表id,参数二是商品表id,后面还可以添加其他与此用户相关联的表)
INSERT INTO UserItem (user_id, item_id) VALUES (1, 1);
INSERT INTO UserItem (user_id, item_id) VALUES (1, 2);
INSERT INTO UserItem (user_id, item_id) VALUES (1, 3);
-- 用户2 (admin2) 有两件商品(与用户1没相同的)
INSERT INTO UserItem (user_id, item_id) VALUES (2, 4);
INSERT INTO UserItem (user_id, item_id) VALUES (2, 5);
-- 用户3 (admin3) 有两件商品都与用户1 (admin) 相同
INSERT INTO UserItem (user_id, item_id) VALUES (3, 1);
INSERT INTO UserItem (user_id, item_id) VALUES (3, 2);4.查询对应的数据
SELECT Users.username, Users.age, ShoppingCart.item_name
FROM Users
LEFT JOIN UserItem ON Users.user_id UserItem.user_id
LEFT JOIN ShoppingCart ON UserItem.item_id ShoppingCart.item_id
WHERE Users.username admin2;
-- 这个名字就是用户名(根据用户名查询的,使用了左连接,如果查询不到匹配的值,左连接的右边没有匹配的数据会显示null)打印结果如下: admin2打印结果 admin打印结果 admin3打印结果 注册新用户关联的实现
1.插入新的注册信息
插入用户信息首先插入新用户的信息到 Users 表。假设新用户的用户名是 admin4 年龄是 25可以执行以下 SQL 语句
INSERT INTO Users (username, age) VALUES (admin4, 25);这样就添加用户成功了,执行上面的查询语句会打印出数据,但是商品那里就是null,因为还没有添加商品
2.给新用户添加商品
2.1 获取新用户的用户ID新用户的用户ID是自动生成的通常是自动递增的可以使用 LAST_INSERT_ID() 函数来获取新用户的用户ID
SELECT LAST_INSERT_ID() AS new_user_id;2.2 将新用户与商品信息绑定可以将新用户与商品信息绑定以便以后可以直接添加商品。假设要将新用户与商品1和商品2绑定执行以下 SQL 语句
-- 将新用户与商品1和商品2绑定
INSERT INTO UserItem (user_id, item_id) VALUES (new_user_id, 1);
INSERT INTO UserItem (user_id, item_id) VALUES (new_user_id, 2);2.3,现在商品就和用户绑定了,再次执行一下上面的查询语句查询一下
SELECT Users.username, Users.age, ShoppingCart.item_name
FROM Users
LEFT JOIN UserItem ON Users.user_id UserItem.user_id
LEFT JOIN ShoppingCart ON UserItem.item_id ShoppingCart.item_id
WHERE Users.username admin4; 这里已经成功查询到了admin4用户对应的数据了,如果需要更多的数据,可以分别创建更多的列表