DB

mariaDB - DB 옮기기

모르는 개발자 2024. 1. 8. 11:24
스키마의 모든 테이블 이름 조회
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '원본스키마';
더보기

다른 방법

USE 원본스키마;
SHOW TABLES;

 

테이블 생성 및 내용 복사
CREATE TABLE 사본스키마.테이블명 AS SELECT * FROM 원본스키마.테이블명;

 

자동화
더보기
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '원본스키마';

 을 실행 후 나온 테이블 명을 복사하면 바로 CREATE문을 반환해주는 HTML코드

원본스키마, 사본스키마 2개의 스키마명만 자신에 맞게 바꿔주면 자동화 성공

 

<!DOCTYPE html>
<html>
    <head>
        <title>Create SQL Queries</title>
        <script>
            function createSQLQueries() {
                const tableNames = document.getElementById('tableNames').value.split('\n');
                const date = new Date();
                const year = date.getFullYear();
                let month = date.getMonth() + 1;
                let day = date.getDate();

                month = month < 10 ? '0' + month : month;
                day = day < 10 ? '0' + day : day;

                const formattedDate = '' + year + month + day;

                let queries = '';
                tableNames.forEach((tableName) => {
                    queries += `CREATE TABLE 사본스키마.${tableName.trim()}_${formattedDate} AS SELECT * FROM 원본스키마.${tableName.trim()};\n`;
                });

                document.getElementById('sqlQueries').value = queries;
            }
        </script>
    </head>
    <body>
        <h1>Create SQL Queries</h1>
        <textarea id="tableNames" rows="10" cols="30" placeholder="Enter table names, one per line..."></textarea>
        <button onclick="createSQLQueries()">Generate Queries</button>
        <textarea id="sqlQueries" rows="10" cols="50" readonly></textarea>
		<p>SELECT table_name FROM information_schema.tables WHERE table_schema = '원본스키마';</p>
		<p>위 쿼리 결과물을 복붙한다음 사용하세요. 아래 2개를 쓰셔도 됩니다.</p>
		<p>USE 원본스키마;</p>
		<p>SHOW TABLES;</p>
    </body>
</html>