105 lines
6.4 KiB
SQL
105 lines
6.4 KiB
SQL
CREATE DATABASE `neteaseMusic` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
|
|
USE `neteaseMusic`;
|
|
CREATE TABLE `song` (
|
|
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
|
|
`title` varchar(200) NOT NULL COMMENT '歌曲名',
|
|
`image` varchar(200) NOT NULL COMMENT '封面图 http://p1.music.126.net/ 后面的部分',
|
|
`pub_date` varchar(100) NOT NULL COMMENT '发布日期',
|
|
`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`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `artist` (
|
|
`artist_id` int(10) unsigned NOT NULL COMMENT '歌手id',
|
|
`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 '发布日期',
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
|
|
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
|
|
PRIMARY KEY (`artist_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `album` (
|
|
`album_id` int(10) unsigned NOT NULL COMMENT '专辑id',
|
|
`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 '发行公司',
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间',
|
|
`modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
|
|
`version` tinyint(4) NOT NULL DEFAULT 1 COMMENT '数据记录版本(如果有字段调整则整体+1)',
|
|
PRIMARY KEY (`album_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
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 '最后更新时间',
|
|
PRIMARY KEY (`song_id`,`album_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
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 '最后更新时间',
|
|
PRIMARY KEY `song_id` (`song_id`,`artist_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `lyric` (
|
|
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
|
|
`version` int(10) unsigned NOT NULL COMMENT '歌词版本 -1代表没有数据',
|
|
`lyric` text NOT NULL COMMENT '歌词',
|
|
`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`,`version`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `user` (
|
|
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户id',
|
|
`user_type` varchar(50) NOT NULL COMMENT '用户类型',
|
|
`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 '最后更新时间',
|
|
PRIMARY KEY (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `comment` (
|
|
`comment_id` bigint(20) unsigned NOT NULL COMMENT '评论id',
|
|
`parent_comment_id` bigint(20) unsigned NOT NULL COMMENT '父评论id',
|
|
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户id',
|
|
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
|
|
`content` text NOT NULL COMMENT '评论内容',
|
|
`time` varchar(50) NOT NULL DEFAULT '' COMMENT '评论时间',
|
|
`like_count` int(11) NOT NULL COMMENT '点赞数',
|
|
`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 '最后更新时间',
|
|
PRIMARY KEY (`comment_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `comment_progress` (
|
|
`song_id` int(10) unsigned NOT NULL COMMENT '歌曲id',
|
|
`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 '本次爬取/增量时,最早的一条评论时间',
|
|
`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 '最后更新时间',
|
|
PRIMARY KEY (`song_id`),
|
|
INDEX `current_status` (`current_status`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `log` (
|
|
`id` int(10) unsigned NOT NULL COMMENT 'id',
|
|
`name` varchar(200) NOT NULL COMMENT '方法/数据库',
|
|
`msg` varchar(200) NOT NULL COMMENT '出错信息',
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬取时间'
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; |