Myqsl建立庫表練習

目錄

一、windows中選擇一種方式安裝Mysql8.0

二、新建產品庫mydb6_product

?1. 新建3張表如下:

? 1)employees表

? 2)orders表

? 3)invoices表

三、新建員工庫mydb8_worker,添加自定義表內容并插入數據

?1.?新建庫表

?2. 插入數據

?3. 完成以下查詢

? 1)顯示所有職工的基本信息。

? 2)查詢所有職工所屬部門的部門號,不顯示重復的部門號。

? 3)求出所有職工的人數。

? 4)列出最高工和最低工資。

? 5)列出職工的平均工資和總工資。

? 6)創建一個只有職工號、姓名和參加工作時間的新表,名為工作日期表。

? 7)顯示所有黨員的年齡。

? 8)列出工資在4000-8000之間的所有職工姓名。

? 9)列出所有孫姓和李姓的職工姓名。

? 10)列出所有部門號為102和103且不是黨員的職工號、姓名。

? 11)將職工表t_worker中的職工按出生的先后順序排序。

? 12)顯示工資最高的前3名職工的職工號和姓名。

? 13)求出各部門黨員的人數。

? 14)統計各部門的工資和平均工資并保留2位小數。

? 15)列出總人數大于等于3的部門號和總人數。


一、windows中選擇一種方式安裝Mysql8.0

  • 具體步驟見Mysql欄上文

二、新建產品庫mydb6_product

mysql> create database mydb6_product;
Query OK, 1 row affected (0.04 sec)mysql> show databases;

?1. 新建3張表如下:

? 1)employees表

  • 列1:id,整型,主鍵

  • 列2:name,字符串,最大長度50,不能為空

  • 列3: age,整型

  • 列4:gender,字符串,最大長度10,不能為空,默認值“unknown”

  • 列5: salary,浮點型

mysql> use mydb6_product;   # 使用庫
Database changed# 建表
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.03 sec)mysql> desc employees;   # 查看

? 2)orders表

  • 列1:id,整型,主鍵

  • 列2:name,字符串,最大長度100,不能為空

  • 列3: price,浮點型

  • 列4: quantity,整型

  • 列S: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.03 sec)mysql> desc orders;   # 查看

? 3)invoices表

  • 列1:number,整型,主鍵自增長

  • 列2:order_id,整型,外鍵關聯到orders表的id列

  • 列3:in_date:日期型

  • 列4:total_amount:浮點型,要求數據大于0

mysql> create table invoices( -> number int auto_increment primary key, -> order_id int,-> in_date date, -> total_amount float check(total_amount>0), -> foreign key(order_id) refereences orders(id) on delete restrict on update cascade -> );
Query OK, 0 rows affected (0.03 sec)mysql> desc invoices;   # 查看

三、新建員工庫mydb8_worker,添加自定義表內容并插入數據

?1.?新建庫表

# 創建數據庫
mysql> create database mydb8_worker;
Query OK, 1 row affected (0.01 sec)
# 使用庫
mysql> use mydb8_worker;
Database changed
# 創建數據表
mysql> 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 '出生日期'-> );
Query OK, 0 rows affected, 3 warnings (0.02 sec)# 查看表結構
mysql> desc t_worker;

?2. 插入數據

mysql> insert into t_worker values(101,1001,'2015-5-4',7500.00,'群眾','張三','1990-7-1');
mysql> insert into t_worker values(101,1002,'2019-3-5',5200.00,'團員','李四','1995-3-7');
mysql> insert into t_worker values(102,1003,'2008-1-4',10500.00,'黨員','王五','1983--5-8');
mysql> insert into t_worker values(102,1004,'2016-10-10',5500.00,'群眾','趙六','1994-9-5');
mysql> insert into t_worker values(102,1005,'2014-4-1',8800.00,'黨員','錢七','1992-12-30');
mysql> insert into t_worker values(103,1006,'2019-5-5',5500.00,'黨員','孫八','1996-9-2');# 查看
mysql> select * from t_worker;

?3. 完成以下查詢

? 1)顯示所有職工的基本信息。

mysql> select * from t_worker;

? 2)查詢所有職工所屬部門的部門號,不顯示重復的部門號。

mysql> select distinct department_id from t_worker;

? 3)求出所有職工的人數。

mysql> select count(*) as '職工總人數' from t_worker;

? 4)列出最高工和最低工資。

mysql> select -> max(wages) as '最高工資',-> min(wages) as '最低工資'-> from t_worker;

? 5)列出職工的平均工資和總工資。

mysql> select-> avg(wages) as '平均工資',-> sum(wages) as '總工資'-> from t_worker;

? 6)創建一個只有職工號、姓名和參加工作時間的新表,名為工作日期表。

mysql> create table work_date_table as  -> select worker_id, name,worker_date -> from t_worker;
Query OK, 6 rows affected (0.01 sec)
Records: 6  Duplicates: 0  Warnings: 0

? 7)顯示所有黨員的年齡。

mysql> select name,timestampdiff(year,borth_date,curdate()) as '年齡' from t_worker where politics='黨員';

? 8)列出工資在4000-8000之間的所有職工姓名。

mysql> select name from t_worker where wages between 4000 and 8000;

? 9)列出所有孫姓和李姓的職工姓名。

mysql> select name from t_worker where name like '孫%' or name like '李%';

? 10)列出所有部門號為102和103且不是黨員的職工號、姓名。

mysql> select worker_id,name from t_worker where department_id in(102,103) and polittics!='黨員';

? 11)將職工表t_worker中的職工按出生的先后順序排序。

mysql> select * from t_worker order by borth_date;

? 12)顯示工資最高的前3名職工的職工號和姓名。

mysql> select worker_id,name from t_worker order by wages desc limit 3;

? 13)求出各部門黨員的人數。

mysql> select department_id,count(*) as '部門人數' from t_worker where politics='.' group by department_id;

? 14)統計各部門的工資和平均工資并保留2位小數。

mysql> select department_id,sum(wages) as '各部門總資',round(avg(wages),2) as '各部門平均工資' from t_worker group by department_id;

? 15)列出總人數大于等于3的部門號和總人數。

mysql> select department_id,count(*) as '總人數' from t_worker group by department_iid having count(*) >=3;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95294.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95294.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95294.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32 輸入捕獲,串口打印,定時器,中斷綜合運用

實驗目的 使用定時器 2 通道 2 來捕獲按鍵 2 按下時間,并通過串口打印。 計一個數的時間:1us,PSC71,ARR65535 下降沿捕獲、輸入通道 2 映射在 TI2 上、不分頻、不濾波輸入捕獲原理定時器輸入捕獲實驗配置步驟測量按鍵按下時長思路…

Nacos-2--Nacos1.x版本的通信原理

在Nacos 1.x版本中,客戶端長輪詢(Long Polling)和服務端UDP主動推送是兩種不同的機制,分別用于配置管理和服務發現場景。它們的核心目標都是實現動態更新的實時感知,但實現方式、數據內容和適用場景完全不同。 1、長輪…

機器學習——09 聚類算法

1 聚類算法聚類算法: 是一種無監督學習算法,它不需要預先知道數據的類別信息,而是根據樣本之間的相似性,將樣本劃分到不同的類別中;不同的相似度計算方法,會得到不同的聚類結果,常用的相似度計算…

生成式AI應用生態的爆發與專業化演進:從零和博弈到正和共贏

2025年,生成式AI產業規模已突破7000億元,全球生成式AI市場規模預計在2028年達到2842億美元(IDC數據)。在這場技術革命中,AI基礎模型的分化已證明:差異化競爭而非同質化替代,才是推動產業發展的核心邏輯。如今,這一規律正從基礎模型層向應用生成平臺層蔓延——Lovable、…

Mysql——Sql的執行過程

目錄 一、Sql的執行過程流程圖解 二、Sql的執行過程流程 1.2.1、建立連接 1.2.2、服務層(緩存、解析器、預處理器、優化器、執行器) 1.2.2.1、緩存 1.2.2.2、解析器 1.2.2.3、預處理器 1.2.2.4、優化器 1.2.2.5、執行器 1.2.3、引擎層 一、Sql的執行過程流程圖解 Sql的執行過…

【Axure高保真原型】地圖路線和定位

今天和大家分享地圖路線和定位的原型模版,載入后,可以查看汽車行進路線和所在定位 提供了停靠和不停靠站點兩個案例,具體效果可以打開下方原型地址體驗或者點擊下方視頻觀看 【Axure高保真原型】地圖路線和定位【原型預覽含下載地址】 https…

【96頁PPT】華為IPD流程管理詳細版(附下載方式)

篇幅所限,本文只提供部分資料內容,完整資料請看下面鏈接 https://download.csdn.net/download/2501_92808811/91633108 資料解讀:華為IPD流程管理詳細版 詳細資料請看本解讀文章的最后內容 華為的集成產品開發(IPD)…

深度解析Mysql的開窗函數(易懂版)

SQL 開窗函數(Window Function)是一種強大的分析工具,它能在保留原有數據行的基礎上,對 "窗口"(指定范圍的行集合)進行聚合、排名或分析計算,解決了傳統GROUP BY聚合會合并行的局限性…

Java靜態代理和動態代理

Java靜態代理和動態代理 靜態代理 現在有一個計算類,有四個方法,加減乘除,如果需要給這四個方法都加上同一個邏輯,可以創建一個類作為代理類,把計算類注入到這個類中,然后再代理類中定義方法,并…

MySQL——MySQL引擎層BufferPool工作過程原理

目錄一、MySQL引擎層BufferPool工作過程圖解二、MySQL引擎層BufferPool工作過程原理一、MySQL引擎層BufferPool工作過程圖解 圖解 二、MySQL引擎層BufferPool工作過程原理 首先關閉自動提交,執行一條修改語句。 SET AUTOCOMMIT 0; update employees set name張三…

Python初學者筆記第二十二期 -- (JSON數據解析)

第31節課 JSON數據解析 1.JSON基礎概念 JSON 是一種輕量級的數據交換格式(另一個叫XML),具有簡潔、易讀的特點,并且在不同編程語言之間能很好地實現數據傳遞。在 Python 中,json模塊能夠實現 Python 數據類型與 JSON 數…

基于多模態大模型的個性化學習路徑生成系統研究

摘要 隨著互聯網技術的迅猛發展,個性化學習路徑生成系統的研究在教育領域日益凸顯其重要性。本研究聚焦于基于多模態大模型的個性化學習路徑生成系統,旨在通過整合多模態數據,為學習者提供更加精準、個性化的學習路徑。多模態大模型&#xf…

ESP32 燒錄固件失敗原因排除

ESP32 燒錄固件時,有哪些特殊引腳需要注意電平狀態的在 ESP32 燒錄固件時,有幾個關鍵引腳的電平狀態會直接影響燒錄過程,需要特別注意:GPIO0(BOOT 引腳):燒錄模式:需要拉低&#xff…

3D視覺系統在機器人行業中的應用

視覺引導機器人技術(VGR)具有成熟的2D成像技術,但是經濟高效的3D技術的出現使機器人應用的可能性更大。工業自動化的第一次迭代使用“盲”機器人,該機器人取決于待處理材料的精確定位。這樣的機器人相對不靈活,只能通過…

MySQL高可用改造之數據庫開發規范(大事務與數據一致性篇)

文章目錄一、前言二、延遲的原因三、大事務處理規范3.1. 刪除類操作優化設計3.2. 大事務通用拆分原則四、數據一致性核對規范4.1. 主從變更記錄識別方法五、小結一、前言 MySQL 高可用架構中最基礎、最為核心的內容:MySQL 復制(Replication)…

第9節 大模型分布式推理核心挑戰與解決方案

文章目錄 # 前言 一、通信瓶頸突破:讓數據“跑”得更快 1. 問題:通信為什么會成為瓶頸? 2. 解決方案:從硬件到算法的全鏈路優化 (1)硬件層:升級“高速公路” (2)算法層:給數據“瘦身”并“錯峰出行” (3)架構層:讓數據“少跑路” 3. 效果評估:如何判斷通信瓶頸已…

ESP32開發板接4陣腳屏幕教程(含介紹和針腳編號對應)

“4針屏幕” 一般有兩種常見類型:IC 屏幕(如 0.96" OLED、SSD1306 等) 4 個針腳通常是:VCC → 接 ESP32 的 3.3V(有的屏幕支持 5V)GND → 接 ESP32 的 GNDSCL(時鐘)→ 接 ESP32…

2025 年國內可用 Docker 鏡像加速器地址

文章目錄一、加速器地址搭建 Docker 鏡像源二、使用一、加速器地址 docker.1ms.rundocker.domys.ccdocker.imgdb.dedocker-0.unsee.techdocker.hlmirror.comcjie.eu.orgdocker.m.daocloud.iohub.rat.devdocker.1panel.livedocker.rainbond.cc 搭建 Docker 鏡像源 以上鏡像源…

[Robotics_py] 路徑規劃算法 | 啟發式函數 | A*算法

第五章:路徑規劃算法 歡迎回來,未來的機器人專家-=≡(?ω?) 在之前的章節中,我們已為機器人配備了核心知識:它能夠跟蹤自身的機器人狀態/位姿,利用環境表示(柵格地圖)理…

解決 HTTP 請求 RequestBody 只能被讀取一次的問題

簡介 HTTP 請求 RequestBody 只能被讀取一次:HttpServletRequest 的輸入流 (InputStream) 在被讀取后會被關閉,導致后續無法再次讀取。本文將介紹如何通過 請求包裝類 (RequestWrapper) 來解決這個問題。問題背景 當我們需要在以下場景中多次讀取 Reques…