MySQL 数据库如何保存和查询年龄?
MySQL是一种基于关系模型的数据库管理系统,它可以保存和查询各种数据类型,包括年龄。本文介绍如何在MySQL数据库中保存和查询年龄。
1. 创建表格
在MySQL数据库中创建一个名为“people”的表格,用于保存人员信息,包括姓名、性别、出生日期和年龄等。
CREATE TABLE people (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
gender VARCHAR(10),
birthday DATE,
age INT
);
2. 插入数据
向people表格中插入人员信息,将出生日期转换为年龄并保存到数据库中。
INSERT INTO people (name, gender, birthday, age)
VALUES ('张三', '男', '1990-01-01', TIMESTAMPDIFF(YEAR, '1990-01-01', CURDATE())),
('李四', '女', '1995-02-02', TIMESTAMPDIFF(YEAR, '1995-02-02', CURDATE())),
('王五', '男', '2000-03-03', TIMESTAMPDIFF(YEAR, '2000-03-03', CURDATE())),
('赵六', '女', '2005-04-04', TIMESTAMPDIFF(YEAR, '2005-04-04', CURDATE())));
在SQL语句中使用TIMESTAMPDIFF函数计算出出生日期和当前日期之间的差值,即为年龄,并将年龄值插入到age字段中。
3. 查询数据
可以使用简单的SELECT语句查询people表格中的人员信息,包括姓名、性别、出生日期和年龄等。
SELECT * FROM people;
如果只想查询年龄大于18岁的人员信息,可以使用以下语句:
SELECT * FROM people WHERE age > 18;
如果需要按照年龄大小排序,可以使用以下语句:
SELECT * FROM people ORDER BY age DESC;
以上语句中的DESC表示降序排序,即年龄从大到小。
4. 更新数据
如果要更新people表格中的人员信息,可以使用UPDATE语句。
例如,将张三的出生日期修改为1992-02-02,并重新计算他的年龄:
UPDATE people SET birthday = '1992-02-02', age = TIMESTAMPDIFF(YEAR, '1992-02-02', CURDATE())
WHERE name = '张三';
5. 删除数据
如果要删除people表格中的人员信息,可以使用DELETE语句。
例如,删除年龄小于20岁的人员信息:
DELETE FROM people WHERE age
结论
本文介绍了如何在MySQL数据库中保存和查询年龄。通过使用函数和SQL语句,我们可以方便地对年龄进行计算、保存和查询。在实际应用中,可以根据业务需求对表格结构和索引进行优化,提高查询效率。