mysql一行里面有多条数据
时间: 2023-05-24 15:04:27 浏览: 56
在MySQL中,每一行通常只代表一个记录,但是如果使用关联表或者字串函数等特殊技术,一行里面也可能包含多条数据。其中比较常见的方法是使用分隔符将数据分隔开。
以下是两个例子:
1.使用逗号分隔符分隔多个值
假设我们有一个表格叫做students,其中有一个字段叫做hobbies,用来记录每个学生的兴趣爱好,如果一个学生有多个兴趣爱好,那么这个字段可能会存储多个值,每个值用逗号分隔。
如下所示:
id | name | hobbies
-------------------
1 | Tom | music,reading
2 | Bob | sports,travel
这种方式虽然方便但是查询时的性能可能不够。
2.使用JOIN关联表方式
假设我们有两个表格,一个是students,记录每个学生的信息,另一个是hobbies,记录每个学生的兴趣爱好,每个学生可能有多个兴趣爱好。如果我们需要查询每个学生以及他们的所有兴趣爱好,那么我们可以使用JOIN关联表的方式。
如下所示:
students表格:
id | name
--------
1 | Tom
2 | Bob
hobbies表格:
id | student_id | hobby
-----------------------
1 | 1 | music
2 | 1 | reading
3 | 2 | sports
4 | 2 | travel
使用以下语句可以查询每个学生以及他们的所有兴趣爱好:
SELECT students.name, hobbies.hobby
FROM students
JOIN hobbies ON students.id = hobbies.student_id
查询结果如下:
name | hobby
------------
Tom | music
Tom | reading
Bob | sports
Bob | travel