文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

跟晓月一起练: MySQL常用SQL语句查询及数据库表的操作

2023-09-09 17:53

关注

mysql的学习,多练习才是最重要的。

关注我的云原生社区云原生社区
关注我的英语社区从零开始学英语

文章目录

1.1 电商网站常见模块

一个电商网站通常由多个模块组成,每个模块负责不同的功能和任务。常见模块如下:

  1. 用户模块:处理用户注册、登录、个人资料管理等功能,确保用户的身份验证和信息安全。
  2. 商品模块:管理商品的发布、展示、搜索和分类,包括商品的详细信息、价格、库存等。
  3. 购物车模块:实现用户将商品添加到购物车、调整商品数量、结算等功能,方便用户管理购买行为。
  4. 订单模块:处理用户下单、生成订单、支付订单、查看订单状态等功能,确保购买过程的顺利进行。
  5. 支付模块:与第三方支付服务集成,实现支付过程的安全处理和支付状态的确认。
  6. 物流模块:管理订单的配送和物流信息,包括生成运单、跟踪物流状态、提供物流查询等功能。
  7. 评价模块:允许用户对购买的商品进行评价和评论,同时提供评分和展示评价的功能。
  8. 优惠券模块:管理优惠券的发布、领取和使用,提供用户优惠和促销活动。 客服模块:提供在线客服和用户支持功能,包括咨询、投诉、售后等服务。
  9. 数据分析模块:收集和分析用户行为数据、销售数据等,用于业务决策、推荐系统和个性化服务。
  10. 后台管理模块:用于管理员管理电商网站的功能,包括商品管理、订单管理、用户管理、运营活动管理等。
  11. 广告模块:管理网站的广告位,包括广告发布、投放和效果统计等。
  12. 会员模块:管理会员等级、积分体系、会员权益、会员卡等,提供个性化的会员服务和特权。
  13. 安全模块:处理用户密码加密和账户安全,防范恶意攻击、欺诈行为和数据泄漏等。
  14. 社交分享模块:允许用户分享商品信息和购买体验到社交媒体平台,增加商品曝光和推广。
  15. 推荐模块:根据用户的历史购买、浏览行为等信息,提供个性化的商品推荐和推荐算法优化。
  16. 多语言与国际化模块:支持多语言界面和翻译,适应国际市场和不同地区的用户需求。
  17. 秒杀/团购模块:提供限时秒杀和团购活动,促进交易活跃度和用户参与度。
  18. 供应链管理模块:管理供应商和库存,确保商品供应的稳定性和及时性。
  19. 数据备份与恢复模块:定期进行数据库备份,以防止数据丢失,同时提供数据恢复的能力。
  20. 移动端应用模块:为移动设备提供相应的应用程序,提供优化的移动购物体验。
  21. 积分商城模块:允许用户使用积分兑换商品或优惠券,增强用户忠诚度和参与度。
  22. 电子发票模块:提供电子发票的生成、发送和管理,方便用户进行购物凭证的记录。

1.2 用户模块 分类

以用户模块为例,创建一个名为"User"的数据库表 ,可能包含:

1.3 创建用户表并插入数据

MySQL [(none)]> create database store;Query OK, 1 row affected (0.00 sec)MySQL [(none)]> use store
CREATE TABLE User (  UserID INT PRIMARY KEY,  Username VARCHAR(50) NOT NULL,  Password VARCHAR(100) NOT NULL,  Email VARCHAR(100) NOT NULL,  Phone VARCHAR(20),  FirstName VARCHAR(50),  LastName VARCHAR(50),  Address VARCHAR(100),  City VARCHAR(50),  PostalCode VARCHAR(20),  Country VARCHAR(50),  Gender ENUM('Male', 'Female', 'Not available'),  Birthdate DATE,  Avatar VARCHAR(200),  RegistrationDate DATETIME,  LastLoginDate DATETIME,  IsActive BOOLEAN,  IsAdmin BOOLEAN);
INSERT INTO User (UserID, Username, Password, Email, Phone, FirstName, LastName, Address, City, PostalCode, Country, Gender, Birthdate, Avatar, RegistrationDate, LastLoginDate, IsActive, IsAdmin)VALUES(1, 'johnsmith', 'password123', 'john@example.com', '1234567890', 'John', 'Smith', '123 Main St', 'New York', '10001', 'USA', 'Male', '1990-01-01', 'https://example.com/avatar1.jpg', '2023-06-01 10:00:00', '2023-06-02 15:00:00', 1, 0),(2, 'janedoe', 'password456', 'jane@example.com', '0987654321', 'Jane', 'Doe', '456 Elm St', 'Los Angeles', '90001', 'USA', 'Female', '1995-03-15', 'https://example.com/avatar2.jpg', '2023-06-03 12:00:00', '2023-06-05 09:30:00', 1, 0),(3, 'mikebrown', 'password789', 'mike@example.com', '9876543210', 'Mike', 'Brown', '789 Oak St', 'Chicago', '60601', 'USA', 'Male', '1988-07-10', 'https://example.com/avatar3.jpg', '2023-06-08 09:00:00', '2023-06-09 16:45:00', 1, 1),(4, 'sarahwilson', 'passwordabc', 'sarah@example.com', '0123456789', 'Sarah', 'Wilson', '987 Pine St', 'San Francisco', '94101', 'USA', 'Female', '1992-12-25', 'https://example.com/avatar4.jpg', '2023-06-10 14:30:00', '2023-06-12 11:20:00', 1, 0);
MySQL [store]> select UserID,FirstName,LastName from User;+--------+-----------+----------+| UserID | FirstName | LastName |+--------+-----------+----------+|      1 | John      | Smith    ||      2 | Jane      | Doe      ||      3 | Mike      | Brown    ||      4 | Sarah     | Wilson   |+--------+-----------+----------+4 rows in set (0.00 sec)

1.4 创建购物车的数据库表并插入数据

CREATE TABLE ShoppingCart (  CartID INT PRIMARY KEY AUTO_INCREMENT,  UserID INT NOT NULL,  ProductID INT NOT NULL,  Quantity INT NOT NULL,  Price DECIMAL(10, 2) NOT NULL,  CreatedAt DATETIME);
  1. UserID(用户ID):购物车所属用户的ID。
  2. ProductID(商品ID):购物车中商品的ID。
  3. Quantity(数量):购物车中该商品的数量。
  4. Price(价格):购物车中该商品的价格。
  5. CreatedAt(创建时间):购物车中商品的添加时间。
INSERT INTO ShoppingCart (UserID, ProductID, Quantity, Price, CreatedAt)VALUES(1, 1001, 2, 39.99, '2023-06-15 10:00:00'),(2, 1002, 1, 19.99, '2023-06-15 10:30:00'),(3, 1001, 3, 39.99, '2023-06-15 11:00:00'),(4, 1003, 1, 49.99, '2023-06-15 12:00:00');
MySQL [store]> select * from ShoppingCart;+--------+--------+-----------+----------+-------+---------------------+| CartID | UserID | ProductID | Quantity | Price | CreatedAt           |+--------+--------+-----------+----------+-------+---------------------+|      1 |      1 |      1001 |        2 | 39.99 | 2023-06-15 10:00:00 ||      2 |      2 |      1002 |        1 | 19.99 | 2023-06-15 10:30:00 ||      3 |      3 |      1001 |        3 | 39.99 | 2023-06-15 11:00:00 ||      4 |      4 |      1003 |        1 | 49.99 | 2023-06-15 12:00:00 |+--------+--------+-----------+----------+-------+---------------------+4 rows in set (0.00 sec)

1.5 查询语句

  1. 向User表中插入了一条用户信息,用户名为"mufenggrow"。
INSERT INTO User (UserID, Username, Password, Email, Phone, FirstName, LastName, Address, City, PostalCode, Country, Gender, Birthdate, Avatar, RegistrationDate, LastLoginDate, IsActive, IsAdmin)VALUES(5, 'mufenggrow', 'password123', 'mufenggrow@example.com', '1234567890', 'Mufeng', 'Grow', '456 Maple St', 'London', 'SW1A 1AA', 'UK', 'Male', '1990-05-20', 'https://example.com/avatar5.jpg', '2023-06-18 09:00:00', '2023-06-18 09:00:00', 1, 0);

2.1 创建数据库

drop table if exists students;create table students (  studentNo varchar(10) primary key,  name varchar(10),  sex varchar(1),  hometown varchar(20),  age tinyint(4),  class varchar(10),  card varchar(20))

2.2 插入数据

insert into students values('001', '王昭君', '女', '北京', '20', '1班', '340322199001247654'),('002', '诸葛亮', '男', '上海', '18', '2班', '340322199002242354'),('003', '张飞', '男', '南京', '24', '3班', '340322199003247654'),('004', '白起', '男', '安徽', '22', '4班', '340322199005247654'),('005', '大乔', '女', '天津', '19', '3班', '340322199004247654'),('006', '孙尚香', '女', '河北', '18', '1班', '340322199006247654'),('007', '百里玄策', '男', '山西', '20', '2班', '340322199007247654'),('008', '小乔', '女', '河南', '15', '3班', null),('009', '百里守约', '男', '湖南', '21', '1班', ''),('010', '妲己', '女', '广东', '26', '2班', '340322199607247654'),('011', '李白', '男', '北京', '30', '4班', '340322199005267754'),('012', '孙膑', '男', '新疆', '26', '3班', '340322199000297655')

2.3 实现如下题目

  1. 查询小乔的年龄
  2. 查询20岁以下的学生
  3. 查询家乡不在北京的学生
  4. 查询学号为007的学生身份证号
  5. 查询1班的上海的学生
  6. 查询姓孙的学神
  7. 查询非20岁的学生
  8. 查询所有学生信息,年龄从小到大排序
  9. 查询所有学生信息,按年龄从大到小排序,年龄相同时,再按学号从小到大排序
4 创建表,插入数据[root@leaner mysql001]# mysql -pSmile-123mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor.  Commands end with ; or \g.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>mysql> show databases;+--------------------+| Database           |+--------------------+| aa                 || information_schema || mysql              || performance_schema || sys                || test               |+--------------------+6 rows in set (0.01 sec)mysql> use test;Database changedmysql> create table students(studentNo varchar(5),name varchar(30),sex varchar(5), hometown varchar(100), age int, class varchar(10), card varchar(30));mysql> insert into students values('001', '王昭君', '女', '北京', 20, '1班', '340322199001247654'), ('002', '诸葛亮', '男', '上海', 18, '2班', '340322199002242354'), ('003', '张飞', '男', '南京', 24, '3班', '340322199003247654'), ('004', '白起', '男', '安徽', 22, '4班', '340322199005247654'),('005', '大乔', '女', '天津', 19, '3班', '340322199004247654'), ('006', '孙尚香', '女', '河北', 18, '1班', '340322199006247654'), ('007', '百里玄策', '男', '山西', 20, '2班', '340322199007247654'), ('008', '小乔', '女', '河南', 15, '3班', null), ('009', '百里守约', '男', '湖南', 21, '1班', ''), ('010', '妲己', '女', '广东', 26, '2班', '340322199607247654'), ('011', '李白', '男', '北京', 30, '4班', '340322199005267754'),('012', '孙膑', '男', '新疆', 26, '3班', '340322199000297655');mysql> select * from students;+-----------+--------------+------+----------+------+-------+--------------------+| studentNo | name         | sex  | hometown | age  | class | card               |+-----------+--------------+------+----------+------+-------+--------------------+| 001       | 王昭君       || 北京     |   20 | 1| 340322199001247654 || 002       | 诸葛亮       || 上海     |   18 | 2| 340322199002242354 || 003       | 张飞         || 南京     |   24 | 3| 340322199003247654 || 004       | 白起         || 安徽     |   22 | 4| 340322199005247654 || 005       | 大乔         || 天津     |   19 | 3| 340322199004247654 || 006       | 孙尚香       || 河北     |   18 | 1| 340322199006247654 || 007       | 百里玄策     || 山西     |   20 | 2| 340322199007247654 || 008       | 小乔         || 河南     |   15 | 3| NULL               || 009       | 百里守约     || 湖南     |   21 | 1|                    || 010       | 妲己         || 广东     |   26 | 2| 340322199607247654 || 011       | 李白         || 北京     |   30 | 4| 340322199005267754 || 012       | 孙膑         || 新疆     |   26 | 3| 340322199000297655 |+-----------+--------------+------+----------+------+-------+--------------------+12 rows in set (0.00 sec)mysql> 题目:# 查询小乔的年龄mysql> select name,age from students where name="小乔";+--------+------+| name   | age  |+--------+------+| 小乔   |   15 |+--------+------+1 row in set (0.00 sec)# 查询20岁以下的学生mysql> select * from students where age < 20;+-----------+-----------+------+----------+------+-------+--------------------+| studentNo | name      | sex  | hometown | age  | class | card               |+-----------+-----------+------+----------+------+-------+--------------------+| 002       | 诸葛亮    || 上海     |   18 | 2| 340322199002242354 || 005       | 大乔      || 天津     |   19 | 3| 340322199004247654 || 006       | 孙尚香    || 河北     |   18 | 1| 340322199006247654 || 008       | 小乔      || 河南     |   15 | 3| NULL               |+-----------+-----------+------+----------+------+-------+--------------------+4 rows in set (0.00 sec) # 查询家乡不在北京的学生mysql> select * from students where hometown <> "北京";+-----------+--------------+------+----------+------+-------+--------------------+| studentNo | name         | sex  | hometown | age  | class | card               |+-----------+--------------+------+----------+------+-------+--------------------+| 002       | 诸葛亮       || 上海     |   18 | 2| 340322199002242354 || 003       | 张飞         || 南京     |   24 | 3| 340322199003247654 || 004       | 白起         || 安徽     |   22 | 4| 340322199005247654 || 005       | 大乔         || 天津     |   19 | 3| 340322199004247654 || 006       | 孙尚香       || 河北     |   18 | 1| 340322199006247654 || 007       | 百里玄策     || 山西     |   20 | 2| 340322199007247654 || 008       | 小乔         || 河南     |   15 | 3| NULL               || 009       | 百里守约     || 湖南     |   21 | 1|                    || 010       | 妲己         || 广东     |   26 | 2| 340322199607247654 || 012       | 孙膑         || 新疆     |   26 | 3| 340322199000297655 |+-----------+--------------+------+----------+------+-------+--------------------+10 rows in set (0.00 sec)# 查询学号为007的学生身份证号mysql> select studentNo,card from students where studentNo = '007';+-----------+--------------------+| studentNo | card               |+-----------+--------------------+| 007       | 340322199007247654 |+-----------+--------------------+1 row in set (0.00 sec)# 查询1班的上海的学生mysql> select * from students where hometown = "北京" and class="1班";+-----------+-----------+------+----------+------+-------+--------------------+| studentNo | name      | sex  | hometown | age  | class | card               |+-----------+-----------+------+----------+------+-------+--------------------+| 001       | 王昭君    || 北京     |   20 | 1| 340322199001247654 |+-----------+-----------+------+----------+------+-------+--------------------+1 row in set (0.00 sec)# 查询姓孙的学生mysql> select * from students where name like '孙%';+-----------+-----------+------+----------+------+-------+--------------------+| studentNo | name      | sex  | hometown | age  | class | card               |+-----------+-----------+------+----------+------+-------+--------------------+| 006       | 孙尚香    || 河北     |   18 | 1| 340322199006247654 || 012       | 孙膑      || 新疆     |   26 | 3| 340322199000297655 |+-----------+-----------+------+----------+------+-------+--------------------+2 rows in set (0.00 sec)# 查询非20岁的学生mysql> select * from students where age <> 20;+-----------+--------------+------+----------+------+-------+--------------------+| studentNo | name         | sex  | hometown | age  | class | card               |+-----------+--------------+------+----------+------+-------+--------------------+| 002       | 诸葛亮       || 上海     |   18 | 2| 340322199002242354 || 003       | 张飞         || 南京     |   24 | 3| 340322199003247654 || 004       | 白起         || 安徽     |   22 | 4| 340322199005247654 || 005       | 大乔         || 天津     |   19 | 3| 340322199004247654 || 006       | 孙尚香       || 河北     |   18 | 1| 340322199006247654 || 008       | 小乔         || 河南     |   15 | 3| NULL               || 009       | 百里守约     || 湖南     |   21 | 1|                    || 010       | 妲己         || 广东     |   26 | 2| 340322199607247654 || 011       | 李白         || 北京     |   30 | 4| 340322199005267754 || 012       | 孙膑         || 新疆     |   26 | 3| 340322199000297655 |+-----------+--------------+------+----------+------+-------+--------------------+10 rows in set (0.00 sec)# 查询所有学生信息,年龄从小到大排序mysql> select * from students order by age;+-----------+--------------+------+----------+------+-------+--------------------+| studentNo | name         | sex  | hometown | age  | class | card               |+-----------+--------------+------+----------+------+-------+--------------------+| 008       | 小乔         || 河南     |   15 | 3| NULL               || 002       | 诸葛亮       || 上海     |   18 | 2| 340322199002242354 || 006       | 孙尚香       || 河北     |   18 | 1| 340322199006247654 || 005       | 大乔         || 天津     |   19 | 3| 340322199004247654 || 001       | 王昭君       || 北京     |   20 | 1| 340322199001247654 || 007       | 百里玄策     || 山西     |   20 | 2| 340322199007247654 || 009       | 百里守约     || 湖南     |   21 | 1|                    || 004       | 白起         || 安徽     |   22 | 4| 340322199005247654 || 003       | 张飞         || 南京     |   24 | 3| 340322199003247654 || 010       | 妲己         || 广东     |   26 | 2| 340322199607247654 || 012       | 孙膑         || 新疆     |   26 | 3| 340322199000297655 || 011       | 李白         || 北京     |   30 | 4| 340322199005267754 |+-----------+--------------+------+----------+------+-------+--------------------+12 rows in set (0.00 sec)# 查询所有学生信息,按年龄从大到小排序,年龄相同时,再按学号从小到大排序mysql> select * from students order by age desc,studentNo;+-----------+--------------+------+----------+------+-------+--------------------+| studentNo | name         | sex  | hometown | age  | class | card               |+-----------+--------------+------+----------+------+-------+--------------------+| 011       | 李白         || 北京     |   30 | 4| 340322199005267754 || 010       | 妲己         || 广东     |   26 | 2| 340322199607247654 || 012       | 孙膑         || 新疆     |   26 | 3| 340322199000297655 || 003       | 张飞         || 南京     |   24 | 3| 340322199003247654 || 004       | 白起         || 安徽     |   22 | 4| 340322199005247654 || 009       | 百里守约     || 湖南     |   21 | 1|                    || 001       | 王昭君       || 北京     |   20 | 1| 340322199001247654 || 007       | 百里玄策     || 山西     |   20 | 2| 340322199007247654 || 005       | 大乔         || 天津     |   19 | 3| 340322199004247654 || 002       | 诸葛亮       || 上海     |   18 | 2| 340322199002242354 || 006       | 孙尚香       || 河北     |   18 | 1| 340322199006247654 || 008       | 小乔         || 河南     |   15 | 3| NULL               |+-----------+--------------+------+----------+------+-------+--------------------+12 rows in set (0.00 s

接下来到你了,给你几个题目,参考本文的内容写出答案哦

  1. 查询年龄最大的学生的信息
  2. 查询性别为女性的学生数量
  3. 查询每个班级的学生数量
  4. 查询没有身份证号的学生信息

SQL语句不难,就是写起来比较麻烦,看到这里了,练习做了吗。在评论区写下你的答案哦。

来源地址:https://blog.csdn.net/wisdom_futrue/article/details/131268341

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯