用MySQL语句建立一张考勤表,包含以下信息:员工照片、姓名、员工ID、职位、日期、班次、工作地点、上班打卡时间、上班打卡结果、下班打卡时间、下班打卡结果、关联的审批单、加班时长、请假时长、迟到时长、净奖惩金额,并为表适当添加主键
时间: 2023-09-16 11:13:04 浏览: 143
好的,以下是用MySQL语句建立一张考勤表的代码:
```
CREATE TABLE attendance (
id INT NOT NULL AUTO_INCREMENT,
photo BLOB,
name VARCHAR(50) NOT NULL,
employee_id INT NOT NULL,
position VARCHAR(50) NOT NULL,
date DATE NOT NULL,
shift VARCHAR(50) NOT NULL,
location VARCHAR(50) NOT NULL,
clock_in_time TIME NOT NULL,
clock_in_result VARCHAR(50),
clock_out_time TIME NOT NULL,
clock_out_result VARCHAR(50),
approval_id INT,
overtime_duration TIME,
leave_duration TIME,
late_duration TIME,
reward_penalty DECIMAL(10, 2),
PRIMARY KEY (id)
);
```
解释一下代码:
- `attendance` 是表的名字。
- `id` 是主键,自动递增。
- `photo` 是 BLOB 类型,用于存储员工照片。
- `name` 是员工姓名,VARCHAR(50) 类型,长度为50个字符。
- `employee_id` 是员工ID,INT 类型,不可为空。
- `position` 是员工职位,VARCHAR(50) 类型,不可为空。
- `date` 是日期,DATE 类型,不可为空。
- `shift` 是班次,VARCHAR(50) 类型,不可为空。
- `location` 是工作地点,VARCHAR(50) 类型,不可为空。
- `clock_in_time` 是上班打卡时间,TIME 类型,不可为空。
- `clock_in_result` 是上班打卡结果,VARCHAR(50) 类型。
- `clock_out_time` 是下班打卡时间,TIME 类型,不可为空。
- `clock_out_result` 是下班打卡结果,VARCHAR(50) 类型。
- `approval_id` 是关联的审批单,INT 类型。
- `overtime_duration` 是加班时长,TIME 类型。
- `leave_duration` 是请假时长,TIME 类型。
- `late_duration` 是迟到时长,TIME 类型。
- `reward_penalty` 是净奖惩金额,DECIMAL(10, 2) 类型,保留两位小数。
希望这个答案可以帮到你,如果还有其他问题,请随时提出!
阅读全文