In this section we will discuss how can we set the default value of a column.
MySql ALTER COLUMN SET DEFAULT using Java Servlet
In this section we will discuss how can we set the default value of a column.
Default value of a column is the value which is added into the new records or existing record if the value is not specified. The default constraint can be set at the time of table creation and can also in the pre existed table. To set the default value in pre existed table ALTER is used. Since we have to use this query in java program therefore, we have to make a java program and will have to establish a connection to use SQL query in java program. I have a table named 'employee' into which I want to set the default value of the column department = 'devlopment'. So, I created a class named MysqlAlterColumnSetDefaultServlet which extends the HttpServlet class. In the body of class I overridden the method doGet() and created an objects of HttpServletRequest and HttpServletResponse into its parameter. Inside the doGet() method first I set the mime type that in which format the browser will show the output. In the next line I used the getWriter() method of ServletResponse interface with the object of HttpServletResponse. HttpServletResponse interface extends this method from the ServletResponse. In continue since we have to use a SQL query so at first we will have to make a connection between java code and database system. I am using here Mysql so in the example given below I am loading the driver of mysql and make a connection by using the getConnection() method of DriverManager class. It returns a Connection. Further I passed the query "ALTER TABLE employee ALTER Department SET DEFAULT ' Development ' " into the parameter of prepareStatement() method of Connection interface which gives an object of PreparedStatement interface. In the next line I used the executeUpdate() method of PreparedStatement interface which returns an integer value of row affected.
Example :
MysqlAlterColumnSetDefaultServlet.java
import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.sql.DriverManager; import java.sql.Connection; import java.sql.PreparedStatement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MysqlAlterColumnSetDefaultServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { res.setContentType("text/html"); PrintWriter pw = res.getWriter(); String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://192.168.10.13/data"; String uid = "root"; String psw = "root"; String sql = "ALTER TABLE employee ALTER Department SET DEFAULT 'Development'"; try { Class.forName(driver); Connection con = DriverManager.getConnection(url,uid,psw); PreparedStatement ps = con.prepareStatement(sql); int i = ps.executeUpdate(); pw.println(i +" row(s) affected"); } catch(SQLException sx) { pw.println(sx); } catch(ClassNotFoundException cx) { pw.println(cx); } } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>join</display-name> <servlet> <servlet-name> MysqlAlterColumnSetDefaultServlet </servlet-name> <servlet-class> MysqlAlterColumnSetDefaultServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> MysqlAlterColumnSetDefaultServlet </servlet-name> <url-pattern> /MysqlAlterColumnSetDefaultServlet </url-pattern> </servlet-mapping> </web-app>
Output :
1. When you will see the description of table employee, you will see that there is null in the column default of the field department as :
2. When you will execute the above example you will get the output as :
3. After executing the above example when you will see the description of table employee you will see that the null is replaced by the value 'devlopment' in the column default of the field department as :
[ 0 ] Comments