Description of Database Table

This section introduces you how to get the detailed
information about the database table. As we all know that, table has some
specific information like: field, type, null etc. But how to get all those
information by the database. By using a simple query we can get all information
about the table like the number of columns and rows in it, its type, whether the
field is null or not, whether the column is unique or primary and much more.
Description of program:
While making this program firstly we should establish the connection with MySQL database
through the JDBC driver. When the connection has been established, pass
the
table name in the database query and use some java methods to get the detail description of table.
When the program will gets execute then it will show field name, type and null of the database table.
If any field have null value then shows "YES"
and if not null then shows "NO". If any
problem is created at the time of query, it will show "SQL statement is
not executed!".
Description of code:
DESCRIBE table_name;
This code is used to know the brief description of a database table. It
takes the name of that table of which we want to see the description.
getColumns(String cat, String sche, String tab,
String col_pat)::
This method returns ResultSet object and provides descriptions of
table. It takes four string type arguments as given below:
String cat: This is a table
catalog. It may be null value.
String sche: It shows schema
of table. It may be null value.
String tab: This is a table
name. It must require for getting the information.
String col_pat: It shows
column name pattern.
COLUMN_NAME: Shows column name
TYPE_NAME: data types of column like: integer, varchar, char etc.
COLUMN_SIZE: Column size
NULLABLE: column can be null.
Here is the code of program:
import java.io.*;
import java.sql.*;
public class DiscriptionTable{
public static void main(String[] args) {
System.out.println("See Description of Table Example!");
Connection con = null;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection
("jdbc:mysql://localhost:3306/jdbctutorial","root","root");
try{
Statement st = con.createStatement();
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter table name:");
String table = bf.readLine();
ResultSet rs = st.executeQuery("DESCRIBE "+table);
ResultSetMetaData md = rs.getMetaData();
int col = md.getColumnCount();
for (int i = 1; i <= col; i++){
String col_name = md.getColumnName(i);
System.out.print(col_name+"\t");
}
System.out.println();
DatabaseMetaData dbm = con.getMetaData();
ResultSet rs1 = dbm.getColumns(null,"%",table,"%");
while (rs1.next()){
String col_name = rs1.getString("COLUMN_NAME");
String data_type = rs1.getString("TYPE_NAME");
int data_size = rs1.getInt("COLUMN_SIZE");
int nullable = rs1.getInt("NULLABLE");
System.out.print(col_name+"\t"+data_type+"("+data_size+")"+"\t");
if(nullable == 1){
System.out.print("YES\t");
}
else{
System.out.print("NO\t");
}
System.out.println();
}
}
catch (SQLException s){
System.out.println("SQL statement is not executed!");
}
}
catch (Exception e){
e.printStackTrace();
}
}
}
|
Download this example.
Output of program:
C:\vinod\jdbc\jdbc\jdbc-mysql>javac DiscriptionTable.java
C:\vinod\jdbc\jdbc\jdbc-mysql>java DiscriptionTable
See Description of Table Example!
Enter table name:
vk
Field Type
Null Key Default Extra
id int(11)
NO
name char(1) YES |

|
Current Comments
0 comments so far (post your own) View All Comments Latest 10 Comments: