mySql笔记

根据字段或表名查找表

当数据库表多,且不了解表结构时可以用这种方式查找

  • 根据字段查表
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 TABLE [IF EXISTS] <表名1>
DROP TABLE IF EXISTS `biz_room`;

函数

  • 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
-- 打印  张三/李四/王五

你可能感兴趣的:(mysql,mysql,笔记)