数据库基础实例教程MySQL

单表查询。
查询全体学生的姓名和年龄,要求分别用name和age表示列名。提示年龄可以根据当前日期和出生日期算出日期,去年的函数为year,取系统当前时间的函数为now。

select name, year(now())-year(birthday) as age from student

birthday 为生日字段,student 为学生表。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7535123
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:MySql子查询!!面试官:你查找一个学生表(有name和age属性)中年龄第二大的姓名吧!我™竟然一下子写不出来,所以写下这条博客,仔细学习MySql子查询
  • 你还可以看下mysql参考手册中的 MySQL 备份和恢复 将一个数据库从一个服务器复制到另一个服务器
  • 除此之外, 这篇博客: 2021年MySQL面试题55道中的 11. MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 设计良好的数据库结构,允许部分数据冗余,尽量避免 join 查询,提高效率。
    选择合适的表字段数据类型和存储引擎,适当的添加索引。
    MySQL 库主从读写分离。
    找规律分表,减少单表中的数据量提高查询速度。
    添加缓存机制,比如 memcached,apc 等。
    不经常改动的页面,生成静态页面。
    书写高效率的SQL。比如SELECT * FROM TABEL改为SELECT field_1,field_2, field_3 FROM TABLE.

  • 您还可以看一下 CSDN就业班老师的【数据分析-随到随学】Mysql数据库课程中的 多种数据库特点与应用场景小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以提供一份基础MySQL教程,教你如何进行单表查询,并且可以提供查询全体学生姓名和年龄的示例查询语句。其中,我会将查询结果中的列名分别表示为name和age并且根据当前日期和出生日期算出学生的年龄。代码如下:

    -- 创建示例表students
    CREATE TABLE students (
      id INT PRIMARY KEY,
      name VARCHAR(50),
      birthday DATE
    );
    
    -- 往students表中插入数据
    INSERT INTO students (id, name, birthday) VALUES
    (1, '张三', '2000-01-01'),
    (2, '李四', '2001-02-01'),
    (3, '王五', '1999-12-01'),
    (4, '赵六', '1998-11-01');
    
    -- 查询全体学生姓名和年龄的示例查询语句
    SELECT name AS 'name', 
      YEAR(NOW()) - YEAR(birthday) - (RIGHT(NOW(), 5) < RIGHT(birthday, 5)) AS 'age'
    FROM students;
    

    在查询语句中使用了YEAR函数来获取当前年份,RIGHT函数来获取日期的月份和日份,同时使用了比较运算符和IF函数进行日期的比较和年龄的计算,最终得到了全体学生的姓名和年龄。

    另外,如果你想要对查询结果进行分组,可以使用GROUP BY子句,并且使用GROUP_CONCAT函数来将某列的值进行拼接。示例代码如下:

    -- 查询各年龄段的学生姓名,并且将姓名用逗号分隔
    SELECT FLOOR((YEAR(NOW()) - YEAR(birthday) - (RIGHT(NOW(), 5) < RIGHT(birthday, 5))) / 10) * 10 AS 'age_group', 
      GROUP_CONCAT(name SEPARATOR ', ') AS 'names'
    FROM students
    GROUP BY FLOOR((YEAR(NOW()) - YEAR(birthday) - (RIGHT(NOW(), 5) < RIGHT(birthday, 5))) / 10) * 10;
    

    这里使用了FLOOR函数将年龄按照10岁一组进行分组,并且使用GROUP_CONCAT函数将同一年龄段的学生姓名用逗号分隔起来。