2025-02-06
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
### 数据库
|
||||
|
||||
```sql
|
||||
#1 创建表
|
||||
CREATE TABLE t_family(
|
||||
fno INT(11) PRIMARY KEY AUTO_INCREMENT,
|
||||
eno INT(11) NOT NULL COMMENT '职工编号',
|
||||
ename VARCHAR(255) NOT NULL COMMENT '职工姓名',
|
||||
faname VARCHAR(255),
|
||||
moname VARCHAR(255)
|
||||
);
|
||||
|
||||
#2 添加字段
|
||||
ALTER TABLE t_salary ADD grade VARCHAR(255) COMMENT '评级';
|
||||
|
||||
#3 修改字段数据类型
|
||||
ALTER TABLE t_employee MODIFY sex ENUM('男', '女');
|
||||
|
||||
#4 更新记录
|
||||
UPDATE t_department d
|
||||
SET d.tel = '128'
|
||||
WHERE d.dname = '法务部';
|
||||
|
||||
#5 条件、排序查询
|
||||
SELECT e.ename, e.sex, e.birthday
|
||||
FROM t_employee e
|
||||
WHERE e.birthday >= '2000-1-1'
|
||||
ORDER BY e.birthday DESC;
|
||||
|
||||
#6 分组、多表连接查询
|
||||
SELECT d.dname, SUM(s.basepay+s.overtime+s.allowance+s.insurance)
|
||||
FROM t_department d, t_employee e, t_salary s
|
||||
WHERE e.dno = d.dno AND e.eno = s.eno
|
||||
GROUP BY d.dno;
|
||||
#7 分组+排序 视图
|
||||
CREATE VIEW v_jobcount AS
|
||||
SELECT j.jobtitle, COUNT(*)
|
||||
FROM t_job j, t_employee e
|
||||
WHERE j.jno = e.jobno
|
||||
GROUP BY j.jno
|
||||
ORDER BY 2;
|
||||
|
||||
#8 触发器
|
||||
CREATE TRIGGER tri_updateGrade
|
||||
BEFORE UPDATE ON t_salary FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.basepay < 6000 THEN
|
||||
SET NEW.grade = 'C';
|
||||
ELSEIF NEW.basepay < 8000 THEN
|
||||
SET NEW.grade = 'B';
|
||||
ELSEIF NEW.basepay >= 8000 THEN
|
||||
SET NEW.grade = 'A';
|
||||
END IF;
|
||||
END;
|
||||
#9 存储过程
|
||||
CREATE PROCEDURE `pro_getDepartmentTel`(in `in_dno` int, OUT dept_phone VARCHAR(100))
|
||||
BEGIN
|
||||
|
||||
SELECT CONCAT('部门名称-', dname, ',电话-', tel) INTO dept_phone
|
||||
FROM t_department
|
||||
WHERE dno = `in_dno` limit 1;
|
||||
|
||||
IF dept_phone IS NULL THEN
|
||||
SET dept_phone = '没有找到相应的部门';
|
||||
END IF;
|
||||
END
|
||||
```
|
||||
|
||||
### C语言-1
|
||||
|
||||
```c
|
||||
/*---------------------------------------------------------
|
||||
【程序设计】输入n个整数,以-1结束,求所输入的整数中,十位是奇数的所有整数之和。
|
||||
例1:
|
||||
输入n个整数,求十位为奇数的数之和(输入-1结束):
|
||||
10 15 20 25 30 40 50 -1
|
||||
十位为奇数的数之和为: 105
|
||||
例2:
|
||||
输入n个整数,求十位为奇数的数之和(输入-1结束):
|
||||
8 18 28 -38 48 58 -1 98
|
||||
十位为奇数的数之和为: 38
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
---------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
int main() {
|
||||
int num,tenDigit;
|
||||
int sum = 0,i;
|
||||
printf("输入n个整数,求十位为奇数的数之和(输入-1结束):\n");
|
||||
while (1)
|
||||
{
|
||||
scanf("%d", &num);
|
||||
/**********Program**********/
|
||||
if(num == -1){
|
||||
break;
|
||||
}
|
||||
if((num<0?num*-1:num)%100/10%2==1){
|
||||
sum += num;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
}
|
||||
printf("十位为奇数的数之和为: %d\n", sum);
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user