{"id":11107,"date":"2021-05-05T11:15:56","date_gmt":"2021-05-05T02:15:56","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=11107"},"modified":"2021-05-05T11:28:04","modified_gmt":"2021-05-05T02:28:04","slug":"dbms-%ec%82%b4%ed%8e%b4%eb%b3%b4%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=11107","title":{"rendered":"DBMS \uc0b4\ud3b4\ubcf4\uae30"},"content":{"rendered":"<p>\uc6b4\uc601 \uc911\uc778 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 DBMS\ub97c \uc0b4\ud3b4\ubcf4\ub294 \ubc29\uc2dd\uc740 \ud574\ub2f9 DBMS\uc758 \ub0b4\uc6a9\uc744 \uae30\uc220\ud574 \ub193\uc740 \ubb38\uc11c\ub97c \ubcf4\uac70\ub098 \uc2e4\uc81c DBMS\uc5d0 \uc800\uc7a5\ub41c \ub370\uc774\ud130\ub97c DB \ud234\uc744 \ud1b5\ud574 \uc0b4\ud3b4\ubcf4\ub294 \ubc29\uc2dd\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud3ec\uc2a4\ud2b8\ub294 \uc6b4\uc601\uc911\uc778 DBMS\uc758 \ub0b4\uc6a9\uc744 \ubb38\uc11c\ub098 DB \ud234 \uc5c6\uc774 java \ucf54\ub4dc\ub97c \ud1b5\ud574 \uc0b4\ud3b4\ubcf4\ub294 \ub0b4\uc6a9\uc744 \uc815\ub9ac\ud55c \uae00\uc785\ub2c8\ub2e4.<\/p>\n<p>DBMS\ub97c \ud30c\uc545\ud568\uc5d0 \uc788\uc5b4\uc11c \uad00\ub828 \ubb38\uc11c\ub098 \ub2f4\ub2f9\uc790\uc758 \uc124\uba85 \uc5c6\uc774 \ud574\ub2f9 DBMS\uc5d0 \uc800\uc7a5\ub41c \ub370\uc774\ud130\ub97c \ud1b5\ud574 \ud30c\uc545\ud558\ub294 \uac83\uc740 \uc815\ud655\ud558\uc9c0 \uc54a\uc740 \ucd94\uce21\uc77c \uac00\ub2a5\uc131\uc774 \ud07d\ub2c8\ub2e4. \uad00\ub828 \ubb38\uc11c\ub098 \ub2f4\ub2f9\uc790\uc758 \uc124\uba85\uacfc DB \ud234\uc774\ub098 \uc774 \uae00\uc758 \ub0b4\uc6a9\uc744 \ud1b5\ud574 DBMS\uc5d0 \uc2e4\uc81c\ub85c \uc800\uc7a5\ub41c \ub370\uc774\ud130\ub97c \uc0b4\ud3b4\ubcf4\ub294 \uac83 \ubaa8\ub450\ub97c \ubcd1\ud589\ud558\uc5ec \ucf54\ub85c\uc2a4\uccb4\ud0b9(Cross Checking)\uc744 \ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\ud754\ud788 \uac00\uc7a5 \ub9ce\uc774 \uc0ac\uc6a9\ud558\ub294 DBMS\uc778 MySQL\uc744 \ud1a0\ub300\ub85c \ud558\uc600\uace0 Java\uc758 JDBC\ub97c \uc0ac\uc6a9\ud558\uc600\uc2b5\ub2c8\ub2e4. \ud14c\uc2a4\ud2b8\ud55c \uc11c\ubc84\uc758 MySQL\uc758 \ubc84\uc804\uc774 \ubb34\uc5c7\uc778\uc9c0\ub294 \ubaa8\ub974\uaca0\uc73c\ub098 \uc0ac\uc6a9\ud55c JDBC\uc5d0 \ub300\ud55c jar \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 mysql-connector-java-8.0.22.jar\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ud504\ub85c\uadf8\ub7a8\uc758 \uacb0\uacfc\ub294 \ud574\ub2f9 DBMS\ub97c JDBC\ub85c \uc5f0\uacb0\ud558\uace0 \ud574\ub2f9 DB\uc5d0 \uc800\uc7a5\ub41c \ud14c\uc774\ube14 \uc774\ub984\ub4e4\uc744 \uac00\uc838\uc628 \ud6c4 \uac01 \ud14c\uc774\ube14\uc5d0 \ub300\ud574 \ucd5c\uadfc\uc5d0 \uc800\uc7a5\ub41c \ub2e8 3\uac1c\uc758 \ud544\ub4dc\uac12\uc744 \uc9c0\uc815\ub41c \ud30c\uc77c\uc5d0 \uc800\uc7a5\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \ud14c\uc774\ube14\ub4e4\uc774 \ub9ce\uc744 \uacbd\uc6b0 \uc81c\uc678\ud560 \ud14c\uc774\ube14\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\npackage tstMySQL;\r\n\r\nimport java.io.File;\r\nimport java.io.FileWriter;\r\nimport java.io.PrintWriter;\r\nimport java.sql.Connection;\r\nimport java.sql.DriverManager;\r\nimport java.sql.PreparedStatement;\r\nimport java.sql.ResultSet;\r\nimport java.sql.ResultSetMetaData;\r\nimport java.util.ArrayList;\r\nimport java.util.Arrays;\r\nimport java.util.HashSet;\r\nimport java.util.Iterator;\r\nimport java.util.Set;\r\n\r\npublic class MainEntry {\r\n    public static void main(String[] args) {\r\n        File file = new File(\"d:\/text.txt\");\r\n        PrintWriter writer = null;\r\n\t\t\t\r\n        Connection con = null;\r\n        PreparedStatement pstmt = null;   \r\n        ResultSet rs = null;\r\n        try {\r\n            Class.forName(\"com.mysql.cj.jdbc.Driver\");\r\n            con = DriverManager.getConnection(\"jdbc:mysql:\/\/localhost:3306\/geos\", \"ID\", \"#PW\");\r\n            pstmt = con.prepareStatement(\"SHOW TABLES\");\r\n            rs = pstmt.executeQuery();\r\n            ArrayList&lt;String> tableNames = new ArrayList&lt;String>();\r\n            \r\n            while(rs.next()) {\r\n                String tableName = rs.getString(1);\r\n                tableNames.add(tableName);\r\n            }\r\n            \r\n            rs.close();\r\n            pstmt.close();\r\n            \r\n            writer = new PrintWriter(new FileWriter(file));\r\n            \r\n            String[] ignoredTablesArray = { \"etc\", \"abc\" };\r\n            Set&lt;String> ignoredTables = new HashSet&lt;String>(Arrays.asList(ignoredTablesArray));\r\n            \r\n            Iterator&lt;String> iter = tableNames.iterator();\r\n            while(iter.hasNext()) {\r\n            \tString tableName = iter.next();\r\n            \tif(ignoredTables.contains(tableName)) continue;\r\n            \t\r\n            \twriter.println(\"# TableName : \" + tableName);\r\n            \r\n            \tpstmt = con.prepareStatement(\"SELECT * FROM \" + tableName + \" ORDER BY ID DESC LIMIT 3\");\r\n            \trs = pstmt.executeQuery();\r\n            \tResultSetMetaData rsmd = rs.getMetaData();        \r\n                int fieldCount = rsmd.getColumnCount();\r\n\r\n                while(rs.next()) {\r\n                    for(int iField=0; iField&lt;fieldCount; iField++) {\r\n                        Object obj = rs.getObject(iField+1);\r\n                        String value = obj == null ? \"NULL\" : obj.toString();\r\n                        String fieldName = rsmd.getColumnName(iField+1);\r\n                        writer.println(\"  \" + fieldName + \" : \" + value);\r\n                    }\r\n                    writer.println();\r\n                }\r\n\r\n                rs.close();\r\n                pstmt.close();\r\n                            }\r\n        } catch(Exception e) {\r\n            e.printStackTrace();\r\n        } finally {\r\n            try {\r\n                if(rs != null) rs.close();\r\n                if(pstmt != null)pstmt.close();\r\n                if(con != null) con.close();\r\n                if(writer != null) writer.close();\r\n            } catch (Exception e) {\r\n                e.printStackTrace();\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>27\ubc88 \ucf54\ub4dc\uc5d0 DBMS \uc5f0\uacb0\uc744 \uc704\ud55c \uc815\ubcf4\ub97c \uc815\ud655\ud788 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4. 42\ubc88 \ucf54\ub4dc\ub294 \ud30c\uc545\ud560 \ud544\uc694\uac00 \uc5c6\ub294 \ud14c\uc774\ube14\uc758 \uc774\ub984\uc73c\ub85c \ubcc0\uacbd\ud558\uba74 \ub418\uad6c\uc694. 52\ubc88\uc9f8 \ucf54\ub4dc\uc5d0\uc11c \uac01 \ud14c\uc774\ube14\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf4\uace0\uc790 \ud558\ub294 SQL \ubb38\uc744 \uc9c0\uc815\ud558\uace0 \uc788\ub294\ub370\uc694. \uc5ec\uae30\uc11c\ub294 \ucd5c\uadfc\uc5d0 \uc800\uc7a5\ub41c 3\uac1c\uc758 \ub808\ucf54\ub4dc\ub9cc\uc744 \uc870\ud68c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubd80\ubd84\uc740 DBMS\uc758 \ud14c\uc774\ube14\uc5d0 \ub9de\ub294 \ucffc\ub9ac\ub85c \uad6c\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. \ucd5c\uc885 \uacb0\uacfc\ub294 19\ubc88 \ucf54\ub4dc\uc5d0\uc11c \uc9c0\uc815\ud55c D:\/text.txt \ud30c\uc77c\ub85c \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc6b4\uc601 \uc911\uc778 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 DBMS\ub97c \uc0b4\ud3b4\ubcf4\ub294 \ubc29\uc2dd\uc740 \ud574\ub2f9 DBMS\uc758 \ub0b4\uc6a9\uc744 \uae30\uc220\ud574 \ub193\uc740 \ubb38\uc11c\ub97c \ubcf4\uac70\ub098 \uc2e4\uc81c DBMS\uc5d0 \uc800\uc7a5\ub41c \ub370\uc774\ud130\ub97c DB \ud234\uc744 \ud1b5\ud574 \uc0b4\ud3b4\ubcf4\ub294 \ubc29\uc2dd\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud3ec\uc2a4\ud2b8\ub294 \uc6b4\uc601\uc911\uc778 DBMS\uc758 \ub0b4\uc6a9\uc744 \ubb38\uc11c\ub098 DB \ud234 \uc5c6\uc774 java \ucf54\ub4dc\ub97c \ud1b5\ud574 \uc0b4\ud3b4\ubcf4\ub294 \ub0b4\uc6a9\uc744 \uc815\ub9ac\ud55c \uae00\uc785\ub2c8\ub2e4. DBMS\ub97c \ud30c\uc545\ud568\uc5d0 \uc788\uc5b4\uc11c \uad00\ub828 \ubb38\uc11c\ub098 \ub2f4\ub2f9\uc790\uc758 \uc124\uba85 \uc5c6\uc774 \ud574\ub2f9 DBMS\uc5d0 \uc800\uc7a5\ub41c \ub370\uc774\ud130\ub97c \ud1b5\ud574 \ud30c\uc545\ud558\ub294 \uac83\uc740 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=11107\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;DBMS \uc0b4\ud3b4\ubcf4\uae30&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60],"tags":[],"class_list":["post-11107","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/11107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11107"}],"version-history":[{"count":13,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/11107\/revisions"}],"predecessor-version":[{"id":11115,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/11107\/revisions\/11115"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11107"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}