MySQL元數據操作:查詢 MySQL 空表,擁有某字段的表,等


1、查詢MySQL庫下所有表名,數據不為空的表,反之查詢為空的表

SELECT
    table_name,
    table_rows
FROM
    information_schema. TABLES
WHERE
    table_schema = 'ahbo'
AND table_rows < 1;

 

 

 

 

2、查詢指定庫擁有某字段的表

SELECT DISTINCT
    TABLE_NAME
FROM
    information_schema. COLUMNS
WHERE
    COLUMN_NAME = 'columnName'
AND TABLE_SCHEMA = 'dbName'
AND TABLE_NAME NOT LIKE 'vw%';

 

 

3、修改指定數據庫中所有varchar類型的表字段的字符集為UTF8,並將排序規則修改為utf8_general_ci

SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, '(', CHARACTER_MAXIMUM_LENGTH, ') CHARACTER SET UTF8 COLLATE utf8_general_ci', (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END), ';')
別名
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'SchoolUserOnline_20170416'
AND DATA_TYPE = 'varchar'
AND
(
    CHARACTER_SET_NAME != 'utf8'
    OR
    COLLATION_NAME != 'utf8_general_ci'
);

 

 

4、修改指定數據庫中所有數據表的字符集為UTF8,並將排序規則修改為utf8_general_ci

SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET  utf8 COLLATE utf8_unicode_ci;')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'databaseName'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM