首页 > 数据库 >12.mysql数据查询

12.mysql数据查询

时间:2023-09-02 17:11:18浏览次数:34  
标签:product 12 orders items 查询 products mysql order id

下面是一些 MySQL 数据库中的数据查询操作示例,包括单表查询和多表查询,以及相应的示例数据表。

单表查询:

假设我们有一个名为 products 的表,用于存储产品信息:

CREATE TABLE products (
    product_id INT PRIMARY KEY,
    product_name VARCHAR(255),
    category VARCHAR(50),
    price DECIMAL(10, 2)
);

INSERT INTO products (product_id, product_name, category, price)
VALUES
    (1, 'Laptop', 'Electronics', 799.99),
    (2, 'Smartphone', 'Electronics', 499.99),
    (3, 'Desk Chair', 'Furniture', 149.99),
    (4, 'Coffee Table', 'Furniture', 199.99),
    (5, 'Tennis Racket', 'Sports', 79.99);
  1. 查询表中的所有数据:

    SELECT * FROM products;
    
  2. 查询特定列的所有数据:

    SELECT product_name, price FROM products;
    
  3. 查询具有特定条件的数据:

    SELECT * FROM products WHERE category = 'Electronics';
    
  4. 查询不同的行:

    SELECT DISTINCT category FROM products;
    
  5. 对结果进行排序:

    SELECT * FROM products ORDER BY price DESC;
    

多表查询:

假设我们有两个表:orders 表和 order_items 表,以及一个关联它们的 order_id 列。

CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    customer_name VARCHAR(255),
    order_date DATE
);

INSERT INTO orders (order_id, customer_name, order_date)
VALUES
    (101, 'John Doe', '2023-01-15'),
    (102, 'Jane Smith', '2023-02-20'),
    (103, 'Bob Johnson', '2023-03-10');

CREATE TABLE order_items (
    order_item_id INT PRIMARY KEY,
    order_id INT,
    product_id INT,
    quantity INT
);

INSERT INTO order_items (order_item_id, order_id, product_id, quantity)
VALUES
    (1, 101, 1, 2),
    (2, 102, 2, 1),
    (3, 103, 4, 3);
  1. 查询所有订单及其订单项信息:

    SELECT orders.order_id, orders.customer_name, orders.order_date, order_items.product_id, order_items.quantity
    FROM orders
    INNER JOIN order_items ON orders.order_id = order_items.order_id;
    
  2. 查询特定客户的订单信息:

    SELECT orders.order_id, orders.customer_name, orders.order_date, order_items.product_id, order_items.quantity
    FROM orders
    INNER JOIN order_items ON orders.order_id = order_items.order_id
    WHERE orders.customer_name = 'John Doe';
    
  3. 查询每个订单的总价:

    SELECT orders.order_id, SUM(products.price * order_items.quantity) AS total_price
    FROM orders
    INNER JOIN order_items ON orders.order_id = order_items.order_id
    INNER JOIN products ON order_items.product_id = products.product_id
    GROUP BY orders.order_id;
    

这些示例提供了带有详细表和数据的单表查询和多表查询操作示例。您可以根据这些示例根据自己的需求进行自定义修改。确保将实际的表名和列名替换为您的数据库中的实际信息。

标签:product,12,orders,items,查询,products,mysql,order,id
From: https://www.cnblogs.com/itlaoboy/p/17673920.html

相关文章

  • 9.mysql 高可用性和故障恢复
    当考虑在MySQL数据库中实现高可用性和故障恢复时,以下是更详细的步骤和策略:主从复制(Master-SlaveReplication):配置一个主数据库和多个从数据库。启用二进制日志(binarylog)和从数据库的复制功能。设置适当的复制方式(异步复制通常用于高可用性,但可能会有些许延迟)。使......
  • mysql监控和维护
    对MySQL进行监控和维护是确保数据库性能和稳定性的关键部分。以下是一些常见的MySQL监控和维护任务:1.监控工具和服务:MySQLWorkbench:这是MySQL官方提供的一款图形化管理工具,提供性能监控和诊断工具。PerconaToolkit:包括各种有用的工具,如pt-query-digest用于分析慢查询、p......
  • 【Mysql | 空值处理 】
    MySQL中,空值通常用于表示缺失或未定义的值。处理空值的关键在于理解空值与其他值之间的关系,以及如何使用不同的SQL函数来处理和转换空值。(空值处理)NULLValues(空值)MySQL使用SQLSELECT命令及WHERE子句来读取数据表中的数据,但是当提供的查询条件字段为NULL时,该......
  • centos查看mysql默认密码和修改密码
    1、查看mysql默认密码:grep‘temporarypassword’/var/log/mysqld.logroot@localhost:b_1sZou9FZrtb_1sZou9FZrt就是2、修改mysql密码:ALTERUSER‘root’@‘localhost’IDENTIFIEDBY‘newpassword’;‘newpassword’替换成你要设置的密码,注意:密码设置必须要大小写字母数......
  • 旧笔记本秒变web服务器---nat123 一款优秀的内网穿透服务器
    2014买的第一台笔记本,win7系统,加过内存,重装过多次系统但是无法运行win10,用来开发已经相当吃力,但运行还是比较流畅的,扔掉可惜,卖二手也卖不了多少,后来经过多次的思考与尝试,将厚重的光驱位扩展了500G硬盘,安装了winNAS,将其改装成了私有NAS网盘,但是客户端只有手机端app,对于我这做web开......
  • mysql周week函数
    WEEK(date[,mode])WEEK()函数会返回一个日期的周数,第2个参数mode可以指定一周是从周日开始还是周一开始,以及返回值的范围是[0,53]还是[1,53],如果第2个参数缺失了,则使用系统变量default_week_format的值ModeFirstdayofweekRangeWeek1isthefirstweek…......
  • 泛微E-Office mysql_config.ini 数据库信息泄漏漏洞
    漏洞描述泛微E-Officemysql_config.ini文件可直接访问,泄漏数据库账号密码等信息漏洞复现fofa语法:app="泛微-EOffice"登录页面如下:验证POC:/mysql_config.ininuclei批量yaml文件id:EOffice_mysql_config_information_leakinfo:name:泛微OAE-Officemysql_config.i......
  • 关于windows定时任务备份mysql
    windows 定时一、右击我的电脑->选择管理->任务计划程序,打开计划任务二、开始创建任务计划。1、常规设置?都懂不再多说。2、触发器:新建->设置一个时间3、操作:新建->选择一个可执行程序,参数如果执行PHP备份mysql。首先mysql加入环境变量,直到mysql在命令行能执行如在path中新......
  • 分片+异步 优化in子查询
    将一次性查询改为通过分片、异步优化in子查询集合数据分片是将数据按指定大小进行分组,像java中使用guava或hutool工具的partition进行分组,然后分批处理或者获取数据,in子查询会通过创建临时表,不易将大量数据放入in子查询中案例:分片+异步操作@Testvoidtest32(){Execu......
  • docker-compose教程:部署MySQL完整步骤
    目录结构root@localhostmysql#tree.├──conf│└──my.cnf├──db├──docker-compose.yml└──init└──init.sqldocker-compose.ymlversion:'2'services:mysql:#network_mode:"host" #将直接使用主机端口environment:......