Created
March 6, 2018 02:57
-
-
Save jfriv/f7c7834a44a7a3ef8a6ac03c5b920953 to your computer and use it in GitHub Desktop.
MySQL export all foreign keys for a database into a csv file with header row
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT 'TABLE_SCHEMA', 'TABLE_NAME', 'CONSTRAINT_NAME', 'REFERENCED_TABLE_NAME', 'UNIQUE_CONSTRAINT_NAME', 'UNIQUE_CONSTRAINT_SCHEMA', 'UPDATE_RULE', 'DELETE_RULE' | |
UNION ALL | |
SELECT kcu.TABLE_SCHEMA, kcu.TABLE_NAME, kcu.CONSTRAINT_NAME, kcu.REFERENCED_TABLE_NAME, rc.UNIQUE_CONSTRAINT_NAME, rc.UNIQUE_CONSTRAINT_SCHEMA, rc.UPDATE_RULE, rc.DELETE_RULE | |
INTO OUTFILE '/tmp/fk_audit_mydatabase.csv' | |
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' | |
LINES TERMINATED BY '\n' | |
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu | |
JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc ON (rc.CONSTRAINT_NAME=kcu.CONSTRAINT_NAME) | |
WHERE kcu.TABLE_SCHEMA='mydatabase' AND kcu.REFERENCED_TABLE_NAME IS NOT NULL | |
ORDER BY kcu.TABLE_NAME; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment