82 lines
2.6 KiB
SQL
82 lines
2.6 KiB
SQL
-- ============================================================================
|
|
-- 数据库脚本验证查询
|
|
-- 用于验证 mysql_emotion_museum_final.sql 执行后的表结构
|
|
-- ============================================================================
|
|
|
|
-- 验证数据库是否存在
|
|
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'emotion_museum';
|
|
|
|
-- 验证所有表是否创建成功
|
|
SELECT TABLE_NAME, TABLE_COMMENT
|
|
FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = 'emotion_museum'
|
|
ORDER BY TABLE_NAME;
|
|
|
|
-- 验证conversation表的字段结构(重点验证新增字段)
|
|
SELECT
|
|
COLUMN_NAME,
|
|
DATA_TYPE,
|
|
IS_NULLABLE,
|
|
COLUMN_DEFAULT,
|
|
COLUMN_COMMENT
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE TABLE_SCHEMA = 'emotion_museum'
|
|
AND TABLE_NAME = 'conversation'
|
|
ORDER BY ORDINAL_POSITION;
|
|
|
|
-- 验证conversation表的索引
|
|
SELECT
|
|
INDEX_NAME,
|
|
COLUMN_NAME,
|
|
NON_UNIQUE
|
|
FROM INFORMATION_SCHEMA.STATISTICS
|
|
WHERE TABLE_SCHEMA = 'emotion_museum'
|
|
AND TABLE_NAME = 'conversation'
|
|
ORDER BY INDEX_NAME, SEQ_IN_INDEX;
|
|
|
|
-- 验证新增字段是否存在
|
|
SELECT
|
|
CASE
|
|
WHEN COUNT(*) = 9 THEN '✅ 所有新增字段都存在'
|
|
ELSE CONCAT('❌ 缺少字段,只找到 ', COUNT(*), ' 个,应该是 9 个')
|
|
END AS validation_result
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE TABLE_SCHEMA = 'emotion_museum'
|
|
AND TABLE_NAME = 'conversation'
|
|
AND COLUMN_NAME IN (
|
|
'user_type', 'emotion_trend', 'keywords', 'ai_insights',
|
|
'confidence', 'client_ip', 'user_agent', 'summary', 'tags'
|
|
);
|
|
|
|
-- 验证新增索引是否存在
|
|
SELECT
|
|
CASE
|
|
WHEN COUNT(*) = 4 THEN '✅ 所有新增索引都存在'
|
|
ELSE CONCAT('❌ 缺少索引,只找到 ', COUNT(*), ' 个,应该是 4 个')
|
|
END AS index_validation_result
|
|
FROM INFORMATION_SCHEMA.STATISTICS
|
|
WHERE TABLE_SCHEMA = 'emotion_museum'
|
|
AND TABLE_NAME = 'conversation'
|
|
AND INDEX_NAME IN (
|
|
'idx_conversation_user_type',
|
|
'idx_conversation_emotion_trend',
|
|
'idx_conversation_confidence',
|
|
'idx_conversation_client_ip'
|
|
);
|
|
|
|
-- 统计总表数
|
|
SELECT
|
|
CASE
|
|
WHEN COUNT(*) = 15 THEN '✅ 所有15个表都创建成功'
|
|
ELSE CONCAT('❌ 表数量不正确,只有 ', COUNT(*), ' 个表,应该是 15 个')
|
|
END AS table_count_result
|
|
FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = 'emotion_museum';
|
|
|
|
-- 统计总索引数(conversation表)
|
|
SELECT
|
|
CONCAT('conversation表共有 ', COUNT(DISTINCT INDEX_NAME), ' 个索引') AS conversation_index_count
|
|
FROM INFORMATION_SCHEMA.STATISTICS
|
|
WHERE TABLE_SCHEMA = 'emotion_museum'
|
|
AND TABLE_NAME = 'conversation';
|