根据字段或表名查找表
当数据库表多,且不了解表结构时可以用这种方式查找
- 根据字段查表
SELECT DISTINCT
TABLE_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME LIKE '%[字段]%'
AND TABLE_SCHEMA = [数据库];
- 根据表名查表
SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_NAME LIKE '%[表名]%'
AND TABLE_SCHEMA = [数据库];
触发器
- 查看数据库中的触发器
SHOW TRIGGERS;
- 查看触发器详情
SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名称';
- 如果表存在 删除表
-- DROP TRIGGER [IF EXISTS] <触发器名>
DROP TRIGGER IF EXISTS `update_student`;
函数
- Group_Concat()
GROUP_CONCAT([DISTINCT] 要连接的字段 [ORDER BY 排序字段 ASC/DESC] [SEPARATOR ‘分隔符’])
GROUP_CONCAT函数忽略NULL值,如果找不到匹配的行,或者所有参数都为NULL值,则返回NULL。
关键字 | 释义 |
---|---|
DISTINCT | 用于在连接字符串之前消除组内的重复值 |
ORDER BY | 允许在连接组内字符串前,按升序或者降序排序。默认情况下,它按升序排序值。如果按降序对值进行排序,则需明确指定DESC 选项。 |
SEPARATOR | 指定在组中的值中间插入的分隔符,如果不指定分隔符,则函数使用逗号,作为默认分隔符 |
示例
select
GROUP_CONCAT(DISTINCT tu.user_name SEPARATOR '/') AS `userNames`
from
tab_xxx
-- 打印 张三/李四/王五