/* 测试数据插入脚本 为所有表添加5份测试数据 注意:密码使用BCrypt加密,默认密码为 123456 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ==================== 1. 用户表 (user) ==================== -- 密码都是 123456 的BCrypt加密值: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy INSERT INTO `user` (`username`, `password`, `nickname`, `avatar_url`, `phone`, `email`, `user_role`, `member_level`, `status`) VALUES ('admin', '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy', '系统管理员', 'https://example.com/avatar/admin.jpg', '13800001001', 'admin@example.com', 1, 1, 1), ('user001', '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy', '张三', 'https://example.com/avatar/user001.jpg', '13800001002', 'user001@example.com', 0, 1, 1), ('user002', '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy', '李四', 'https://example.com/avatar/user002.jpg', '13800001003', 'user002@example.com', 0, 0, 1), ('user003', '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy', '王五', 'https://example.com/avatar/user003.jpg', '13800001004', 'user003@example.com', 0, 1, 1), ('user004', '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy', '赵六', 'https://example.com/avatar/user004.jpg', '13800001005', 'user004@example.com', 0, 0, 1); -- ==================== 2. 分类表 (category) ==================== INSERT INTO category (`category_name`, `parent_id`, `type`, `sort_order`) VALUES ('文学', 0, 0, 1), ('历史', 0, 0, 2), ('科技', 0, 0, 3), ('小说', 1, 0, 1), ('散文', 1, 0, 2); -- ==================== 3. 标签表 (tag) ==================== INSERT INTO `tag` (`tag_name`) VALUES ('悬疑'), ('科幻'), ('治愈'), ('励志'), ('经典'); -- ==================== 4. 内容表 (content) ==================== INSERT INTO `content` (`title`, `author`, `category_id`, `cover_url`, `description`, `publisher`, `publish_time`, `content_type`, `total_chapters`, `status`, `view_count`, `is_free`) VALUES ('三体', '刘慈欣', 3, 'https://example.com/covers/santi.jpg', '地球文明向宇宙发出第一声啼鸣,取得了探寻外星文明的突破性进展。', '重庆出版社', '2008-01-01', 1, 3, 2, 125000, 0), ('活着', '余华', 4, 'https://example.com/covers/huozhe.jpg', '人是为了活着本身而活着,而不是为了活着之外的任何事物而活着。', '作家出版社', '1993-06-01', 1, 2, 2, 98000, 1), ('明朝那些事儿', '当年明月', 2, 'https://example.com/covers/mingchao.jpg', '以史料为基础,以年代和具体人物为主线,讲述明朝三百年间的历史故事。', '中国友谊出版公司', '2006-09-01', 2, 5, 2, 156000, 0), ('平凡的世界', '路遥', 4, 'https://example.com/covers/pingfan.jpg', '一部全景式地表现中国当代城乡社会生活的长篇小说。', '北京十月文艺出版社', '1986-12-01', 1, 3, 2, 89000, 1), ('人类简史', '尤瓦尔·赫拉利', 3, 'https://example.com/covers/renlei.jpg', '从认知革命、农业革命到科学革命,我们真的了解自己吗?', '中信出版社', '2014-11-01', 2, 4, 2, 112000, 0); -- ==================== 5. 电子书章节表 (book_chapter) ==================== INSERT INTO `book_chapter` (`content_id`, `chapter_title`, `content_text`, `word_count`, `chapter_order`, `is_free`) VALUES (1, '第一章 科学边界', '
1967年,文化大革命如火如荼地进行,中国大地被一种狂热的政治热情所笼罩。
', 3500, 1, 1), (1, '第二章 台球', '台球碰撞的瞬间,物理规律在微观层面展现出了惊人的精确性。
', 4200, 2, 0), (1, '第三章 射手和农场主', '射手假说:有一名神枪手,在一个靶子上每隔十厘米打一个洞。
', 3800, 3, 0), (2, '第一章 我', '我比现在年轻十岁的时候,获得了一个游手好闲的职业,去乡间收集民间歌谣。
', 2800, 1, 1), (2, '第二章 家珍', '家珍走后,我独自坐在门槛上,看着夕阳西下。
', 3200, 2, 1); -- ==================== 6. 听书章节表 (audio_chapter) ==================== INSERT INTO `audio_chapter` (`content_id`, `chapter_title`, `audio_url`, `narrator`, `duration`, `chapter_order`, `is_free`) VALUES (3, '第一回 童年', 'https://example.com/audio/mingchao_001.mp3', '王刚', 1800, 1, 1), (3, '第二回 求学', 'https://example.com/audio/mingchao_002.mp3', '王刚', 2100, 2, 0), (3, '第三回 入仕', 'https://example.com/audio/mingchao_003.mp3', '王刚', 1950, 3, 0), (5, '第一章 认知革命', 'https://example.com/audio/renlei_001.mp3', '李立宏', 2400, 1, 1), (5, '第二章 农业革命', 'https://example.com/audio/renlei_002.mp3', '李立宏', 2600, 2, 0); -- ==================== 7. 内容标签关联表 (content_tag) ==================== INSERT INTO `content_tag` (`content_id`, `tag_id`) VALUES (1, 2), (1, 5), -- 三体:科幻、经典 (2, 5), -- 活着:经典 (3, 1), (3, 5), -- 明朝那些事儿:悬疑、经典 (4, 4), (4, 5), -- 平凡的世界:励志、经典 (5, 2), (5, 3); -- 人类简史:科幻、治愈 -- ==================== 8. 用户书架表 (bookshelf) ==================== INSERT INTO `bookshelf` (`user_id`, `content_id`, `add_time`, `last_access_time`) VALUES (2, 1, '2025-11-01 10:00:00', '2025-11-05 14:00:00'), (2, 2, '2025-11-02 11:00:00', '2025-11-04 16:00:00'), (3, 1, '2025-11-01 09:00:00', '2025-11-05 13:00:00'), (3, 3, '2025-11-03 14:00:00', '2025-11-05 15:00:00'), (4, 2, '2025-11-02 10:00:00', '2025-11-05 12:00:00'); -- ==================== 9. 用户收藏表 (collection) ==================== INSERT INTO `collection` (`user_id`, `content_id`, `collect_time`) VALUES (2, 1, '2025-11-01 10:30:00'), (2, 4, '2025-11-02 11:30:00'), (3, 1, '2025-11-01 09:30:00'), (3, 5, '2025-11-03 14:30:00'), (4, 2, '2025-11-02 10:30:00'); -- ==================== 10. 阅读书签表 (bookmark) ==================== INSERT INTO `bookmark` (`user_id`, `chapter_id`, `content_id`, `page_num`, `content_snippet`, `add_time`) VALUES (2, 1, 1, 15, '1967年,文化大革命如火如荼地进行...', '2025-11-01 10:15:00'), (2, 4, 2, 8, '我比现在年轻十岁的时候,获得了一个游手好闲的职业...', '2025-11-02 11:15:00'), (3, 1, 1, 22, '台球碰撞的瞬间,物理规律在微观层面展现出了惊人的精确性。', '2025-11-01 09:20:00'), (4, 4, 2, 5, '家珍走后,我独自坐在门槛上,看着夕阳西下。', '2025-11-02 10:20:00'), (4, 5, 2, 12, '人是为了活着本身而活着,而不是为了活着之外的任何事物而活着。', '2025-11-03 15:00:00'); -- ==================== 11. 阅读进度表 (reading_progress) ==================== INSERT INTO `reading_progress` (`user_id`, `chapter_id`, `content_id`, `read_percent`, `current_page`, `is_finished`, `last_read_time`) VALUES (2, 1, 1, 45, 15, 0, '2025-11-05 14:00:00'), (2, 4, 2, 80, 8, 0, '2025-11-04 16:00:00'), (3, 1, 1, 100, 22, 1, '2025-11-05 13:00:00'), (4, 4, 2, 60, 5, 0, '2025-11-05 12:00:00'), (4, 5, 2, 30, 12, 0, '2025-11-03 15:00:00'); -- ==================== 12. 收听进度表 (listening_progress) ==================== INSERT INTO `listening_progress` (`user_id`, `audio_id`, `content_id`, `listen_seconds`, `is_finished`, `last_listen_time`) VALUES (3, 1, 3, 1200, 0, '2025-11-05 15:00:00'), (3, 4, 5, 1800, 0, '2025-11-04 16:00:00'), (5, 1, 3, 1800, 1, '2025-11-05 14:00:00'), (5, 4, 5, 1500, 0, '2025-11-05 13:00:00'), (2, 4, 5, 2400, 1, '2025-11-03 17:00:00'); -- ==================== 13. 阅读偏好设置表 (reading_setting) ==================== INSERT INTO `reading_setting` (`user_id`, `font_type`, `font_size`, `line_spacing`, `background`, `brightness`) VALUES (2, 'simhei', 18, 2, 'sepia', 90), (3, 'default', 16, 2, 'white', 100), (4, 'simsun', 20, 3, 'dark', 80), (5, 'default', 16, 2, 'white', 100), (1, 'simhei', 16, 2, 'white', 100); -- ==================== 14. 听书偏好设置表 (listening_setting) ==================== INSERT INTO `listening_setting` (`user_id`, `play_speed`, `volume`, `is_auto_play`) VALUES (2, 1.2, 85, 1), (3, 1.0, 80, 1), (4, 1.5, 90, 0), (5, 1.0, 75, 1), (1, 1.2, 80, 1); -- ==================== 15. 用户地址表 (user_address) ==================== INSERT INTO `user_address` (`user_id`, `recipient`, `phone`, `province`, `city`, `district`, `detail_address`, `is_default`) VALUES (2, '张三', '13800001002', '北京市', '北京市', '朝阳区', '建国路88号SOHO现代城A座1001室', 1), (2, '张三(公司)', '13800001002', '上海市', '上海市', '浦东新区', '陆家嘴环路1000号恒生银行大厦15楼', 0), (3, '李四', '13800001003', '广东省', '广州市', '天河区', '天河路123号天河城购物中心', 1), (4, '王五', '13800001004', '浙江省', '杭州市', '西湖区', '文三路259号昌地火炬大厦', 1), (5, '赵六', '13800001005', '江苏省', '南京市', '鼓楼区', '中山路321号金轮国际广场', 1); SET FOREIGN_KEY_CHECKS = 1;