DDL
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT, -- 假设id是自增主键
createDate DATE NOT NULL, -- 创建日期
userName VARCHAR(255) NOT NULL, -- 用户名
phone VARCHAR(20), -- 电话号码
age INT, -- 年龄
sex ENUM('男', '女'), -- 性别,假设只有男和女两种选项
introduce TEXT -- 介绍
);
DML
INSERT INTO student (createDate, userName, phone, age, sex, introduce) VALUES
('2023-05-01', '张三', '13800138000', 20, '男', '我是张三,喜欢编程。'),
('2023-05-02', '李四', '13800138001', 21, '女', '我是李四,喜欢音乐。'),
('2023-05-03', '王五', '13800138002', 22, '男', '我是王五,喜欢运动。'),
('2023-05-04', '赵六', '13800138003', 23, '女', '我是赵六,喜欢画画。'),
('2023-05-05', '孙七', '13800138004', 24, '男', '我是孙七,喜欢旅行。'),
('2023-05-06', '周八', '13800138005', 25, '女', '我是周八,喜欢阅读。'),
('2023-05-07', '吴九', '13800138006', 26, '男', '我是吴九,喜欢摄影。');
DQL
DELIMITER //
CREATE PROCEDURE InsertStudentData(IN p_userName VARCHAR(255), IN p_introduce TEXT)
BEGIN
-- 检查userName是否以张、王、李、兆开头
IF LEFT(p_userName, 1) NOT IN ('张', '王', '李', '兆') THEN
-- 插入数据,使用当前日期作为createDate,其他字段可以使用默认值或根据需求填写
INSERT INTO student (createDate, userName, introduce)
VALUES (CURDATE(), p_userName, p_introduce);
-- 可根据需要添加其他逻辑,如设置phone、age、sex的默认值或随机值等
ELSE
-- 如果userName不合法,可以输出错误信息或进行其他处理
SELECT 'Error: UserName cannot start with 张, 王, 李, or 兆.';
END IF;
END //
DELIMITER ;
CALL InsertStudentData('刘阳光', '这是刘阳光的个人介绍。');