栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

mysql实战文章2

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql实战文章2


--使用create语句创建上面的两张表,要求如下:

--1. stu_info表“学号”字段,字符型,长度为9,设置主键约束、核查约束(check,要求学号的值长度必须为9,且每位都为0-9的数字)。

--2. stu_info表“姓名”字段不能为空。

--3. stu_info表“出生日期”字段为日期时间类型,且值必须小于当前日期。

--4. stu_JY表“就业日期”字段为日期时间类型。

--其余字段不做要求。




create table stu_info

(

学号 char(9) primary key check(学号 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),

姓名 char(6) not null,

班级 char(20),

年级 char(2),

专业 char(20),

出生日期 datetime check(出生日期

)

go





create table stu_jy

(

学号 char(9),

姓名 char(6),

班级 char(20),

就业单位 varchar(50),

岗位 char(20),

就业日期 datetime

)

go



--1. 使用insert语句为两表插入如上所示的数据。


insert into stu_info(学号,姓名, 班级,年级,专业,出生日期)

values

('041010545','杨柳','软件041','04','软件技术','1989-9-9'),

('041010427','杨柳',' 电商041班','04','电子商务','1988-5-6')



insert into stu_info(学号,姓名, 班级,年级)

values

('041010604','张龙辉',' 电脑042班','04'),

('041010605','林晓婷',' 电脑042班','04')


insert into stu_info(学号,姓名, 班级,年级,专业)

values

('041010718','陈小玉',' 旅游042班','04','旅游')




--2. 对照stu_info表将stu_JY表中的学号字段补充完整。


update stu_jy set 学号='041010545' where  姓名='杨柳' and 班级='软件041'


update stu_jy set 学号='041010427' where  姓名='杨柳' and 班级='电商041班'


--3. 将stu_info表班级字段中没有以“班”字结尾的数据,修改成以“班”结尾。


update stu_info 

set 班级=rtrim(班级)+'班' 

where 班级 not like '%班'


--4. 使用select 语句将stu_JY表中整体复制到stu_JY_BAK中。


select * into stu_JY_BAK

from stu_jy



--5. 删除stu_JY表中的“姓名”、“班级”字段。


alter table stu_jy

drop column 姓名,班级




--6. 修改stu_JY表结构:为学号字段增加外键约束,关联stu_info表中的学号字段。

alter table stu_jy

add constraint fk_1 foreign key(学号) references stu_info(学号)

go


--7. 创建视图v_JY,该视图返回所有学生的基本信息及就业信息。



create view v_jy

as 

select stu_info.*,stu_jy.岗位,stu_jy.就业单位,stu_jy.就业日期  from stu_info, stu_jy

where stu_info.学号=stu_jy.学号

go


select * from v_jy



--三、 数据查询(共40分)

--1. 查询stu_info表中的全部数据,按学号的升序排序。


select * from stu_info order by 学号 asc


--2. 查询stu_JY表中没有就业单位的学生的学号。


select 学号 from stu_jy where 就业单位 is null


--3. 查询仍没有就业单位的学生的学号、姓名、班级。


select 学号,姓名,班级

from stu_info 

where 学号 in

(

select 学号 from stu_jy where 就业单位 is null

)


--4. 查询在stu_JY表中没有相关记录的学生的学号、姓名、班级、年级、专业、出生日期等信息。

select * from stu_info

where 学号 not in 

(

select 学号 from stu_jy 

)

--5. 查询所有姓杨的学生的就业信息。

select * from stu_jy 

where 学号 in

(

select 学号 from stu_info

where 姓名 like '杨%'

)

--6. 按班级分组,统计每班的学生人数。


select 班级,COUNT(*)

from stu_info

group by 班级


--7. 查询stu_info表中学生来自于哪些班级,不能有重复。

select distinct 班级 from stu_info


--8. 查询视图v_JY中的数据。


select * from v_jy


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227303.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号