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代码。这只是一个简单的示例,您可以根据实际需求进行修改和扩展。

MySQL数据库创建与数据插入:学生信息管理示例

原文地址: https://www.cveoy.top/t/topic/ft1E 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录