欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL?數(shù)據(jù)庫表與查詢操作實戰(zhàn)案例

 更新時間:2025年08月13日 10:59:32   作者:睡覺的時候不會困  
本文將通過實際案例,詳細(xì)介紹?MySQL中數(shù)據(jù)庫表的設(shè)計、數(shù)據(jù)插入以及常用的查詢操作,幫助初學(xué)者快速上手,感興趣的朋友跟隨小編一起看看吧

MySQL 數(shù)據(jù)庫表操作與查詢實戰(zhàn)案例

在數(shù)據(jù)庫學(xué)習(xí)過程中,熟練掌握表的創(chuàng)建、數(shù)據(jù)插入及各類查詢操作是基礎(chǔ)且重要的技能。本文將通過實際案例,詳細(xì)介紹 MySQL 中數(shù)據(jù)庫表的設(shè)計、數(shù)據(jù)插入以及常用的查詢操作,幫助初學(xué)者快速上手。

項目一:產(chǎn)品相關(guān)數(shù)據(jù)庫設(shè)計與創(chuàng)建

一、數(shù)據(jù)庫及表結(jié)構(gòu)設(shè)計

本項目主要創(chuàng)建產(chǎn)品相關(guān)的數(shù)據(jù)庫及員工表、訂單表、發(fā)票表,用于存儲產(chǎn)品業(yè)務(wù)相關(guān)數(shù)據(jù)。

二、數(shù)據(jù)庫與表的創(chuàng)建

  • 新建產(chǎn)品庫 mydb6_product
mysql> create database mydb6_product;
Query OK, 1 row affected (0.00 sec)
mysql> use mydb6_product;
Database changed
  • 在該庫中新建 4 張表,表結(jié)構(gòu)要求如下:
    • employees 表:
      • 列 1:id,整型,主鍵
      • 列 2:name,字符串(最大長度 50 ),不能為空
      • 列 3:age,整型
      • 列 4:gender,字符串(最大長度 10 ),不能為空,默認(rèn)值 unknown
      • 列 5:salary,浮點型
    mysql> create table employees(id int primary key,name varchar(50) not null,age int,gender varchar(10) not null default 'unknown',salary float);
    Query OK, 0 rows affected (0.02 sec)
    • orders 表:
      • 列 1:id,整型,主鍵
      • 列 2:name,字符串(最大長度 100 ),不能為空
      • 列 3:price,浮點型
      • 列 4:quantity,整型
      • 列 5:category,字符串(最大長度 50 )
    mysql> create table orders(id int primary key,name varchar(100) not null,price float,quantity int,category varchar(50));
    Query OK, 0 rows affected (0.01 sec)
    
    • invoices 表:
      • 列 1:number,整型,主鍵自增長
      • 列 2:order_id,整型,外鍵關(guān)聯(lián)到 orders 表的 id
      • 列 3:in_date,日期型
      • 列 4:total_amount,浮點型,要求數(shù)據(jù)大于 0
mysql> create table invoices(number int primary key auto_increment, order_id int ,in_date date,itotal_amount float check(total_amount>0),foreign key (order_id) references orders(id));
Query OK, 0 rows affected (0.02 sec)

項目二:員工信息數(shù)據(jù)庫操作實戰(zhàn)

一、數(shù)據(jù)庫及表結(jié)構(gòu)創(chuàng)建

本項目創(chuàng)建員工信息數(shù)據(jù)庫,實現(xiàn)員工信息的插入與各類查詢操作。

-- 創(chuàng)建員工數(shù)據(jù)庫
create database mydb8_worker;
-- 使用員工數(shù)據(jù)庫
use mydb8_worker;
-- 創(chuàng)建員工表(t_worker)
create table t_worker(
    department_id int(11) not null comment '部門號',
    worker_id int(11) primary key not null comment '職工號',
    worker_date date not null comment '工作時間',
    wages float(8,2) not null comment '工資',
    politics varchar(10) not null default '群眾' comment '政治面貌',
    name varchar(20) not null comment '姓名',
    borth_date date not null comment '出生日期' 
);

二、數(shù)據(jù)插入操作

insert into t_worker values (101,1001,'2015-5-4',7500.00,'群眾','張春燕','1990-7-1');
insert into t_worker values (101,1002,'2019-2-6',5200.00,'團(tuán)員','李名博','1997-2-8');
insert into t_worker values (102,1003,'2008-1-4',10500.00,'黨員','王博涵','1983-6-8');
insert into t_worker values (102,1004,'2016-10-10',5500.00,'群眾','趙小軍','1994-9-5');
insert into t_worker values (102,1005,'2014-4-1',8800.00,'黨員','錢有財','1992-12-30');
insert into t_worker values (103,1006,'2019-5-5',5500.00,'黨員','孫菲菲','1996-9-2');

三、查詢操作練習(xí)

  1. 查詢所有員工信息
mysql> select * from t_worker;
+---------------+-----------+-------------+----------+----------+-----------+------------+
| department_id | worker_id | worker_date | wages    | politics | name      | borth_date |
+---------------+-----------+-------------+----------+----------+-----------+------------+
|           101 |      1001 | 2015-05-04  |  7500.00 | 群眾     | 張春燕    | 1990-07-01 |
|           101 |      1002 | 2019-02-06  |  5200.00 | 團(tuán)員     | 李名博    | 1997-02-08 |
|           102 |      1003 | 2008-01-04  | 10500.00 | 黨員     | 王博涵    | 1983-06-08 |
|           102 |      1004 | 2016-10-10  |  5500.00 | 群眾     | 趙小軍    | 1994-09-05 |
|           102 |      1005 | 2014-04-01  |  8800.00 | 黨員     | 錢有財    | 1992-12-30 |
|           103 |      1006 | 2019-05-05  |  5500.00 | 黨員     | 孫菲菲    | 1996-09-02 |
+---------------+-----------+-------------+----------+----------+-----------+------------+
6 rows in set (0.00 sec)

2. 查詢?nèi)ブ睾蟮牟块T ID

mysql> select distinct department_id from t_worker;
+---------------+
| department_id |
+---------------+
|           101 |
|           102 |
|           103 |
+---------------+
3 rows in set (0.01 sec)

3. 統(tǒng)計員工總數(shù)

mysql> select count(name) from t_worker;
+-------------+
| count(name) |
+-------------+
|           6 |
+-------------+
1 row in set (0.01 sec)

4. 查詢最高工資和最低工資

mysql> select max(wages),min(wages) from t_worker;
+------------+------------+
| max(wages) | min(wages) |
+------------+------------+
|   10500.00 |    5200.00 |
+------------+------------+
1 row in set (0.00 sec)

5. 計算平均工資和工資總和

mysql> select avg(wages),sum(wages) from t_worker;
+-------------+------------+
| avg(wages)  | sum(wages) |
+-------------+------------+
| 7166.666667 |   43000.00 |
+-------------+------------+
1 row in set (0.00 sec)

6. 創(chuàng)建工作日期表

mysql> create table 工作日期 as select worker_id,name,worker_date from t_worker;
Query OK, 6 rows affected (0.02 sec)
Records: 6  Duplicates: 0  Warnings: 0
mysql> select * from 工作日期;
+-----------+-----------+-------------+
| worker_id | name      | worker_date |
+-----------+-----------+-------------+
|      1001 | 張春燕    | 2015-05-04  |
|      1002 | 李名博    | 2019-02-06  |
|      1003 | 王博涵    | 2008-01-04  |
|      1004 | 趙小軍    | 2016-10-10  |
|      1005 | 錢有財    | 2014-04-01  |
|      1006 | 孫菲菲    | 2019-05-05  |
+-----------+-----------+-------------+
6 rows in set (0.00 sec)

7. 查詢黨員的出生日期和姓名

mysql> select borth_date,name from t_worker where politics = '黨員';
+------------+-----------+
| borth_date | name      |
+------------+-----------+
| 1983-06-08 | 王博涵    |
| 1992-12-30 | 錢有財    |
| 1996-09-02 | 孫菲菲    |
+------------+-----------+
3 rows in set (0.00 sec)

8. 查詢工資在 4000 到 8000 之間的員工

mysql> select name,wages from t_worker where wages between 4000 and 8000;
+-----------+---------+
| name      | wages   |
+-----------+---------+
| 張春燕    | 7500.00 |
| 李名博    | 5200.00 |
| 趙小軍    | 5500.00 |
| 孫菲菲    | 5500.00 |
+-----------+---------+
4 rows in set (0.01 sec)

9. 查詢姓名以 “孫” 或 “李” 開頭的員工

mysql> select name from t_worker where name like '孫%' or name like '李%';
+-----------+
| name      |
+-----------+
| 李名博    |
| 孫菲菲    |
+-----------+
2 rows in set (0.00 sec)

10. 查詢非黨員且部門為 102 或 103 的員工姓名和工號

mysql> select name,worker_id from t_worker where politics != '黨員' and (department_id =102 or department_id = 103);
+-----------+-----------+
| name      | worker_id |
+-----------+-----------+
| 趙小軍    |      1004 |
+-----------+-----------+
1 row in set (0.00 sec)

11. 按出生日期排序查詢所有員工

mysql> select * from t_worker order by borth_date;
+---------------+-----------+-------------+----------+----------+-----------+------------+
| department_id | worker_id | worker_date | wages    | politics | name      | borth_date |
+---------------+-----------+-------------+----------+----------+-----------+------------+
|           102 |      1003 | 2008-01-04  | 10500.00 | 黨員     | 王博涵    | 1983-06-08 |
|           101 |      1001 | 2015-05-04  |  7500.00 | 群眾     | 張春燕    | 1990-07-01 |
|           102 |      1005 | 2014-04-01  |  8800.00 | 黨員     | 錢有財    | 1992-12-30 |
|           102 |      1004 | 2016-10-10  |  5500.00 | 群眾     | 趙小軍    | 1994-09-05 |
|           103 |      1006 | 2019-05-05  |  5500.00 | 黨員     | 孫菲菲    | 1996-09-02 |
|           101 |      1002 | 2019-02-06  |  5200.00 | 團(tuán)員     | 李名博    | 1997-02-08 |
+---------------+-----------+-------------+----------+----------+-----------+------------+
6 rows in set (0.00 sec)

12. 按工資排序取前 3 名員工的工號和姓名

mysql> select worker_id,name from t_worker order by wages limit 3;
+-----------+-----------+
| worker_id | name      |
+-----------+-----------+
|      1002 | 李名博    |
|      1004 | 趙小軍    |
|      1006 | 孫菲菲    |
+-----------+-----------+
3 rows in set (0.00 sec)

13. 按部門統(tǒng)計黨員人數(shù)

mysql> select department_id,count(*) from t_worker where politics = '黨員' group by department_id;
+---------------+----------+
| department_id | count(*) |
+---------------+----------+
|           102 |        2 |
|           103 |        1 |
+---------------+----------+
2 rows in set (0.00 sec)

14. 按部門統(tǒng)計工資總和及平均工資(保留 2 位小數(shù))

mysql> select department_id,sum(wages),round(avg(wages),2) from t_worker group by department_id;
+---------------+------------+---------------------+
| department_id | sum(wages) | round(avg(wages),2) |
+---------------+------------+---------------------+
|           101 |   12700.00 |                6350 |
|           102 |   24800.00 |             8266.67 |
|           103 |    5500.00 |                5500 |
+---------------+------------+---------------------+
3 rows in set (0.00 sec)

15. 查詢員工人數(shù)不少于 3 人的部門

mysql> select department_id,count(*) from t_worker group by department_id having count(*)>=3;
+---------------+----------+
| department_id | count(*) |
+---------------+----------+
|           102 |        3 |
+---------------+----------+
1 row in set (0.00 sec)

四、總結(jié)

本文通過實際案例介紹了 MySQL 數(shù)據(jù)庫的基本操作,包括數(shù)據(jù)庫和表的創(chuàng)建、數(shù)據(jù)插入以及各種常用查詢。這些操作是數(shù)據(jù)庫開發(fā)的基礎(chǔ),掌握這些技能可以幫助我們更好地處理和分析數(shù)據(jù)。在實際應(yīng)用中,還需要根據(jù)具體業(yè)務(wù)場景靈活運用這些查詢語句,結(jié)合索引優(yōu)化等技術(shù),提高查詢效率。

希望本文對初學(xué)者有所幫助,后續(xù)可以繼續(xù)深入學(xué)習(xí)多表連接查詢、子查詢、存儲過程等更高級的數(shù)據(jù)庫操作。

到此這篇關(guān)于MySQL 數(shù)據(jù)庫表操作與查詢實戰(zhàn)案例的文章就介紹到這了,更多相關(guān)mysql查詢數(shù)據(jù)表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql表的清空、刪除和修改操作詳解

    mysql表的清空、刪除和修改操作詳解

    這篇文章主要詳細(xì)介紹了mysql表的清空、刪除和修改操作的方法,以及一些常用的mysql的常用操作,非常的簡單實用,有需要的可以參考下
    2014-09-09
  • MySQL group by和order by如何一起使用

    MySQL group by和order by如何一起使用

    這篇文章主要介紹了MySQL group by和order by如何一起使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 遠(yuǎn)程連接mysql 授權(quán)方法詳解

    遠(yuǎn)程連接mysql 授權(quán)方法詳解

    今在服務(wù)器上有mysql數(shù)據(jù)庫,遠(yuǎn)程訪問,不想公布root賬戶,所以,創(chuàng)建了demo賬戶,允許demo賬戶在任何地方都能訪問mysql數(shù)據(jù)庫中shandong庫,接下來為您詳細(xì)介紹
    2012-11-11
  • SQL語句在MySQL的執(zhí)行過程詳解

    SQL語句在MySQL的執(zhí)行過程詳解

    這篇文章主要介紹了SQL語句在MySQL的執(zhí)行過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • 分析MySQL復(fù)制以及調(diào)優(yōu)原理和方法

    分析MySQL復(fù)制以及調(diào)優(yōu)原理和方法

    本篇文章給大家詳細(xì)分析了MySQL復(fù)制以及調(diào)優(yōu)原理和方法,并通過代碼詳細(xì)分析了具體操作,有需要的朋友參考下吧。
    2018-01-01
  • MySQL DEFINER具體使用詳解

    MySQL DEFINER具體使用詳解

    在 MySQL 數(shù)據(jù)庫中,在創(chuàng)建視圖及函數(shù)的時候,你有注意過 definer 選項嗎?本篇文章主要介紹下 MySQL 中 definer 的含義及作用,感興趣的可以了解一下
    2021-08-08
  • 深入分析MySQL數(shù)據(jù)類型 DECIMAL

    深入分析MySQL數(shù)據(jù)類型 DECIMAL

    這篇文章主要介紹了MySQL數(shù)據(jù)類型 DECIMAL的相關(guān)資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • MySQL中慢SQL優(yōu)化的不同方式介紹

    MySQL中慢SQL優(yōu)化的不同方式介紹

    慢 SQL 的優(yōu)化,主要從兩個方面考慮,SQL 語句本身的優(yōu)化,以及數(shù)據(jù)庫設(shè)計的優(yōu)化,下面小編就來給大家介紹一下有哪些方式可以優(yōu)化慢 SQL吧
    2025-03-03
  • MySQL中如何添加新字段

    MySQL中如何添加新字段

    這篇文章主要介紹了MySQL中如何添加新字段方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • MySQL服務(wù)自動停止的解決方法

    MySQL服務(wù)自動停止的解決方法

    這篇文章主要給大家介紹了MySQL服務(wù)自動停止的解決方法,文中給出了詳細(xì)的解決過程,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06

最新評論