【无标题】

DDL语句

CREATE TABLE student (
    id INT PRIMARY KEY AUTO_INCREMENT,
    createdDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    UserName VARCHAR(50) NOT NULL,
    phone VARCHAR(20) NOT NULL,
    age INT NOT NULL,
    sex ENUM('男', '女') NOT NULL,
    introduce TEXT
);

DML语句

INSERT INTO student (UserName, phone, age, sex, introduce) VALUES 
('诺米', '13800138000', 22, '男', '诺米公子,玉树临风,貌若潘安,才高八斗,举世无双。'),
('李白', '13900139000', 30, '男', '李白贤士,飘逸出尘,诗酒风流,才华盖世,名满天下。'),
('貂蝉', '13700137000', 25, '女', '貂蝉佳人,闭月羞花,婀娜多姿,倾国倾城,艳绝四海。'),
('关羽', '13600136000', 35, '男', '关羽武将,威震华夏,义薄云天,英勇善战,世之豪杰。'),
('李清照', '13500135000', 28, '女', '李清照才女,文采斐然,诗词传世,才情出众,名垂青史。'),
('项羽', '13400134000', 32, '男', '项羽英雄,气吞山河,勇猛无敌,威震四方,名垂千古。');

分析DDL和DML创建一个名为get_student_introduce的存储过程,要求查询【诺米】的简介信息,需要写明完整的注释


-- 创建存储过程 get_student_introduce,用于获取特定学生的简介信息
DELIMITER //
CREATE PROCEDURE get_student_introduce(IN target_username VARCHAR(50))
BEGIN
    -- 声明变量来存储查询结果
    DECLARE student_introduce TEXT;
    
    -- 使用SELECT INTO语句将查询结果赋值给变量
    SELECT introduce INTO student_introduce
    FROM student
    WHERE UserName = target_username;
    
    -- 输出查询到的简介信息
    SELECT student_introduce AS 诺米的简介信息;
END //
DELIMITER ;
CALL get_student_introduce('诺米');

分析DDL与DML创建一个名为add_student_info的存储过程,要求传入4个参数依次为userName,phone,age,introduce,写明注释内容,帮助更好理解。

DELIMITER //

CREATE PROCEDURE add_student_info(
    IN p_userName VARCHAR(50),  -- 用户名参数
    IN p_phone VARCHAR(20),     -- 电话号码参数
    IN p_age INT,               -- 年龄参数
    IN p_introduce TEXT         -- 简介参数
)
BEGIN
    -- 声明变量来存储性别,这里假设我们有一个默认值,比如'男'
    -- 如果需要根据某些条件设置性别,则需要在存储过程内实现逻辑
    DECLARE default_sex ENUM('男', '女') DEFAULT '男';
    
    -- 插入一条新的学生记录到student表中
    INSERT INTO student (UserName, phone, age, sex, introduce)
    VALUES (p_userName, p_phone, p_age, default_sex, p_introduce);
    
    -- 如果需要,可以添加额外的逻辑,比如错误处理或返回插入的ID等
    -- 例如:SELECT LAST_INSERT_ID() INTO @new_id;
    
    -- 存储过程执行完毕
END //

DELIMITER ;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值