一、SQL查询重复的数据:
1、SQL格式:
Select * From 数据表 Where 重复记录字段 in ( select 重复记录字段 From 数据表 Group By 重复记录字段 Having Count(重复记录字段)>1)
2、举例: 在这个patient_member_info表中,我们要对账号(username)进行查重。可以见到, “wjx”与“zhaolimin”是重复数据。接下来筛选出重复的数据。
2.1、此时我的SQL语句:
SELECT
*
FROM
patient_member_info
WHERE
username IN ( SELECT username FROM patient_member_info GROUP BY username HAVING COUNT( username ) > 1 );
2.2、查询结果:重复数据三条“wjx”与两条“zhaolimin”
二、根据列名模糊查询所属表、库信息
1、SQL格式:
SELECT
GROUP_CONCAT(column_name) AS '列名',
table_name AS '表名',
MAX(COLUMN_COMMENT) AS '信息', -- 使用聚合函数获取一个注释
TABLE_SCHEMA AS '数据库名称'
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA IN (SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA)
AND TABLE_NAME IN (SELECT TABLE_NAME FROM information_schema.TABLES GROUP BY TABLE_NAME)
AND column_name LIKE '%you_column_name%' -- 这个SQL中只有这个位置是变量,换为你想查询的列
GROUP BY
table_name, TABLE_SCHEMA; -- 按表名和数据库名称分组
2、举例:我现在需要查询列名为 pic 的信息
2.1、 此时我的SQL语句:
2.2、执行得到如下结果:
三、数据库copy表和数据
1、SQL格式:
CREATE TABLE a LIKE b;
INSERT INTO a SELECT
*
FROM
b;
2、 举例:在库中有一张b表,我需要将b表数据复制给另一个表(起名表a)
2.1、我的SQL:
-- 数据库 copy 表和数据
CREATE TABLE a LIKE b;
INSERT INTO a SELECT
*
FROM
b;
2.2、执行结果:copy成功