MySQL 实验四数据库的数据查询

insert into bussiness values(1,'腾讯','企业','腾讯',123456789);
insert into bussiness values(2,'阿里','事业','杭州',111111111);
insert into bussiness values(3,'小卖部','企业','珠海',987654321);
insert into bussiness values(4,'汉堡店','私有','珠海',9999999); -- 没有员工

insert into card values(00001,'企业',1000);
insert into card values(00002,'事业',10000);
insert into card values(00003,'灵活就业',50);
insert into card values(00004,'企业',2000);
insert into card values(00005,'事业',5000);

insert into staff values(1,'小明','男',20000101,'碧桂园',13888888888,00001,1);
insert into staff values(2,'小红','女',19980202,'香洲',1233333333,00002,1);
insert into staff values(3,'小刚','男',19900612,'金湾',14555555555,00003,2);
insert into staff values(4,'小米','女',20111125,'夏湾',18999999999,00004,2);
insert into staff values(5,'小小','女',20011214,'斗门',16577777777,00005,3);

-- 2.1查询已经有员工的企业信息,列出企业编号,企业名称,联系电话;
select bno,bname,btel from bussiness
where bno in (select bno from staff);

-- 2.2查询还没有员工的企业信息,列出企业编号,企业名称,企业类型,企业地址;
select bno,bname,btype,baddress from bussiness,staff
where bussiness.bno!=staff.bno;

-- 2.3查询医保卡余额大于 150 元的员工信息,列出员工编号,员工姓名、
-- 性别、年龄、住址、联系电话、医保卡号、企业名称;
select sno,sname,ssex,TIMESTAMPDIFF(YEAR,sbirthday , CURDATE()),sadress,stel,card.cno,bno
from staff,card
where card.haddress>150;


-- 2.4查询“交通集团”在“市人民医院”就诊过的所有男员工的信息,列出员
-- 工编号、姓名、年龄、就诊时间;
insert into bussiness values(5,'交通集团','企业','上海',1020304050); -- 交通集团
insert into hospital values(001,'市人民医院','中国上海市人民医院');-- 市人民医院
-- 医保卡号
insert into card values(00006,'企业',20100);
insert into card values(00007,'企业',50030);
-- 员工
insert into staff values(6,'彭于晏','男',19850505,'地址1',138823488,00006,5);
insert into staff values(7,'吴彦祖','男',19900202,'地址2',12333543533,00007,5);
select staff.sno,sname,TIMESTAMPDIFF(YEAR,sbirthday,CURDATE())
from staff,hospital,bussiness
where staff.bno=bussiness.bno and staff.ssex='男' and hospital.hname='市人民医院' and bussiness.bname='交通集团';


-- 2.5使用 workbench 或者 MySQL 命令行删除“staff_sql”表上“sname”字段惟一
-- 性约束,从数据字典 information_schema.table_constraints 查看“staff_sql”表的约束信息。
ALTER TABLE staff_sql drop index sname;
select * from information_schema.table_constraints
where table_name='staff_sql';


-- 2.6使用 workbench 或者 MySQL 命令行从“staff_sql”表删除“age”字段,利用
-- DESC 命令查看“staff_sql”表的字段信息。
ALTER TABLE staff_sql DROP age;
select * from information_schema.columns
where table_schema = 'db_test_学号'  #表所在数据库
and table_name = 'staff_sql' ; #你要查的表

-- 2.7使用 workbench 或者 MySQL 命令行从“staff_sql”表删除“salary”、
-- “salary_add”两个字段,利用 DESC 命令查看“staff_sql”表的字段信息。
ALTER TABLE staff_sql DROP salary;
ALTER TABLE staff_sql DROP salary_add;
-- 利用DESC命令查看staff_sql表的字段信息
select * from information_schema.columns
where table_schema = 'db_test_学号'  #表所在数据库
and table_name = 'staff_sql' ; #你要查的表

-- 2.8 使用 workbench 或者 MySQL 命令行将“staff_sql”表“sname”字段长度修改
-- 为 30,利用 DESC 命令查看“staff_sql”表的字段信息。
-- 修改字段长度
alter table staff_sql modify column sname char(30);
-- 利用DESC命令查看staff_sql表的字段信息
select * from information_schema.columns
where table_schema = 'db_test_学号'  #表所在数据库
and table_name = 'staff_sql' ; #你要查的表


-- p
-- 删除数据表
DROP TABLE staff; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值