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 '歌词版本', `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` int(10) unsigned NOT NULL COMMENT '用户id', `user_type` tinyint(4) unsigned 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` int(10) unsigned NOT NULL COMMENT '父评论id', `user_id` int(10) 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(10) unsigned 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` int(10) NOT NULL DEFAULT 0 COMMENT '开始爬取/开始增量爬取的时候 最新一条评论的时间', `min_time` int(10) NOT NULL DEFAULT 0 COMMENT '上一次爬取时最后一条评论的时间 第一次爬取时为0', `current_time` int(10) 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`) ) 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;