建立一个数据库,通过编程实现: 1.建立一个表,表名为职工,结构为:编号,姓名、性别、年龄、工资、职称;
时间: 2023-07-10 18:25:17 浏览: 70
好的,建立一个名为职工的表,它包含编号、姓名、性别、年龄、工资、职称这六个字段。我们可以使用 SQL 语句来实现:
```sql
CREATE TABLE 职工 (
编号 INT PRIMARY KEY,
姓名 VARCHAR(20),
性别 VARCHAR(4),
年龄 INT,
工资 DECIMAL(10, 2),
职称 VARCHAR(20)
);
```
这个 SQL 语句会创建一个名为职工的表,其中编号是主键,姓名、性别、职称等字段分别是字符串类型,年龄是整数类型,工资是带两位小数的十进制数类型。
相关问题
建立一个数据库,通过编程实现: 1.建立一个表,表名为职工,结构为:编号,姓名、性别、年龄、工资、职称; 编号 姓名 性别 年龄 工资 职称 1001 丁卫国 男 25 2500 助工 1002 张小华 女 30 1000 工程师 1003 宁涛 男 50 600 高工 2.向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。 3.将年龄在45岁以上的员工工资增加15%,其他人增加10%,存入原表中,并查询更新后的所有员工信息,输出到控制台。 4.删除工资超过1500的员工记录,并将每条记录按照工资由大到小的顺序显示输出到控制台。 算法流程分析
好的,下面我会使用 SQL 语句来实现这些操作:
1. 建立一个名为职工的表,它包含编号、姓名、性别、年龄、工资、职称这六个字段。
```sql
CREATE TABLE 职工 (
编号 INT PRIMARY KEY,
姓名 VARCHAR(20),
性别 VARCHAR(4),
年龄 INT,
工资 DECIMAL(10, 2),
职称 VARCHAR(20)
);
```
2. 向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。
```sql
INSERT INTO 职工 VALUES (1001, '丁卫国', '男', 25, 2500, '助工');
INSERT INTO 职工 VALUES (1002, '张小华', '女', 30, 1000, '工程师');
INSERT INTO 职工 VALUES (1003, '宁涛', '男', 50, 600, '高工');
SELECT * FROM 职工;
```
查询结果如下:
```
编号 姓名 性别 年龄 工资 职称
1001 丁卫国 男 25 2500.00 助工
1002 张小华 女 30 1000.00 工程师
1003 宁涛 男 50 600.00 高工
```
3. 将年龄在45岁以上的员工工资增加15%,其他人增加10%,存入原表中,并查询更新后的所有员工信息,输出到控制台。
```sql
UPDATE 职工 SET 工资 = 工资 * 1.15 WHERE 年龄 > 45;
UPDATE 职工 SET 工资 = 工资 * 1.10 WHERE 年龄 <= 45;
SELECT * FROM 职工;
```
查询结果如下:
```
编号 姓名 性别 年龄 工资 职称
1001 丁卫国 男 25 2750.00 助工
1002 张小华 女 30 1100.00 工程师
1003 宁涛 男 50 690.00 高工
```
4. 删除工资超过1500的员工记录,并将每条记录按照工资由大到小的顺序显示输出到控制台。
```sql
DELETE FROM 职工 WHERE 工资 > 1500;
SELECT * FROM 职工 ORDER BY 工资 DESC;
```
查询结果如下:
```
编号 姓名 性别 年龄 工资 职称
1002 张小华 女 30 1100.00 工程师
1003 宁涛 男 50 690.00 高工
```
存储过程:根据部门编号,返回该部门的员工总数,男员工数,女员工数 创建存储过程tj_rs:根据部门编号(int),返回该部门的员工总数,男员工数,女员工数(注意参数顺序必须与题目一致)。 相关表结构: 1、员工表:employee 1.png 2、部门表:department 6.png [注意:SQL表名请用小写]
好的,下面是根据部门编号返回该部门的员工总数、男员工数和女员工数的存储过程示例:
```
CREATE PROCEDURE tj_rs
@dept_id INT
AS
BEGIN
-- 返回该部门员工总数
DECLARE @total_employees INT;
SELECT @total_employees = COUNT(*) FROM employee WHERE department_id = @dept_id;
SELECT @total_employees AS total_employees;
-- 返回该部门男员工数
DECLARE @male_employees INT;
SELECT @male_employees = COUNT(*) FROM employee WHERE gender = 'M' AND department_id = @dept_id;
SELECT @male_employees AS male_employees;
-- 返回该部门女员工数
DECLARE @female_employees INT;
SELECT @female_employees = COUNT(*) FROM employee WHERE gender = 'F' AND department_id = @dept_id;
SELECT @female_employees AS female_employees;
END;
```
当你执行这个存储过程时,它将返回三个结果集,分别是该部门的员工总数、男员工数和女员工数。你可以使用你的编程语言连接到数据库,并调用这个存储过程来获取这些数据。注意,这里用了 @dept_id 参数来指定部门编号,你需要在执行存储过程时传入该参数的值。同时,表名应该用小写。