数据库-h6

创建两张表:部门(dept)和员工(emp),并插入数据,代码如下
    create table dept(
        dept_id int primary key auto_increment comment '部门编号',
        dept_name char(20) comment '部门名称'
    );
    insert into dept(dept_name) values('销售部'),('财务部'),('生产部'),('人事部');

    create table emp(
        emp_id int primary key auto_increment comment '员工号',
        emp_name char(20) not null default '' comment '员工姓名',
        gender char(2) not null default '男' comment '性别',
        birth datetime not null default '1990-1-1' comment '出生日期',
        salary decimal(10,2) not null default 0 comment '工资',
        address varchar(200) not null default '' comment '通讯地址',
        dept_id int comment '部门编号'
    );

    insert into emp(emp_name,gender,birth,salary,address,dept_id) 
    values('张晓红','女','1980-1-23',5800,'河南省郑州市中原路10号',1),
    ('张静静','女','1987-10-3',5400,'河南省新乡市平原路38号',1),
    ('王云飞','男','1992-11-15',5600,'河南省新乡市人民路28号',1),
    ('王鹏飞','男','1987-10-1',6800,'河南省新乡市东明大道12号',1),
    ('王大鹏','男','1989-2-11',5900,'河南省郑州市东风路15号',1),
    ('王萌萌','女','1986-12-30',5000,'河南省开封市五一路14号',2),
    ('王大光','男','1988-11-8',6200,'河南省开封市八一路124号',2),
    ('王小明','男','1998-1-3',4800,'河南省驻马店市雪松路128号',2),
    ('王娜娜','女','1994-3-5',5200,'河南省驻马店市车站路2号',2),
    ('刘云飞','男','1992-8-13',6800,'河南省南阳市民生路255号',3),
    ('张陆军','男','1991-9-6',6200,'河南省南阳市张仲景路14号',3);

一.视图
1、创建视图v_emp_dept_id_1,查询销售部门的员工姓名和家庭住址
create view v_emp_dept_id_1 as
	select emp_name,address from emp_1 inner join dept_1 on emp_1.dept_id= 	dept_1.dept_id                             
    and dept_name = '销售部'

select * from v_emp_dept_id_1
2、创建视图v_emp_dept,查询销售部门员工姓名和家庭住址及部门名称。
create view v_emp_dept as
	select dept_name,emp_name,address from emp_1 inner join dept_1 on emp_1.dept_id = 	 
    dept_1.dept_id and dept_name = '销售部'

select * from v_emp_dept
3、创建视图v_dept_emp_count(dept_name,emp_count,avg_salay),统计每个部门人数并计算平均工资。
create view v_dept_emp_count(dept_name,emp_count,avg_salay) as
	select dept_name,count(*),avg(salary) from emp_1 inner join dept_1 on dept_1.dept_id = 
    emp_1.dept_id group by dept_name

select * from v_dept_emp_count
4、修改视图v_emp_dept,查询销售部门员工姓名、家庭住址、工资和部门名称。
alter view v_emp_dept as
	select emp_name,address,salary,dept_name from emp_1 inner join dept_1 
	on dept_1.dept_id = emp_1.dept_id and dept_name = '销售部'

select * from v_emp_dept
5、查看视图名称;

    查看视图结构;desc 视图名称
    查看创建视图语句;show create view 视图名

6、删除以上三个视图。
drop view v_emp_dept_id_1,v_emp_dept,v_dept_emp_count
二.存储过程
1、创建一个提取emp表所有员工工资和的存储过程s1
delimiter $$
create procedure s1()
	begin
		select sum(salary) from emp_1;
	end $$

delimiter;

call s1()
2、创建存储过程s2,实现输入员工姓名后返回员工的家庭住址。
delimiter $$
create procedure s2(in name varchar(50),out emp_address varchar(60))
begin
		select address into emp_address from emp_1 where emp_1.emp_name = name;
end $$
delimiter		
		
call s2('张晓红',@x);
call s2('王大光',@y);
select @x,@y
3、创建一个存储过程avg_sai,有3个参数,分别是dept,gender,接收平均工资,功能查询emp表dept_id为1,gender为男的平均工资
delimiter ss
create procedure avg_sai(in dept int,in gender_1 varchar(5),out avg_salary decimal(10,2))
begin
		select avg(salary) into avg_salary from emp_1 where dept_id = dept and gender_1 = gender;
end ss
delimiter

call avg_sai('1','男',@x);
select @x
4、删除以上存储过程
drop procedure s1,s2,avg_sai
  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果要使用 H5 写一个响应式页面,可以使用 Bootstrap、 Foundation 等 CSS 框架来实现。这些框架都提供了一系列的 CSS 类,可以让页面在不同尺寸的设备上得到优秀的展示效果。 如果要使用 Node.js 操作数据库,可以使用一些数据库驱动,如 MySQL、 MongoDB、Redis等。这些驱动都提供了一些 API,可以在 Node.js 中方便地操作数据库。 ### 回答2: 响应式页面是一种能够自动适应不同设备和屏幕尺寸的网页设计技术。使用H5(HTML5)语言可以轻松实现响应式页面。以下是一个简单的示例: 首先,我们需要在HTML文件的`<head>`标签中引入一个 H5 的 `<meta>` 标签,指定viewport 的宽度和初始缩放比例,从而使页面能根据设备自动适应。 接下来,在页面的结构中,我们使用CSS媒体查询(media query)来定义不同尺寸的布局和样式。例如,我们可以创建三个不同的CSS样式表:`mobile.css`、`tablet.css` 和 `desktop.css`,分别对应移动端、平板和桌面设备的布局样式。然后在 HTML 文件中,使用`<link>`标签将不同的样式表与媒体查询关联起来。 通过媒体查询,我们可以使用CSS的`@media`规则,在不同的屏幕尺寸下应用相应的样式和布局。例如,使用`@media screen and (max-width: 480px)`表示在视口宽度不超过480px时应用的样式。 在H5的语法和标签上,一般与之前的HTML4相比较少的,但可以使用一些新的元素和属性来增强用户体验,如`<canvas>`用于绘制图形、`<video>`用于播放视频等。另外,H5还增加了一些新的JavaScript API,如地理位置、离线存储等,通过这些API能够实现更丰富的功能和交互效果。 至于Node.js操作数据库,可以使用Node.js提供的模块来轻松实现。首先,我们需要使用npm(Node包管理器)来安装适当的数据库驱动程序,如`mysql`、`mongodb`等。 安装完驱动程序后,我们可以使用`require`函数在Node.js应用程序中引入相应的驱动程序。然后,创建数据库连接,并执行相关的数据库操作,如查询、插入、更新和删除等。具体的操作语法和方法根据所选的数据库驱动程序而异。 在操作数据库过程中,我们通常会使用回调函数或Promise来处理异步操作。通过回调函数,可以在数据库结果返回后执行特定的动作。而Promise则提供了一种更简洁和可读性更高的方式来处理异步操作。可以使用async/await语法糖来进一步简化异步操作的处理流程。 总而言之,通过合理利用H5和Node.js提供的各种功能和模块,我们可以轻松实现响应式页面设计和数据库操作。 ### 回答3: 用H5写一个响应式页面可以通过以下步骤完成: 1. 结构布局:使用HTML5语义化标签进行页面结构布局,如<header>、<nav>、<main>、<footer>等。通过媒体查询设置不同分辨率下的样式,并使用Flexbox或Grid来实现页面的自适应布局。 2. 图片和多媒体:使用<img>标签来插入图片,并使用CSS属性设置图片的宽度和高度,以适应不同设备的屏幕尺寸。为了提高页面加载速度,可以使用响应式图片技术,根据设备屏幕尺寸提供不同大小和分辨率的图片。 3. 文本内容:使用<p>、<h1>到<h6>等标签来进行文本内容的标记。使用CSS控制字体大小,行间距和对齐方式以适应不同屏幕。 4. 响应式导航:使用CSS实现响应式导航菜单,可以采用弹出式菜单、折叠式菜单或者水平菜单,根据屏幕尺寸进行切换。 5. 表单:使用<input>、<select>等标签创建表单,并使用CSS设置不同设备上的表单样式,确保用户输入的可见性和易用性。 Node.js操作数据库可以通过以下步骤完成: 1. 安装依赖:使用npm或yarn安装适当的Node.js模块,如mysql、mongodb或sequelize,这些模块帮助连接和操作不同类型的数据库。 2. 连接数据库:使用数据库模块提供的API,通过提供数据库主机、用户名、密码和数据库名等信息来建立与数据库的连接。 3. 执行数据库操作:使用数据库模块提供的API,执行查询、插入、更新或删除等操作。例如,通过调用适当的函数来执行SQL语句,或者使用ORM框架(如sequelize)提供的方法来操作数据库。 4. 处理结果:根据数据库操作的返回结果,进行适当的错误处理和数据处理。例如,可以通过回调函数或Promise来处理异步操作的结果,使用条件语句来处理错误情况,并将查询结果展示给用户。 5. 断开连接:当数据库操作结束后,使用数据库模块提供的API断开与数据库的连接,释放资源并保持数据库的安全性。 以上是使用H5写一个响应式页面和Node.js操作数据库的基本步骤,具体实现取决于项目需求和所使用的具体技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值