以下是不建立表的情况下,测试 MySQL 5.7 特性的 SQL 语句集合,涵盖主要新特性:
一、JSON 功能测试
sql
下载
-- 1.1 JSON 创建和查询 SELECT JSON_OBJECT('name', 'Alice', 'age', 25, 'skills', JSON_ARRAY('SQL', 'Python')); -- 1.2 JSON 路径查询 SELECT JSON_EXTRACT('{"user": {"name": "Bob", "age": 30}}', '$.user.name'); -- 1.3 JSON 修改 SET @json = '{"name": "Charlie", "score": 85}'; SELECT JSON_SET(@json, '$.score', 90, '$.level', 'A');
二、Generated Columns 测试
sql
下载
-- 2.1 虚拟生成列测试 SELECT '100' AS price, '0.1' AS tax_rate, '100' * '0.1' AS virtual_tax; -- 2.2 使用函数生成列 SELECT CONCAT('ID-', UUID_SHORT()) AS generated_id, NOW() AS current_time;
三、InnoDB 增强
sql
下载
-- 3.1 全文索引测试(无需建表) SELECT MATCH('MySQL 5.7 InnoDB full-text search') AGAINST('+MySQL +InnoDB' IN BOOLEAN MODE); -- 3.2 空间数据类型测试 SELECT ST_GeomFromText('POINT(10 20)') AS point, ST_Area(ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0))')) AS area;
四、安全性增强
sql
下载
-- 4.1 密码过期测试 SHOW VARIABLES LIKE 'default_password_lifetime'; -- 4.2 SSL 连接测试 SHOW STATUS LIKE 'Ssl_cipher'; -- 4.3 账号锁定测试 SELECT 'ALTER USER test_user@localhost ACCOUNT LOCK' AS lock_example;
五、优化器改进
sql
下载
-- 5.1 EXPLAIN FORMAT=JSON EXPLAIN FORMAT=JSON SELECT 1 FROM DUAL; -- 5.2 优化器提示测试 SELECT /*+ MAX_EXECUTION_TIME(1000) */ SLEEP(2);
六、GIS 地理信息
sql
下载
-- 6.1 空间关系计算 SELECT ST_Contains( ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0))'), ST_GeomFromText('POINT(5 5)') ) AS contains_check; -- 6.2 距离计算 SELECT ST_Distance_Sphere( ST_GeomFromText('POINT(0 0)'), ST_GeomFromText('POINT(10 10)') ) AS distance_meters;
七、性能监控
sql
下载
-- 7.1 sys schema 查询(需先安装sys schema) SELECT * FROM sys.session WHERE command != 'Sleep' LIMIT 3; -- 7.2 性能模式查询 SELECT EVENT_NAME, COUNT_STAR FROM performance_schema.events_waits_summary_global_by_event_name ORDER BY COUNT_STAR DESC LIMIT 5;
八、SQL 模式测试
sql
下载
-- 8.1 ONLY_FULL_GROUP_BY 测试 SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY'; SELECT 'This will fail in strict mode' AS test, COUNT(*) FROM (SELECT 1 UNION SELECT 2) t; -- 8.2 恢复默认模式 SET SESSION sql_mode = @@GLOBAL.sql_mode;
九、分区表特性
sql
下载
-- 9.1 分区信息查询(演示语法) SELECT 'ALTER TABLE orders PARTITION BY RANGE (YEAR(order_date))' AS partition_example;
十、其他实用特性
sql
下载
-- 10.1 多源复制配置语法 SELECT 'CHANGE MASTER TO MASTER_HOST="master1" FOR CHANNEL "channel1"' AS multi_source_repl; -- 10.2 在线DDL进度监控 SELECT 'SELECT * FROM information_schema.innodb_alter_table' AS online_ddl_monitor;
这些语句可以直接在 MySQL 5.7 中执行,无需创建任何表,涵盖了:
-
JSON 功能
-
安全性增强
-
InnoDB 改进
-
优化器特性
-
GIS 地理信息支持
-
性能监控相关
-
SQL 模式变化
-
分区表语法
-
复制增强特性
注意:部分查询如 sys schema 和 performance_schema 需要对应权限才能查看完整结果。