Chúng ta sẽ thấy ở đây cách hiển thị tất cả các bảng bên trong cơ sở dữ liệu MySQL bằng Java. Bạn có thể sử dụng lệnh show từ MySQL để lấy tất cả các bảng bên trong cơ sở dữ liệu MySQL.
Giả sử cơ sở dữ liệu của chúng tôi là "thử nghiệm". Mã Java như sau để hiển thị tất cả các tên bảng bên trong một cơ sở dữ liệu "test".
Mã Java như sau. Tại đây, kết nối được thiết lập giữa MySQL và Java -
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Connection; import com.mysql.jdbc.DatabaseMetaData; public class GetAllTables { public static void main(String[] args) throws SQLException { Connection conn = null; try { try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { System.out.println(e); } conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/test", "Manish", "123456"); System.out.println("Connection is created succcessfully:"); } catch (Exception e) { System.out.println(e); } ResultSet rs = null; DatabaseMetaData meta = (DatabaseMetaData) conn.getMetaData(); rs = meta.getTables(null, null, null, new String[] { "TABLE" }); int count = 0; System.out.println("All table names are in test database:"); while (rs.next()) { String tblName = rs.getString("TABLE_NAME"); System.out.println(tblName); count++; } System.out.println(count + " Rows in set "); } }
Sau đây là kết quả hiển thị tất cả bảng từ kiểm tra cơ sở dữ liệu -
Wed Dec 12 14:55:28 IST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL = false, or set useSSL = true and provide truststore for server certificate verification. Connection is created succcessfully: All table names are in test database: add30minutesdemo addcolumn addoneday agecalculatesdemo aliasdemo allcharacterbeforespace allownulldemo appendingdatademo autoincrementdemo betweendatedemo bigintandintdemo bigintdemo bookdatedemo changecolumnpositiondemo changeenginetabledemo charsetdemo concatenatetwocolumnsdemo constraintdemo cumulativesumdemo currentdatetimedemo customers dateasstringdemo dateformatdemo dateinsertdemo datesofoneweek datetimedemo dayofweekdemo decimaltointdemo decrementdemo defaultdemo deleteallfromtable deletemanyrows destination differencetimestamp distinctdemo employee employeedesignation findlowercasevalue generatingnumbersdemo gmailsignin groupbytwofieldsdemo groupmonthandyeardemo highestidorderby highestnumberdemo ifnulldemo increasevarchardemo insert insertignoredemo insertwithmultipleandsigle int11demo intvsintanythingdemo lasttwocharacters likebinarydemo likedemo maxlengthfunctiondemo moviecollectiondemo myisamtoinnodbdemo newtableduplicate notequalsdemo nowandcurdatedemo nthrecorddemo nullandemptydemo orderbycharacterlength orderbynullfirstdemo orderindemo originaltable parsedatedemo passinganarraydemo persons prependstringoncolumnname pricedemo queryresultdemo replacedemo rowexistdemo rowpositiondemo rowwithsamevalue safedeletedemo searchtextdemo selectdataonyearandmonthdemo selectdistincttwocolumns selectdomainnameonly sha256demo skiplasttenrecords sortcolumnzeroatlastdemo storedproctable stringreplacedemo stringtodate student studentdemo studentmodifytabledemo studenttable subtract3hours temporarycolumnwithvaluedemo timetosecond timetoseconddemo toggledemo toogledemo truncatetabledemo updatealldemo updatevalueincrementally wheredemo wholewordmatchdemo zipcodepadwithzerodemo 103 Rows in set
Để kiểm tra chéo, hãy sử dụng lệnh show MySQL để hiển thị tất cả các bảng bên trong cơ sở dữ liệu “kiểm tra”. Truy vấn như sau -
mysql> use test; Database changed mysql> show tables;
Sau đây là kết quả -
+------------------------------+ | Tables_in_test | +------------------------------+ | add30minutesdemo | | addcolumn | | addoneday | | agecalculatesdemo | | aliasdemo | | allcharacterbeforespace | | allownulldemo | | appendingdatademo | | autoincrementdemo | | betweendatedemo | | bigintandintdemo | | bigintdemo | | bookdatedemo | | changecolumnpositiondemo | | changeenginetabledemo | | charsetdemo | | concatenatetwocolumnsdemo | | constraintdemo | | cumulativesumdemo | | currentdatetimedemo | | customers | | dateasstringdemo | | dateformatdemo | | dateinsertdemo | | datesofoneweek | | datetimedemo | | dayofweekdemo | | decimaltointdemo | | decrementdemo | | defaultdemo | | deleteallfromtable | | deletemanyrows | | destination | | differencetimestamp | | distinctdemo | | employee | | employeedesignation | | findlowercasevalue | | generatingnumbersdemo | | gmailsignin | | groupbytwofieldsdemo | | groupmonthandyeardemo | | highestidorderby | | highestnumberdemo | | ifnulldemo | | increasevarchardemo | | insert | | insertignoredemo | | insertwithmultipleandsigle | | int11demo | | intvsintanythingdemo | | lasttwocharacters | | likebinarydemo | | likedemo | | maxlengthfunctiondemo | | moviecollectiondemo | | myisamtoinnodbdemo | | newtableduplicate | | notequalsdemo | | nowandcurdatedemo | | nthrecorddemo | | nullandemptydemo | | orderbycharacterlength | | orderbynullfirstdemo | | orderindemo | | originaltable | | parsedatedemo | | passinganarraydemo | | persons | | prependstringoncolumnname | | pricedemo | | queryresultdemo | | replacedemo | | rowexistdemo | | rowpositiondemo | | rowwithsamevalue | | safedeletedemo | | searchtextdemo | | selectdataonyearandmonthdemo | | selectdistincttwocolumns | | selectdomainnameonly | | sha256demo | | skiplasttenrecords | | sortcolumnzeroatlastdemo | | storedproctable | | stringreplacedemo | | stringtodate | | student | | studentdemo | | studentmodifytabledemo | | studenttable | | subtract3hours | | temporarycolumnwithvaluedemo | | timetosecond | | timetoseconddemo | | toggledemo | | toogledemo | | truncatetabledemo | | updatealldemo | | updatevalueincrementally | | wheredemo | | wholewordmatchdemo | | zipcodepadwithzerodemo | +------------------------------+ 103 rows in set (0.01 sec)
Như bạn có thể thấy ở trên, cả hai đều cho kết quả giống nhau.