1
0
Code Issues Pull Requests Projects Releases Wiki Activity GitHub Gitee
tools/netease_music/sql/structure.sql

266 lines
14 KiB
MySQL
Raw Normal View History

2022-10-26 15:33:07 +08:00
CREATE DATABASE `neteaseMusic`;
2022-09-30 08:06:14 +08:00
USE `neteaseMusic`;
CREATE TABLE `song` (
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
2022-10-19 13:37:06 +08:00
`title` varchar(500) NOT NULL COMMENT '歌曲名',
2022-10-17 21:29:23 +08:00
`type` tinyint(4) NOT NULL COMMENT ' 0: 一般类型 1: 通过云盘上传的音乐,网易云不存在公开对应 2: 通过云盘上传的音乐,网易云存在公开对应',
`alias` json DEFAULT NULL COMMENT '歌曲别名JSON格式数组',
`pop` float DEFAULT NULL COMMENT '歌曲热度',
`fee` tinyint(4) DEFAULT NULL COMMENT '版权 0: 免费或无版权 1: VIP 歌曲 4: 购买专辑 8: 非会员可免费播放低音质,会员可播放高音质及下载 fee 为 1 或 8 的歌曲均可单独购买 2 元单曲',
2022-10-19 13:37:06 +08:00
`quality` varchar(500) NOT NULL COMMENT '高/中/低/无损质量文件信息',
2022-10-17 21:29:23 +08:00
`cd` varchar(255) NOT NULL COMMENT 'None或如"04", "1/2", "3", "null"的字符串表示歌曲属于专辑中第几张CD对应音频文件的Tag',
2022-10-26 16:19:46 +08:00
`no` int(11) DEFAULT NULL COMMENT '表示歌曲属于CD中第几曲0表示没有这个字段对应音频文件的Tag',
2022-10-17 21:29:23 +08:00
`dj_id` int(10) unsigned DEFAULT NULL COMMENT '0: 不是DJ节目 其他是DJ节目表示DJ ID',
`s_id` int(10) unsigned DEFAULT NULL COMMENT '对于t == 2的歌曲表示匹配到的公开版本歌曲ID',
`origin_cover_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0: 未知 1: 原曲 2: 翻唱',
2022-10-19 13:37:06 +08:00
`image` varchar(200) DEFAULT NULL COMMENT '封面图 http://p1.music.126.net/ 后面的部分',
`pub_date` varchar(100) DEFAULT NULL COMMENT '发布日期(弃用)',
2022-10-26 16:19:46 +08:00
`pub_time` varchar(100) DEFAULT NULL COMMENT '发布日期 毫秒为单位的Unix时间戳',
2022-10-17 21:29:23 +08:00
`no_copyright_rcmd` varchar(255) DEFAULT NULL COMMENT 'None表示可以播非空表示无版权',
`mv` int(10) unsigned DEFAULT NULL COMMENT '非零表示有MV ID',
`single` tinyint(4) DEFAULT NULL COMMENT '0: 有专辑信息或者是DJ节目 1: 未知专辑',
2022-10-26 16:19:46 +08:00
`version` int(11) NOT NULL DEFAULT '1' COMMENT '歌曲版本信息',
2022-09-30 08:06:14 +08:00
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-17 21:29:23 +08:00
`data_version` tinyint(4) NOT NULL DEFAULT '1' COMMENT '数据记录版本(如果有字段调整则整体+1)',
2022-10-08 21:57:22 +08:00
PRIMARY KEY (`song_id`),
2022-10-19 13:37:06 +08:00
KEY `song_id` (`song_id`),
KEY `data_version` (`data_version`)
2022-10-26 15:33:07 +08:00
);
2022-09-30 08:06:14 +08:00
CREATE TABLE `artist` (
`artist_id` int(10) unsigned NOT NULL COMMENT '歌手id',
2022-10-01 18:53:19 +08:00
`title` varchar(200) NOT NULL COMMENT '歌手名',
`description` varchar(1500) NOT NULL COMMENT '歌手简介',
`image` varchar(200) NOT NULL COMMENT '封面图 http://p1.music.126.net/ 后面的部分',
`pub_date` varchar(100) NOT NULL COMMENT '发布日期',
2022-09-30 08:06:14 +08:00
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-05 11:41:30 +08:00
PRIMARY KEY (`artist_id`),
2022-10-08 21:57:22 +08:00
KEY `artist_id` (`artist_id`)
2022-10-26 15:33:07 +08:00
);
2022-09-30 08:06:14 +08:00
CREATE TABLE `album` (
`album_id` int(10) unsigned NOT NULL COMMENT '专辑id',
2022-10-01 18:53:19 +08:00
`title` varchar(200) NOT NULL COMMENT '专辑名',
`description` varchar(1500) NOT NULL COMMENT '专辑简介',
`full_description` text COMMENT '专辑简介(全)',
`image` varchar(200) NOT NULL COMMENT '封面图 http://p1.music.126.net/ 后面的部分',
`pub_date` varchar(100) NOT NULL COMMENT '发布日期',
`company` varchar(100) DEFAULT NULL COMMENT '发行公司',
2022-09-30 08:06:14 +08:00
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-04 13:54:21 +08:00
`version` tinyint(4) NOT NULL DEFAULT 1 COMMENT '数据记录版本(如果有字段调整则整体+1)',
2022-10-05 11:41:30 +08:00
PRIMARY KEY (`album_id`),
2022-10-08 21:57:22 +08:00
KEY `album_id` (`album_id`)
2022-10-26 15:33:07 +08:00
);
2022-09-30 08:06:14 +08:00
2022-10-19 13:37:06 +08:00
CREATE TABLE `playlist` (
2022-10-19 22:58:56 +08:00
`playlist_id` bigint(20) unsigned NOT NULL COMMENT '歌单id',
2022-10-19 13:37:06 +08:00
`title` varchar(200) NOT NULL COMMENT '歌单名',
`english_title` varchar(200) DEFAULT NULL COMMENT '歌单名(英文)',
`description` varchar(1500) NOT NULL COMMENT '歌单简介',
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户id',
`tags` json DEFAULT NULL COMMENT '歌单标签JSON格式数组',
`alg_tags` json DEFAULT NULL COMMENT '歌单标签JSON格式数组',
`playlist_create_time` bigint(20) unsigned DEFAULT NULL COMMENT '创建日期',
`playlist_update_time` bigint(20) unsigned DEFAULT NULL COMMENT '更新日期',
-- 数据
`track_count` int(10) unsigned NOT NULL COMMENT '歌单歌曲数',
2022-10-29 16:09:01 +08:00
`play_count` bigint(20) unsigned NOT NULL COMMENT '歌单播放数',
2022-10-19 13:37:06 +08:00
`subscribed_count` int(10) unsigned NOT NULL COMMENT '歌单收藏数',
`share_count` int(10) unsigned NOT NULL COMMENT '歌单分享数',
`comment_count` int(10) unsigned NOT NULL COMMENT '歌单评论数',
-- 封面图
`cover_image` varchar(200) NOT NULL COMMENT '封面图 http://p1.music.126.net/ 后面的部分',
`title_image` varchar(200) DEFAULT NULL COMMENT '封面图 http://p1.music.126.net/ 后面的部分',
`background_cover` varchar(200) DEFAULT NULL COMMENT '封面图 http://p1.music.126.net/ 后面的部分',
-- 状态码
`ordered` tinyint(4) NULL COMMENT '排序 0-false 1-true',
`copied` tinyint(4) NULL COMMENT '是否复制 0-false 1-true',
`status` tinyint(4) DEFAULT NULL COMMENT '保留状态码',
`privacy` tinyint(4) DEFAULT NULL COMMENT '保留状态码',
`ad_type` tinyint(4) DEFAULT NULL COMMENT '保留状态码',
2022-10-19 22:58:56 +08:00
`special_type` int(11) DEFAULT NULL COMMENT '保留状态码',
`official_playlist_type` varchar(20) DEFAULT NULL COMMENT '保留状态码',
2022-10-19 13:37:06 +08:00
`op_recommend` tinyint(4) DEFAULT NULL COMMENT '保留状态码 0-false 1-true',
`high_quality` tinyint(4) DEFAULT NULL COMMENT '保留状态码 0-false 1-true',
`new_imported` tinyint(4) DEFAULT NULL COMMENT '保留状态码 0-false 1-true',
`update_frequency` varchar(100) DEFAULT NULL COMMENT '保留字段',
`grade_status` varchar(20) DEFAULT NULL COMMENT '保留字段',
`score` varchar(20) DEFAULT NULL COMMENT '保留字段',
-- 后期调整字段
`creator` json DEFAULT NULL COMMENT '保留字段JSON格式数组',
`video_ids` json DEFAULT NULL COMMENT '保留字段JSON格式数组',
`videos` json DEFAULT NULL COMMENT '保留字段JSON格式数组',
`banned_track_ids` json DEFAULT NULL COMMENT '保留字段JSON格式数组',
`remix_video` json DEFAULT NULL COMMENT '保留字段JSON格式数组',
-- 数据信息
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
PRIMARY KEY (`playlist_id`),
KEY `playlist_id` (`playlist_id`)
2022-10-26 15:33:07 +08:00
);
2022-10-19 13:37:06 +08:00
CREATE TABLE `song_playlist_relation` (
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
`playlist_id` int(10) unsigned NOT NULL COMMENT '歌单id',
`alg` varchar(20) DEFAULT NULL COMMENT '保留字段',
2022-10-19 22:58:56 +08:00
`rcmd_reason` varchar(20) DEFAULT NULL COMMENT '保留字段',
2022-10-19 13:37:06 +08:00
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
PRIMARY KEY (`song_id`, `playlist_id`),
KEY `song_id` (`song_id`),
KEY `playlist_id` (`playlist_id`)
2022-10-26 15:33:07 +08:00
);
2022-10-19 13:37:06 +08:00
2022-09-30 08:06:14 +08:00
CREATE TABLE `song_album_relation` (
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
`album_id` int(10) unsigned NOT NULL COMMENT '专辑id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-05 11:41:30 +08:00
PRIMARY KEY (`song_id`,`album_id`),
2022-10-08 21:57:22 +08:00
KEY `song_id` (`song_id`),
KEY `album_id` (`album_id`)
2022-10-26 15:33:07 +08:00
);
2022-09-30 08:06:14 +08:00
CREATE TABLE `song_artist_relation` (
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
`artist_id` int(10) unsigned NOT NULL COMMENT '歌手id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-05 11:41:30 +08:00
PRIMARY KEY `song_id` (`song_id`,`artist_id`),
2022-10-08 21:57:22 +08:00
KEY `song_id` (`song_id`),
KEY `artist_id` (`artist_id`)
2022-10-26 15:33:07 +08:00
);
2022-10-01 16:16:39 +08:00
CREATE TABLE `lyric` (
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
2022-10-03 14:32:04 +08:00
`version` int(10) unsigned NOT NULL COMMENT '歌词版本 -1代表没有数据',
2022-10-01 21:09:05 +08:00
`lyric` text NOT NULL COMMENT '歌词',
2022-10-01 16:16:39 +08:00
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-05 11:41:30 +08:00
PRIMARY KEY (`song_id`,`version`),
2022-10-08 21:57:22 +08:00
KEY `song_id` (`song_id`)
2022-10-26 15:33:07 +08:00
);
2022-10-01 18:53:19 +08:00
2022-10-02 17:37:28 +08:00
CREATE TABLE `user` (
2022-10-02 19:16:41 +08:00
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户id',
`user_type` varchar(50) NOT NULL COMMENT '用户类型',
2022-10-02 17:37:28 +08:00
`nickname` varchar(200) NOT NULL COMMENT '用户昵称',
`avatar_url` varchar(200) NOT NULL COMMENT '用户头像 http://p1.music.126.net/ 后面的部分',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-06 14:01:05 +08:00
PRIMARY KEY (`user_id`),
2022-10-08 21:57:22 +08:00
KEY `user_id` (`user_id`)
2022-10-26 15:33:07 +08:00
);
2022-10-02 17:37:28 +08:00
CREATE TABLE `comment` (
`comment_id` bigint(20) unsigned NOT NULL COMMENT '评论id',
2022-10-02 19:16:41 +08:00
`parent_comment_id` bigint(20) unsigned NOT NULL COMMENT '父评论id',
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户id',
2022-10-02 17:37:28 +08:00
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
`content` text NOT NULL COMMENT '评论内容',
`time` varchar(50) NOT NULL DEFAULT '' COMMENT '评论时间',
2022-10-03 14:32:04 +08:00
`like_count` int(11) NOT NULL COMMENT '点赞数',
2022-10-02 17:37:28 +08:00
`comment_type` tinyint(4) unsigned NOT NULL COMMENT '评论类型 0-comments 1-hotComments 2-topComments',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-05 11:41:30 +08:00
PRIMARY KEY (`comment_id`),
2022-10-08 21:57:22 +08:00
KEY `song_id` (`song_id`)
2022-10-26 15:33:07 +08:00
);
2022-10-02 17:37:28 +08:00
CREATE TABLE `comment_progress` (
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
2022-10-02 19:16:41 +08:00
`max_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '开始爬取/开始增量爬取的时候 最新一条评论的时间',
`min_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '上一次爬取时最后一条评论的时间 第一次爬取时为0',
`current_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '本次爬取/增量时,最早的一条评论时间',
2022-10-02 17:37:28 +08:00
`current_status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '爬取进度 0-等待爬取/增量爬取 1-爬取中 2-完成',
`total` int(10) NOT NULL DEFAULT 0 COMMENT '评论总数',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
2022-10-04 13:54:21 +08:00
PRIMARY KEY (`song_id`),
2022-10-08 21:57:22 +08:00
KEY `current_status` (`current_status`)
2022-10-26 15:33:07 +08:00
);
2022-10-02 17:37:28 +08:00
2022-10-19 13:37:06 +08:00
CREATE TABLE `category` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '分类id',
`title` varchar(255) NOT NULL COMMENT '分类名称',
2022-10-19 22:58:56 +08:00
`netease_id` int DEFAULT NULL COMMENT '网易音乐id',
`qianqian_id` int DEFAULT NULL COMMENT '千千音乐id',
`alias` varchar(255) DEFAULT NULL COMMENT '分类别名',
`qianqian_group` varchar(255) DEFAULT NULL COMMENT '千千音乐 分类所属分组',
`qianqian_group_chinese` varchar(255) DEFAULT NULL COMMENT '千千音乐 分类所属分组(中文)',
`netease_group_chinese` varchar(255) DEFAULT NULL COMMENT '网易音乐 分类所属分组(中文)',
2022-10-19 13:37:06 +08:00
PRIMARY KEY (`id`),
UNIQUE KEY `title` (`title`)
2022-10-26 15:33:07 +08:00
);
2022-10-19 13:37:06 +08:00
2022-10-01 18:53:19 +08:00
CREATE TABLE `log` (
`id` int(10) unsigned NOT NULL COMMENT 'id',
`name` varchar(200) NOT NULL COMMENT '方法/数据库',
`msg` varchar(200) NOT NULL COMMENT '出错信息',
2022-10-08 21:57:22 +08:00
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
KEY `id` (`id`)
2022-10-26 15:33:07 +08:00
);
2022-10-18 14:42:39 +08:00
CREATE TABLE `analysis` (
`key` varchar(255) NOT NULL COMMENT '参数名',
`value` varchar(255) DEFAULT NULL COMMENT '参数值',
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
UNIQUE KEY `key` (`key`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_check_song` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_check_artist` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_check_album` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_check_lyric` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_check_comment` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
PRIMARY KEY (`id`)
);
CREATE TABLE `wait_fetch_song` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
`partition` tinyint(4) unsigned DEFAULT NULL COMMENT '分区 0-4',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_fetch_artist` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
`partition` tinyint(4) unsigned DEFAULT NULL COMMENT '分区 0-4',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_fetch_album` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
`partition` tinyint(4) unsigned DEFAULT NULL COMMENT '分区 0-4',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);
CREATE TABLE `wait_fetch_lyric` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
`partition` tinyint(4) unsigned DEFAULT NULL COMMENT '分区 0-4',
PRIMARY KEY (`id`)
2022-10-26 15:33:07 +08:00
);