MySQL数据库创建与数据插入:学生信息管理示例
MySQL数据库创建与数据插入:学生信息管理示例
本教程将演示如何使用SQL语句创建数据库和表,并向表中插入数据。我们将以学生信息管理为例,创建一个简单的数据库,并进行相关操作。
1. 创建数据库
首先,我们需要创建一个名为 'student_management' 的数据库(如果已存在同名数据库,则可以跳过此步骤):
-- 创建数据库
CREATE DATABASE IF NOT EXISTS student_management;
-- 使用数据库
USE student_management;
2. 创建学生信息表 (student)
接下来,创建 'student' 表来存储学生信息:
-- 创建student表
CREATE TABLE `student` (
`学号` INT NOT NULL,
`姓名` VARCHAR(45) DEFAULT NULL,
`性别` VARCHAR(45) DEFAULT NULL,
`班级` INT DEFAULT NULL,
`年龄` INT DEFAULT NULL,
`成绩` INT DEFAULT NULL,
`身高` INT DEFAULT NULL,
`手机` VARCHAR(20) DEFAULT NULL,
PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
3. 向student表添加数据
现在,我们可以向 'student' 表中插入一些示例数据:
-- 向student表添加数据
INSERT INTO `student`
(`学号`,`姓名`,`性别`,`班级`,`年龄`,`成绩`,`身高`,`手机`)
VALUES
(1,'张一','男',1701,16,78,170,'18946554571'),
(2,'李二','男',1701,17,80,175,'18946554572'),
(3,'谢逊','男',1702,18,95,169,'18946554573'),
(4,'赵玲','女',1702,19,86,180,'18956257895'),
(5,'张明','男',1704,20,85,185,'18946554575'),
(6,'张三','女',1704,18,92,169,'18946554576');
4. 创建CDC表 (student_cdc)
为了跟踪学生信息的变化,我们创建一个名为 'student_cdc' 的CDC(变更数据捕获)表:
-- 创建student_cdc表
CREATE TABLE `student_cdc` (
`学号` INT NOT NULL,
`姓名` VARCHAR(45) DEFAULT NULL,
`性别` VARCHAR(45) DEFAULT NULL,
`班级` INT DEFAULT NULL,
`年龄` INT DEFAULT NULL,
`成绩` INT DEFAULT NULL,
`身高` INT DEFAULT NULL,
`手机` VARCHAR(20) DEFAULT NULL,
`插入时间` VARCHAR(20) DEFAULT NULL,
`更新时间` VARCHAR(20) DEFAULT NULL,
PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
5. 向student_cdc表添加数据
现在,向 'student_cdc' 表中插入一些初始数据:
-- 添加数据
INSERT INTO `student_cdc`
(`学号`,`姓名`,`性别`,`班级`,`年龄`,`成绩`,`身高`,`手机`,`插入时间`,`更新时间`)
VALUES
(1,'张一','男',1701,16,78,170,'18946554571','2022-10-01','2022-10-01'),
(2,'李二','男',1701,17,80,175,'18946554572','2022-10-01','2022-10-01'),
(3,'谢逊','男',1702,18,95,169,'18946554573','2022-10-01','2022-10-01'),
(4,'赵玲','女',1702,19,86,180,'18956257895','2022-10-01','2022-10-01'),
(5,'张明','男',1704,20,85,185,'18946554575','2022-10-15','2022-10-15'),
(6,'张三','女',1704,18,92,169,'18946554576','2022-10-01','2022-10-15');
6. 创建其他辅助表
为了更好地管理CDC过程,我们还需要创建以下辅助表:
- cdc_time_log: 记录上次执行CDC的时间戳。
- cdc_seq_log: 记录上次执行CDC的序列号。
- student_cdc_sync: 存储同步后的学生信息。
- cdc_opt_log: 记录CDC操作日志。
-- 创建cdc_time_log表
CREATE TABLE `cdc_time_log` (
`ID` INT NOT NULL AUTO_INCREMENT,
`上次执行时间` VARCHAR(20) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- 创建cdc_seq_log表
CREATE TABLE `cdc_seq_log` (
`ID` INT NOT NULL AUTO_INCREMENT,
`上次执行序列` INT DEFAULT 0,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf COLLATE=utf8_general_ci;
-- 创建student_cdc_sync表
CREATE TABLE `student_cdc_sync` (
`ID` INT NOT NULL,
`学号` INT NOT NULL,
`姓名` VARCHAR(45) DEFAULT NULL,
`性别` VARCHAR(45) DEFAULT NULL,
`班级` INT DEFAULT NULL,
`年龄` INT DEFAULT NULL,
`成绩` INT DEFAULT NULL,
`身高` INT DEFAULT NULL,
`手机` VARCHAR(20) DEFAULT NULL,
`插入时间` VARCHAR(20) DEFAULT NULL,
`更新时间` VARCHAR(20) DEFAULT NULL,
`导入时间` VARCHAR(20) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- 创建cdc_opt_log表
CREATE TABLE `cdc_opt_log` (
`ID` INT NOT NULL,
`学号` INT NOT NULL,
`操作` VARCHAR(45) DEFAULT NULL,
`处理标志` VARCHAR(45) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
7. 添加更多数据到student_cdc表
最后,我们向 'student_cdc' 表中添加更多数据,模拟学生信息的变化:
-- 添加数据
INSERT INTO `student_cdc` (学号, 姓名, 性别, 班级, 年龄, 成绩, 身高, 手机, 插入时间, 更新时间)
VALUES (7, '张一', '男', '1701', '16', '78', '170', '18946554571', DATE_SUB(CURDATE(), INTERVAL 1 DAY), DATE_SUB(CURDATE(), INTERVAL 1 DAY));
INSERT INTO `student_cdc` (学号, 姓名, 性别, 班级, 年龄, 成绩, 身高, 手机, 插入时间, 更新时间)
VALUES (8, 'Tom', '男', '1701', '16', '78', '170', '18946554571', DATE_SUB(CURDATE(), INTERVAL 1 DAY), DATE_SUB(CURDATE(), INTERVAL 1 DAY));
总结
本教程演示了如何使用SQL语句创建数据库和表,并向表中插入数据。我们以学生信息管理为例,创建了数据库、学生表、CDC表以及其他辅助表,并提供了相应的SQL代码。这只是一个简单的示例,您可以根据实际需求进行修改和扩展。
原文地址: https://www.cveoy.top/t/topic/ft1E 著作权归作者所有。请勿转载和采集!