数据库收集的好的练习:
SET NAMES UTF8;
DROP DATABASE IF EXISTS gongsi ;
CREATE DATABASE gongsi CHARSET=UTF8;
USE gongsi;
CREATE TABLE bumen(
b_id INT PRIMARY KEY AUTO_INCREMENT,
b_name VARCHAR(8) NOT NULL
);
INSERT INTO bumen VALUES(1,'运营部');
INSERT INTO bumen VALUES(2,'人事部');
INSERT INTO bumen VALUES(3,'后勤部');
INSERT INTO bumen VALUES(4,'财务部');
CREATE TABLE yuangong(
y_id INT PRIMARY KEY AUTO_INCREMENT,
y_name VARCHAR(8),
y_sex BOOL,
y_age SMALLINT,
y_address VARCHAR(64),
b_id INT,
#FOREIGN KEY (familyid)REFERENCES gongsi(b_id)
FOREIGN KEY (b_id) REFERENCES bumen(b_id)
);
INSERT INTO yuangong VALUES(1,'小明',1,30,'河南省',1);
INSERT INTO yuangong VALUES(2,'小花',0,36,'河南省',4);
INSERT INTO yuangong VALUES(3,'王红',0,20,'河南省',4);
INSERT INTO yuangong VALUES(4,'芳芳',0,26,'河南省',1);
INSERT INTO yuangong VALUES(5,'小北',1,20,'河南省',4);
INSERT INTO yuangong VALUES(6,'王林',1,20,'河南省',3);
INSERT INTO yuangong VALUES(7,'红红',0,26,'河南省',2);
INSERT INTO yuangong VALUES(8,'小刚',1,46,'河南省',4);
INSERT INTO yuangong VALUES(9,'王超',1,80,'河南省',3);
INSERT INTO yuangong VALUES(10,'东东',1,55,'河南省',4);
SELECT * FROM bumen;
SELECT*FROM yuangong;
select y_name,y_address ,y_sex from yuangong where y_age>=25 and y_age<=30 and y_sex=1;
select*from yuangong where b_id=4 and y_sex=1 and y_age<40;
select y_name ,MAX(y_age),y_sex from yuangong where y_sex=0 and b_id=2;
insert into yuangong values(11,'丽丽',1,25,'河南省',1);
update yuangong set b_id=3 where y_sex=0 and y_age>30 and b_id=2;
select b_id ,y_name,y_age from yuangong;
#查询每个部门年龄最大的员工,显示部门名字和年龄
select b_name,y_age from bumen,yuangong where bumen.b_id=yuangong.b_id group by b_name having max(y_age);
#查询每个部门有多少人,显示部门名字和人数,按人数倒序,如果人数相同,按部门编号正序
select b_name,count(*)from bumen,yuangong where bumen.b_id=yuangong.b_id group by bumen.b_id order by count(*) desc,bumen.b_id asc;
#将张三的名字改为李四,并调到财务部
update yuangong set y_name="wang",b_id=(select b_id from bumen where b_name="财务部") where y_name="丽丽";
#将后勤部年龄大于60的员工删除;
delete from yuangong where y_age>60 and b_id in(select b_id from bumen where b_name="后勤部");
#查询财务部年龄不在20-30之间的男生信息;
select *from bumen,yuangong where bumen.b_id=yuangong.b_id and b_name="财务部"
and y_sex=1 and y_age not between 20 and 30;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决