尚硅谷夏磊老师在他的MySQL课程中,深入浅出地讲解了MySQL数据库的基本概念、SQL语言、索引等知识点。其中,我特别受益良多的内容有以下几点:
CREATE TABLE `t_order` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`order_num` varchar(32) NOT NULL COMMENT '订单编号',
`user_id` int(11) NOT NULL COMMENT '用户id',
`price` decimal(10,2) DEFAULT NULL COMMENT '订单金额',
`order_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '订单创建时间',
PRIMARY KEY (`id`),
KEY `idx_order_num` (`order_num`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
以上代码是创建t_order表的语句,夏磊老师在讲解时详细讲解了每个字段的含义和作用,让我对MySQL数据库的表结构有了更深刻的理解。
SELECT
o.order_num,
u.user_name
FROM
t_order o
JOIN t_user u ON o.user_id = u.user_id
WHERE
o.order_time >'2021-01-01'
ORDER BY
o.price DESC
LIMIT 10;
以上sql语句是查询订单表中在2021年之后的订单编号和用户名称,并以订单金额倒序排列,只显示前10条记录。夏磊老师通过多个实例演示了不同场景下的sql语句如何优化,让我对sql语言的运用更为熟练。
CREATE INDEX idx_user_id ON t_order(user_id);
以上代码是在订单表上创建user_id字段的索引,夏磊老师在讲解索引的使用时对比了有索引和没有索引的查询效率,并对MySQL的B+树索引原理作了详细讲解,让我对索引的使用规范和优化有了全面的认识。
总之,夏磊老师的MySQL课程内容丰富,讲解细致,对于初学者和进阶者都是一份难得的学习资料。