Category: apache Derby

  • Khóa học miễn phí Apache Derby – Delete Data nhận dự án làm có lương

    Apache Derby – Delete Data



    The DELETE statement is used to delete rows of a table. Just like the UPDATE statement, Apache Derby provides two types of Delete (syntax): searched delete and positioned delete.

    The searched delete statement deletes all the specified columns of a table.

    Syntax

    The syntax of the DELETE statement is as follows −

    ij> DELETE FROM table_name WHERE condition;
    

    Example

    Let us suppose we have a table named employee with 5 records as shown below −

    ID |NAME     |SALARY |LOCATION
    ----------------------------------------------------------------------------
    1  |Amit     |30000  |Hyderabad
    2  |Kalyan   |40000  |Vishakhapatnam
    3  |Renuka   |50000  |Delhi
    4  |Archana  |15000  |Mumbai
    5  |Trupti   |45000  |Kochin
    5 rows selected
    

    The following SQL DELETE statement deletes the record with name Trupti.

    ij> DELETE FROM Employees WHERE Name = ''Trupti
    1 row inserted/updated/deleted
    

    If you get the contents of the Employees table, you can see only four records as shown below −

    ID |NAME    |SALARY |LOCATION
    ----------------------------------------------------------------------------
    1  |Amit    |30000  |Hyderabad
    2  |Kalyan  |40000  |Vishakhapatnam
    3  |Renuka  |50000  |Delhi
    4  |Archana |15000  |Mumbai
    4 rows selected
    

    To delete all the records in the table, execute the same query without where clause.

    ij> DELETE FROM Employees;
    4 rows inserted/updated/deleted
    

    Now, if you try to get the contents of the Employee table, you will get an empty table as given below −

    ij> select * from employees;
    ID |NAME |SALARY |LOCATION
    --------------------------------------------------------
    0 rows selected
    

    Delete Data using JDBC program

    This section explains how to delete the existing records of a table in Apache Derby database using JDBC application.

    If you want to request the Derby network server using network client, make sure that the server is up and running. The class name for the Network client driver is org.apache.derby.jdbc.ClientDriver and the URL is jdbc:derby://localhost:1527/DATABASE_NAME;create=true;user=USER_NAME;password=PASSWORD“.

    Follow the steps given below to delete the existing records of a table in Apache Derby:

    Step 1: Register the driver

    Firstly, you need to register the driver to communicate with the database. The forName() method of the class Class accepts a String value representing a class name loads it in to the memory, which automatically registers it. Register the driver using this method.

    Step 2: Get the connection

    In general, the first step we do to communicate to the database is to connect with it. The Connection class represents physical connection with a database server. You can create a connection object by invoking the getConnection() method of the DriverManager class. Create a connection using this method.

    Step 3: Create a statement object

    You need to create a Statement or PreparedStatement or, CallableStatement objects to send SQL statements to the database. You can create these using the methods createStatement(), prepareStatement() and, prepareCall() respectively. Create either of these objects using the appropriate method.

    Step 4: Execute the query

    After creating a statement, you need to execute it. The Statement class provides various methods to execute a query like the execute() method to execute a statement that returns more than one result set. The executeUpdate() method executes queries like INSERT, UPDATE, DELETE. The executeQuery() method results that returns data. Use either of these methods and execute the statement created previously.

    Example

    Following JDBC example demonstrates how to delete the existing records of a table in Apache Derby using JDBC program. Here, we are connecting to a database named sampleDB (will create if it does not exist) using the embedded driver.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class DeleteData {
       public static void main(String args[]) throws Exception {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
          //Getting the Connection object
          String URL = "jdbc:derby:sampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
          //Creating a table and populating it
          String query = "CREATE TABLE Employees("
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))";
          String query = "INSERT INTO Employees("
             + "Name, Salary, Location) VALUES "
             + "(''Amit'', 30000, ''Hyderabad''), "
             + "(''Kalyan'', 40000, ''Vishakhapatnam''), "
             + "(''Renuka'', 50000, ''Delhi''), "
             + "(''Archana'', 15000, ''Mumbai''), "
             + "(''Trupthi'', 45000, ''Kochin''), "
             + "(''Suchatra'', 33000, ''Pune''), "
             + "(''Rahul'', 39000, ''Lucknow''), "
             + "(''Trupthi'', 45000, ''Kochin'')";
          //Executing the query
          String query = "DELETE FROM Employees WHERE Name = ''Trupthi''";
          int num = stmt.executeUpdate(query);
          System.out.println("Number of records deleted are: "+num);
       }
    }
    

    Output

    On executing the above program, you will get the following output −

    Number of records deleted are: 1
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – Retrieve Data nhận dự án làm có lương

    Apache Derby – Retrieve Data



    The SELECT statement is used to retrieve data from a table. This returns the data in the form of a table known as result set.

    Syntax

    Following is the syntax of the SELECT statement −

    ij> SELECT column_name, column_name, ... FROM table_name;
    Or,
    Ij>SELECT * from table_name
    

    Example

    Let us suppose we have a table named Employees in the database as shown below −

    ij> CREATE TABLE Employees (
       Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
       Name VARCHAR(255),
       Salary INT NOT NULL,
       Location VARCHAR(255),
       PRIMARY KEY (Id)
    );
    > > > > > > > 0 rows inserted/updated/deleted
    

    And, inserted four records in it as shown below −

    ij> INSERT INTO Employees (Name, Salary, Location) VALUES
       (''Amit'', 30000, ''Hyderabad''),
       (''Kalyan'', 40000, ''Vishakhapatnam''),
       (''Renuka'', 50000, ''Delhi''),
       (''Archana'', 15000, ''Mumbai'');
    > > > > 4 rows inserted/updated/deleted
    

    The following SQL statement retrieves the name, age and salary details of all the employees in the table:

    ij> SELECT Id, Name, Salary FROM Employees;
    

    The output of this query is −

    ID|NAME   |SALARY
    ------------------------------------------------------------------------
    1 |Amit   |30000
    2 |Kalyan |40000
    3 |Renuka |50000
    4 |Archana|15000
    4 rows selected
    

    If you want to get all the records of this table at once, use * instead of the names of the columns.

    ij> select * from Employees;
    

    This will produce the following result −

    ID |NAME    |SALARY |LOCATION
    ------------------------------------------------------------------
    1  |Amit    |30000  |Hyderabad
    2  |Kalyan  |40000  |Vishakhapatnam
    3  |Renuka  |50000  |Delhi
    4  |Archana |15000  |Mumbai
    4 rows selected
    

    Retrieve Data using JDBC program

    This section teaches you how to Retrieve data from a table in Apache Derby database using JDBC application.

    If you want to request the Derby network server using network client, make sure that the server is up and running. The class name for the Network client driver is org.apache.derby.jdbc.ClientDriver and the URL is jdbc:derby://localhost:1527DATABASE_NAME;create=true;user=USER_NAME;passw ord=PASSWORD

    Follow the steps given below to Retrieve data from a table in Apache Derby −

    Step 1: Register the driver

    To communicate with the database, first of all, you need to register the driver. The forName() method of the class Class accepts a String value representing a class name loads it in to the memory, which automatically registers it. Register the driver using this method.

    Step 2: Get the connection

    In general, the first step we do to communicate to the database is to connect with it. The Connection class represents the physical connection with a database server. You can create a connection object by invoking the getConnection() method of the DriverManager class. Create a connection using this method.

    Step 3: Create a statement object

    You need to create a Statement or PreparedStatement or, CallableStatement objects to send SQL statements to the database. You can create these using the methods createStatement(), prepareStatement() and, prepareCall() respectively. Create either of these objects using the appropriate method.

    Step 4: Execute the query

    After creating a statement, you need to execute it. The Statement class provides various methods to execute a query like the execute() method to execute a statement that returns more than one result set. The executeUpdate() method executes queries like INSERT, UPDATE, DELETE. The executeQuery() method to results that returns data etc. Use either of these methods and execute the statement created previously.

    Example

    Following JDBC example demonstrates how to Retrieve data from a table in Apache Derby using JDBC program. Here, we are connecting to a database named sampleDB (will create if it does not exist) using the embedded driver.

    The executeQuery() method returns a ResultSet object which holds the result of the statement. Initially the result set pointer will be at the first record, you can print the contents of the ResultSet object using its next() and getXXX() methods.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class RetrieveData {
       public static void main(String args[]) throws SQLException,
          ClassNotFoundException {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
          //Getting the Connection object
          String URL = "jdbc:derby:sampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          4Statement stmt = conn.createStatement();
    
          //Creating a table and populating it
          String query = "CREATE TABLE Employees("
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))";
          String query = "INSERT INTO Employees("
             + "Name, Salary, Location) VALUES "
             + "(''Amit'', 30000, ''Hyderabad''), "
             + "(''Kalyan'', 40000, ''Vishakhapatnam''), "
             + "(''Renuka'', 50000, ''Delhi''), "
             + "(''Archana'', 15000, ''Mumbai''), "
             + "(''Trupthi'', 45000, ''Kochin''), "
             + "(''Suchatra'', 33000, ''Pune''), "
             + "(''Rahul'', 39000, ''Lucknow''), "
             + "(''Trupti'', 45000, ''Kochin'')";
          //Executing the query
          String query = "SELECT Id, Name, Salary FROM Employees";
          ResultSet rs = stmt.executeQuery(query);
          while(rs.next()) {
             System.out.println("Id: "+rs.getString("Id"));
             System.out.println("Name: "+rs.getString("Name"));
             System.out.println("Salary: "+rs.getString("Salary"));
             System.out.println(" ");
          }
       }
    }
    

    Output

    On executing the above program, you will get the following output.

    Id: 1
    Name: Amit
    Salary: 30000
    
    Id: 2
    Name: Kalyan
    Salary: 43000
    
    Id: 3
    Name: Renuka
    Salary: 50000
    
    Id: 4
    Name: Archana
    Salary: 15000
    
    Id: 5
    Name: Trupthi
    Salary: 45000
    
    Id: 6
    Name: Suchatra
    Salary: 33000
    
    Id: 7
    Name: Rahul
    Salary: 39000
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – GROUP BY Clause nhận dự án làm có lương

    Apache Derby – GROUP BY Clause



    The GROUP BY clause is used with SELECT statements. It is used to form subsets in case of identical data. Usually, this clause is followed by ORDER BY clause and placed after the WHERE clause.

    Syntax

    Following is the syntax of GROUP BY clause −

    ij>SELECT column1, column2, . . . table_name GROUP BY column1, column2, . . .;
    

    Example

    Suppose we have a table named Employees in the database with the following records −

    ID |NAME    |SALARY |LOCATION
    ------------------------------------------------------------------
    1  |Amit    |30000  |Hyderabad
    2  |Rahul   |39000  |Lucknow
    3  |Renuka  |50000  |Hyderabad
    4  |Archana |15000  |Vishakhapatnam
    5  |Kalyan  |40000  |Hyderabad
    6  |Trupthi |45000  |Vishakhapatnam
    7  |Raghav  |12000  |Lucknow
    8  |Suchatra|33000  |Vishakhapatnam
    9  |Rizwan  |20000  |Lucknow
    

    The following SELECT statement with GROUP BY clause groups the table based on location. It displays the total amount of salary given to employees at a location.

    ij> SELECT Location, SUM(Salary) from Employees GROUP BY Location;
    

    This will generate the following output −

    LOCATION        |2
    -------------------------------------------------------
    Hyderabad       |120000
    Lucknow         |71000
    Vishakhapatnam  |93000
    3 rows selected
    

    In the same way, following query finds the average amount spent on the employees as salary in a location.

    ij> SELECT Location, AVG(Salary) from Employees GROUP BY Location;
    

    This will generate the following output −

    LOCATION        |2
    -----------------------------------------------------
    Hyderabad       |40000
    Lucknow         |23666
    Vishakhapatnam  |31000
    3 rows selected
    

    Group By clause JDBC example

    This section teaches you how to use Group By clause and perform CURD operations on a table in Apache Derby database using JDBC application.

    If you want to request the Derby network server using network client, make sure that the server is up and running. The class name for the Network client driver is org.apache.derby.jdbc.ClientDriver and the URL is jdbc:derby://localhost:1527/DATABASE_NAME;create=true;user=USER_NAME;password=PASSWORD

    Follow the steps given below to use Group By clause and perform CURD operations on a table in Apache Derby

    Step 1: Register the driver

    To communicate with the database, first of all, you need to register the driver. The forName() method of the class Class accepts a String value representing a class name loads it in to the memory, which automatically registers it. Register the driver using this method.

    Step 2: Get the connection

    In general, the first step we do to communicate to the database is to connect with it. The Connection class represents the physical connection with a database server. You can create a connection object by invoking the getConnection() method of the DriverManager class. Create a connection using this method.

    Step 3: Create a statement object

    You need to create a Statement or PreparedStatement or, CallableStatement objects to send SQL statements to the database. You can create these using the methods createStatement(), prepareStatement() and, prepareCall() respectively. Create either of these objects using the appropriate method.

    Step 4: Execute the query

    After creating a statement, you need to execute it. The Statement class provides various methods to execute a query like the execute() method to execute a statement that returns more than one result set. The executeUpdate() method is used to execute queries like INSERT, UPDATE, DELETE. The executeQuery() method returns data. Use either of these methods and execute the statement created previously.

    Example

    Following JDBC example demonstrates how to use Group By clause and perform CURD operations on a table in Apache Derby using JDBC program. Here, we are connecting to a database named sampleDB (will create if it does not exist) using the embedded driver.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    public class GroupByClauseExample {
       public static void main(String args[]) throws Exception {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
    
          //Getting the Connection object
          String URL = "jdbc:derby:sampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
    
          //Creating a table and populating it
          stmt.execute("CREATE TABLE EmployeesData( "
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), "
             + "Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))");
          stmt.execute("INSERT INTO EmployeesData(Name, Salary, Location) "
             + "VALUES (''Amit'', 30000, ''Hyderabad''), "
             + "(''Rahul'', 39000, ''Lucknow''), "
             + "(''Renuka'', 50000, ''Hyderabad''), "
             + "(''Archana'', 15000, ''Vishakhapatnam''), "
             + "(''Kalyan'', 40000, ''Hyderabad''), "
             + "(''Trupthi'', 45000, ''Vishakhapatnam''), "
             + "(''Raghav'', 12000, ''Lucknow''), "
             + "(''Suchatra'', 33000, ''Vishakhapatnam''), "
             + "(''Rizwan'', 20000, ''Lucknow'')");
    
          //Executing the query
          String query = "SELECT Location, SUM(Salary) from EmployeesData GROUP BY Location";
          ResultSet rs = stmt.executeQuery(query);
          while(rs.next()) {
             System.out.println("Location: "+rs.getString(1));
             System.out.println("Sum of salary: "+rs.getString(2));
             System.out.println(" ");
          }
       }
    }
    

    Output

    On executing the above program, you will get the following output −

    Location: Hyderabad
    Sum of salary: 120000
    
    Location: Lucknow
    Sum of salary: 71000
    
    Location: Vishakhapatnam
    Sum of salary: 93000
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – Update Data nhận dự án làm có lương

    Apache Derby – Update Data



    The UPDATE statement is used to update data in a table. Apache Derby provides two types of updates (syntax) namely searched update and positioned update.

    The searched UPDATE statement updates all the specified columns of a table.

    Syntax

    Following is the syntax of the UPDATE query −

    ij> UPDATE table_name
       SET column_name = value, column_name = value, ...
       WHERE conditions;
    

    The WHERE clause can use the comparison operators such as =, !=, <, >, <=, and >=, as well as the BETWEEN and LIKE operators.

    Example

    Suppose you have a table Employee in the database with the 4 records as shown below −

    ID |NAME   |SALARY |LOCATION
    ----------------------------------------------------------
    1  |Amit   |30000  |Hyderabad
    2  |Kalyan |40000  |Vishakhapatnam
    3  |Renuka |50000  |Delhi
    4  |Archana|15000  |Mumbai
    

    The following SQL UPDATE statement updates the location and salary of an employee whose name is Kaylan.

    ij> UPDATE Employees SET Location = ''Chennai'', Salary = 43000 WHERE Name=''Kalyan
    1 rows inserted/updated/deleted
    

    If you get the contents of the Employees table, you can observe the changes done by the UPDATE query.

    ij> select * from Employees;
    ID |NAME    |SALARY |LOCATION
    ----------------------------------------------------------
    1  |Amit    |30000  |Hyderabad
    2  |Kalyan  |43000  |Chennai
    3  |Renuka  |50000  |Delhi
    4  |Archana |15000  |Mumbai
    4 rows selected
    

    Update Data using JDBC program

    This section explains how to update the existing records of a table in the Apache Derby database using JDBC application.

    If you want to request the Derby network server using network client, make sure that the server is up and running. The class name for the Network client driver is org.apache.derby.jdbc.ClientDriver and the URL is jdbc:derby://localhost:1527/DATABASE_NAME;create=true;user=USER_NAME ;password=PASSWORD

    Follow the steps given below to update the existing records of a table in Apache Derby.

    Step 1: Register the driver

    To communicate with the database, first of all, you need to register the driver. The forName() method of the class Class accepts a String value representing a class name loads it in to the memory, which automatically registers it. Register the driver using this method.

    Step 2: Get the connection

    In general, the first step we do to communicate to the database is to connect with it. The Connection class represents the physical connection with a database server. You can create a connection object by invoking the getConnection() method of the DriverManager class. Create a connection using this method.

    Step 3: Create a statement object

    You need to create a Statement or PreparedStatement or, CallableStatement objects to send SQL statements to the database. You can create these using the methods createStatement(), prepareStatement() and, prepareCall() respectively. Create either of these objects using the appropriate method.

    Step 4: Execute the query

    After creating a statement, you need to execute it. The Statement class provides various methods to execute a query like the execute() method to execute a statement that returns more than one result set. The executeUpdate() method executes queries like INSERT, UPDATE, DELETE. The executeQuery() method returns data. Use either of these methods and execute the statement created previously.

    Example

    Following JDBC example demonstrates how to update the existing records of a table in Apache Derby using JDBC program. Here, we are connecting to a database named sampleDB (will create if it does not exist) using the embedded driver.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class UpdateData {
       public static void main(String args[]) throws Exception {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
          //Getting the Connection object
          String URL = "jdbc:derby:sampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
    
          //Creating a table and populating it
          String query = "CREATE TABLE Employees("
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))";
          String query = "INSERT INTO Employees("
             + "Name, Salary, Location) VALUES "
             + "(''Amit'', 30000, ''Hyderabad''), "
             + "(''Kalyan'', 40000, ''Vishakhapatnam''), "
             + "(''Renuka'', 50000, ''Delhi''), "
             + "(''Archana'', 15000, ''Mumbai''), "
             + "(''Trupthi'', 45000, ''Kochin''), "
             + "(''Suchatra'', 33000, ''Pune''), "
             + "(''Rahul'', 39000, ''Lucknow''), "
             + "(''Trupti'', 45000, ''Kochin'')";
          //Executing the query
          String query = "UPDATE Employees SET Location = ''Chennai'', Salary = 43000 WHERE
             Name = ''Kalyan''";
          int num = stmt.executeUpdate(query);
          System.out.println("Number of records updated are: "+num);
       }
    }
    

    Output

    On executing the above program, you will get the following output −

    Number of records updated are: 1
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – Derby Indexes nhận dự án làm có lương

    Apache Derby – Derby Indexes



    An index in a table is nothing but a pointer to its data. These are used to speed up the data retrieval from a table.

    If we use indexes, the INSERT and UPDATE statements get executed in a slower phase. Whereas SELECT and WHERE get executed with in lesser time.

    Creating an Index

    The CREATE INDEX statement is used for creating a new Index in a table in Derby database.

    Syntax

    Following is the syntax of the CREATE INDEX statement −

    CTREATE INDEX index_name on table_name (column_name);
    

    Example

    Suppose we have created a table named Employees in Apache Derby as shown below.

    CREATE TABLE Emp ( Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
       Name VARCHAR(255),
       Salary INT NOT NULL,
       Location VARCHAR(255),
       Phone_Number BIGINT
    );
    

    The following SQL statement creates an index on the column named Salary in the table Employees.

    ij> CREATE INDEX example_index on Emp (Salary);
    0 rows inserted/updated/deleted
    

    Creating a UNIQUE index

    In Apache Derby, UNIQUE indexes are used for data integration. Once you create a UNIQUE index on a column in a table, it does not allow duplicate values.

    Syntax

    Following is the syntax of creating a unique index.

    CREATE UNIQUE INDEX index_name on table_name (column_name);
    

    Example

    Following example creates a UNIQUE index on the column Id of the table Employee.

    ij> CREATE UNIQUE INDEX unique_index on Emp (Phone_Number);
    0 rows inserted/updated/deleted
    

    Once you have created a unique index on a column, you cannot enter same values for that column in another row. In short, a column which is has a UNIQE index will not allow duplicate values.

    Insert a row in the Emp table as shown below

    ij> INSERT INTO Emp(Name, Salary, Location, Phone_Number) VALUES
       (''Amit'', 45000, ''Hyderabad'', 9848022338);
    1 row inserted/updated/deleted
    

    Since we have created a unique index on the column Phone_No, if you ty to enter the same value as in the previous record, it shows an error.

    ij> INSERT INTO Emp(Name, Salary, Location, Phone_Number) VALUES
       (''Sumit'', 35000, ''Chennai'', 9848022338);
    ERROR 23505: The statement was aborted because it would have caused a duplicate
    key value in a unique or primary key constraint or unique index identified by
    ''UNIQUE_INDEX'' defined on ''EMP''.
    

    Creating a COMPOSITE index

    You can create a single index on two rows and it is called Composite index.

    Syntax

    Following is the syntax of the composite index.

    CREATE INDEX index_name on table_name (column_name1, column_name2);
    

    Example

    Following index creates a composite index on the columns Name and Location.

    ij> CREATE INDEX composite_index on Emp (Name, Location);
    0 rows inserted/updated/deleted
    

    Displaying the Indexes

    The SHOW INDEXES query displays the list of indexes on a table.

    Syntax

    Following is the syntax of the SHOW INDEXES statement −

    SHOW INDEXES FROM table_name;
    

    Example

    Following example, i displays the indexes on the table Employees.

    ij> SHOW INDEXES FROM Emp;
    

    This produces the following result.

    ij> SHOW INDEXES FROM Emp;
    TABLE_NAME |COLUMN_NAME |NON_U&|TYPE|ASC&|CARDINA&|PAGES
    ----------------------------------------------------------------------------
    EMP        |PHONE_NUMBER|false |3   |A   |NULL    |NULL
    EMP        |NAME        |true  |3   |A   |NULL    |NULL
    EMP        |LOCATION    |true  |3   |A   |NULL    |NULL
    EMP        |SALARY      |true  |3   |A   |NULL    |NULL
    4 rows selected
    

    Dropping Indexes

    The Drop Index statement deletes/drops the given index on a column.

    Syntax

    Following is the syntax of the DROP INDEX statement.

    DROP INDEX index_name;
    

    Example

    Following example drops an indexes named composite_index and unique_index created above.

    ij> DROP INDEX composite_index;
    0 rows inserted/updated/deleted
    ij>Drop INDEX unique_index;
    0 rows inserted/updated/deleted
    

    Now, if you verify the list of indexes you can see index on one column since we have deleted the remaining.

    ij> SHOW INDEXES FROM Emp;
    TABLE_NAME |COLUMN_NAME |NON_U&|TYPE|ASC&|CARDINA&|PAGES
    ----------------------------------------------------------------------------
    EMP        |SALARY      |true  |3   |A   |NULL    |NULL
    1 row selected
    

    Handling Indexes using JDBC program

    Following JDBC program demonstrates how to create drop indexes on a column in a table.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class IndexesExample {
       public static void main(String args[]) throws Exception {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
          //Getting the Connection object
          String URL = "jdbc:derby:MYDATABASE;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
    
          //Creating the Emp table
          String createQuery = "CREATE TABLE Emp( "
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), "
             + "Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "Phone_Number BIGINT )";
          stmt.execute(createQuery);
          System.out.println("Table created");
          System.out.println(" ");
    
          //Creating an Index on the column Salary
          stmt.execute("CREATE INDEX example_index on Emp (Salary)");
          System.out.println("Index example_index inserted");
          System.out.println(" ");
    
          //Creating an Unique index on the column Phone_Number
          stmt.execute("CREATE UNIQUE INDEX unique_index on Emp (Phone_Number)");
          System.out.println("Index unique_index inserted");
          System.out.println(" ");
    
          //Creating a Composite Index on the columns Name and Location
          stmt.execute("CREATE INDEX composite_index on Emp (Name, Location)");
          System.out.println("Index composite_index inserted");
          System.out.println(" ");
    
          //listing all the indexes
          System.out.println("Listing all the columns with indexes");
    
          //Dropping indexes
          System.out.println("Dropping indexes unique_index and, composite_index ");
          stmt.execute("Drop INDEX unique_index");
          stmt.execute("DROP INDEX composite_index");
       }
    }
    

    Output

    On executing, this generates the following result

    Table created
    Index example_index inserted
    Index unique_index inserted
    Index composite_index inserted
    
    Listing all the columns with indexes
    Dropping indexes unique_index and, composite_index
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Alter Table Statement nhận dự án làm có lương

    Apache Derby – Alter Table Statement



    The ALTER TABLE statement, allows you to alter an existing table. Using this you can do the following −

    • Add a column, add a constraint

    • Drop a column, drop a constraint

    • Change the row level locking of a table

    Let us assume we have created a table named Employees as shown below −

    ij> CREATE TABLE Employees (
       Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
       Name VARCHAR(255),
       Salary INT NOT NULL,
       Location VARCHAR(255),
       PRIMARY KEY (Id)
    );
    

    And, inserted four records using the insert statement as −

    ij> INSERT INTO Employees (Name, Salary, Location) VALUES
       (''Amit'', 30000, ''Hyderabad''),
       (''Kalyan'', 40000, ''Vishakhapatnam''),
       (''Renuka'', 50000, ''Delhi''),
       (''Archana'', 15000, ''Mumbai'');
    

    Adding a column to a Table

    Following is the syntax to add a column to a table using ALTER statement.

    ALTER TABLE table_name ADD COLUMN column_name column_type;
    

    Example

    Using ALTER statement, we are trying to add a new column named Age with the type integer.

    ALTER TABLE Employees ADD COLUMN Age INT;
    0 rows inserted/updated/deleted
    

    Add another column named Phone_No with the type integer.

    ALTER TABLE Employees ADD COLUMN Phone_No BIGINT;
    0 rows inserted/updated/deleted
    

    The DESCRIBE command describes specified table by listing the columns and their details, if the table exists. If you DESCRIBE, the table Employees you can observe the newly added columns as shown below −

    ij> DESCRIBE Employees;
    COLUMN_NAME |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
    ------------------------------------------------------------------------------
    ID          |INTEGER  |0   |10   |10   |AUTOINCRE&|NULL      |NO
    NAME        |VARCHAR  |NULL|NULL |255  |NULL      |510       |YES
    SALARY      |INTEGER  |0   |10   |10   |NULL      |NULL      |NO
    LOCATION    |VARCHAR  |NULL|NULL |255  |NULL      |510       |YES
    AGE         |INTEGER  |0   |10   |10   |NULL      |NULL      |YES
    PHONE_NO    |INTEGER  |0   |10   |10   |NULL      |NULL      |YES
    6 rows selected
    

    Adding a constraint to a table

    Following is the syntax to add a constraint to a column of a table using ALTER statement.

    ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint (column_name);
    

    Where constraint can be NOT NULL, NULL, PRIMARY KEY, UNIQUE, FOREIGN KEY, CHECK.

    Example

    Using ALTER statement, we are trying to add constraint UNIQUE to the Phone_No column.

    ij> ALTER TABLE Employees ADD CONSTRAINT New_Constraint UNIQUE(Phone_No);
    0 rows inserted/updated/deleted
    

    Once, you add a UNIQUE constraint to a column, it cannot have the same values for two rows, i.e., phone number should be unique for each employee.

    If you try to add two columns with a same phone number, you will get an exception as shown below.

    ij> INSERT INTO Employees (Name, Salary, Location, Age, Phone_No) VALUES
    (''Amit'', 30000, ''Hyderabad'', 30, 9848022338);
    1 row inserted/updated/deleted
    ij> INSERT INTO Employees (Name, Salary, Location, Age, Phone_No) VALUES
    (''Sumit'', 35000, ''Chennai'', 25, 9848022338);
    ERROR 23505: The statement was aborted because it would have caused a duplicate
    key value in a unique or primary key constraint or unique index identified by
    ''NEW_CONSTRAINT'' defined on ''EMPLOYEES''.
    

    Dropping a constraint from a table

    Following is the syntax to drop a constraint of a column −

    ALTER TABLE table_name DROP CONSTRAINT constraint_name;
    

    Example

    The following query deletes the constraint name New_Constraint on the column Phone_No created above.

    ij> ALTER TABLE Employees DROP CONSTRAINT New_Constraint;
    0 rows inserted/updated/deleted
    

    Since we have removed the UNIQUE constraint on the column Phone_No, you can add columns with the same phone number.

    ij> INSERT INTO Employees (Name, Salary, Location, Age, Phone_No) VALUES
    (''Sumit'', 35000, ''Chennai'', 25, 9848022338);
    1 row inserted/updated/deleted
    

    You can verify the contents of the table ij> select * from Employees as follows −

    ID |NAME  |SALARY |LOCATION |AGE |PHONE_NO
    -------------------------------------------------------------------------
    1  |Amit  |30000  |Hyderabad|30  |9848022338
    2  |Sumit |35000  |Chennai  |25  |9848022338
    2 rows selected
    

    Dropping a column from a table

    Following is the syntax to drop a column of a column.

    ALTER TABLE table_name DROP COLUMN column_name;
    

    Example

    Following query deletes the column named age of the employee

    ij> ALTER TABLE Employees DROP COLUMN Age;
    0 rows inserted/updated/deleted
    

    If you describe the table, you can see only 4 columns.

    ij> DESCRIBE Employees;
    COLUMN_NAME |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF |CHAR_OCTE&|IS_NULL&
    ------------------------------------------------------------------------------
    ID          |INTEGER  |0   |10  |10    |AUTOINCRE& |NULL      |NO
    NAME        |VARCHAR  |NULL|NULL|255   |NULL       |510       |YES
    SALARY      |INTEGER  |0   |10  |10    |NULL       |NULL      |NO
    LOCATION    |VARCHAR  |NULL|NULL|255   |NULL       |510       |YES
    PHONE_NO    |BIGINT   |0   |10  |19    |NULL       |NULL      |YES
    

    Altering table using JDBC program

    Following is the JDBC program to alter a table using the ALTER query −

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class AlterTableExample {
       public static void main(String args[]) throws Exception {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
          //Getting the Connection object
          String URL = "jdbc:derby:sampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
    
          //Executing the query
          String createQuery = "CREATE TABLE Employees( "
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), "
             + "Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))";
    
          stmt.execute(createQuery);
          System.out.println("Table created");
          System.out.println(" ");
    
          //Executing the query
          String insertQuery = "INSERT INTO Employees("
             + "Name, Salary, Location) VALUES "
             + "(''Amit'', 30000, ''Hyderabad''), "
             + "(''Kalyan'', 40000, ''Vishakhapatnam''), "
             + "(''Renuka'', 50000, ''Delhi''), "
             + "(''Archana'', 15000, ''Mumbai''), "
             + "(''Trupti'', 45000, ''Kochin'')";
    
          stmt.execute(insertQuery);
          System.out.println("Values inserted");
          System.out.println(" ");
    
          //Executing the query
          String selectQuery = "SELECT * FROM Employees";
          ResultSet rs = stmt.executeQuery(selectQuery);
          System.out.println("Contents of the table after inserting the table");
          while(rs.next()) {
             System.out.println("Id: "+rs.getString("Id"));
             System.out.println("Name: "+rs.getString("Name"));
             System.out.println("Salary: "+rs.getString("Salary"));
             System.out.println("Location: "+rs.getString("Location"));
          }
          System.out.println(" ");
    
          //Altering the table
          stmt.execute("ALTER TABLE Employees ADD COLUMN Age INT");
          stmt.execute("ALTER TABLE Employees ADD COLUMN Phone_No BigINT");
          stmt.execute("ALTER TABLE Employees " + "ADD CONSTRAINT New_Constraint UNIQUE(Phone_No)");
    
          stmt.execute("INSERT INTO Employees "
             + "(Name, Salary, Location, Age, Phone_No) "
             + "VALUES (''Amit'', 30000, ''Hyderabad'', 30, 9848022338)");
          ResultSet alterResult = stmt.executeQuery("Select * from Employees");
          System.out.println("Contents of the table after altering "
             + "the table and inserting values to it: ");
          while(alterResult.next()) {
             System.out.println("Id: "+alterResult.getString("Id"));
             System.out.println("Name: "+alterResult.getString("Name"));
             System.out.println("Salary: "+alterResult.getString("Salary"));
             System.out.println("Location: "+alterResult.getString("Location"));
             System.out.println("Age: "+alterResult.getString("Age"));
             System.out.println("Phone_No: "+alterResult.getString("Phone_No"));
          }
       }
    }
    

    Output

    On executing the above program, the following output will be generated −

    Table created
    
    Values inserted
    
    Contents of the table after inserting the table
    Id: 1
    Name: Amit
    Salary: 30000
    Location: Hyderabad
    Id: 2
    Name: Kalyan
    Salary: 40000
    Location: Vishakhapatnam
    Id: 3
    Name: Renuka
    Salary: 50000
    Location: Delhi
    Id: 4
    Name: Archana
    Salary: 15000
    Location: Mumbai
    Id: 5
    Name: Trupti
    Salary: 45000
    Location: Kochin
    
    Contents of the table after altering the table and inserting values to it:
    Id: 1
    Name: Amit
    Salary: 30000
    Location: Hyderabad
    Age: null
    Phone_No: null
    Id: 2
    Name: Kalyan
    Salary: 40000
    Location: Vishakhapatnam
    Age: null
    Phone_No: null
    Id: 3
    Name: Renuka
    Salary: 50000
    Location: Delhi
    Age: null
    Phone_No: null
    Id: 4
    Name: Archana
    Salary: 15000
    Location: Mumbai
    Age: null
    Phone_No: null
    Id: 5
    Name: Trupti
    Salary: 45000
    Location: Kochin
    Age: null
    Phone_No: null
    Id: 6
    Name: Amit
    Salary: 30000
    Location: Hyderabad
    Age: 30
    Phone_No: 9848022338
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – Having Clause nhận dự án làm có lương

    Apache Derby – Having Clause



    The HAVING Clause enables you to specify conditions that filter which group results appear in the results.

    The WHERE clause places conditions on the selected columns, whereas the HAVING clause places conditions on groups created by the GROUP BY clause.

    Syntax

    Following is the syntax of the HAVING clause −

    ij> SELECT column1, column2 . . . from table_name GROUP BY column having
    condition;
    

    Example

    Suppose, we have a table named Employees in the database with the 13 records as shown below −

    ID |NAME |SALARY |LOCATION
    ------------------------------------------------------------------
    1 |Amit |30000 |Hyderabad
    2 |Rahul |39000 |Lucknow
    3 |Kalyan |40000 |Vishakhapatnam
    4 |Renuka |50000 |Hyderabad
    5 |Archana |15000 |Vishakhapatnam
    6 |Krishna |40000 |Hyderabad
    7 |Trupthi |45000 |Vishakhapatnam
    8 |Raghav |12000 |Lucknow
    9 |Radha |50000 |Delhi
    10 |Anirudh |15000 |Mumbai
    11 |Tara |45000 |Kochin
    12 |Sucharita |44000 |Kochin
    13 |Rizwan |20000 |Lucknow
    

    The following query displays maximum salaries of the employees in the location which have at least 3 employees −

    ij> SELECT Location, MAX(Salary) from Employees GROUP BY Location having
    count(Location)>=3;
    

    This generates the following output −

    LOCATION |2
    ------------------------------------------------------------
    Hyderabad |50000
    Lucknow |39000
    Vishakhapatnam |45000
    3 rows selected
    

    Sorting Data using JDBC program

    This section teaches you how to use Having a clause in the Apache Derby database using JDBC application.

    If you want to request the Derby network server using network client, make sure that the server is up and running. The class name for the Network client driver is org.apache.derby.jdbc.ClientDriver and the URL is jdbc:derby://localhost:1527/DATABASE_NAME;create=true;user=USER_NAME;passw ord=PASSWORD

    Follow the steps given below to sort the records of a table in Apache Derby

    Step 1: Register the driver

    To communicate with the database, first of all, you need to register the driver. The forName() method of the class Class accepts a String value representing a class name, and loads it in to the memory, which automatically registers it. Register the driver using this method.

    Step 2: Get the connection

    In general, the first step we do to communicate to the database is to connect with it. The Connection class represents the physical connection with a database server. You can create a connection object by invoking the getConnection() method of the DriverManager class. Create a connection using this method.

    Step 3: Create a statement object

    You need to create a Statement or PreparedStatement or, CallableStatement objects to send SQL statements to the database. You can create these using the methods createStatement(), prepareStatement() and, prepareCall() respectively. Create either of these objects using the appropriate method.

    Step 4: Execute the query

    After creating a statement, you need to execute it. The Statement class provides various methods to execute a query like the execute() method to execute a statement that returns more than one result set. The executeUpdate() method executes queries like INSERT, UPDATE, DELETE. The executeQuery() method returns data. Use either of these methods and execute the statement created previously.

    Example

    Following JDBC example demonstrates how to use Group By clause and perform CURD operations on a table in Apache Derby using JDBC program. Here, we are connecting to a database named sampleDB (will create if it does not exist) using the embedded driver.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    public class HavingClauseExample {
       public static void main(String args[]) throws Exception {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
    
          //Getting the Connection object
          String URL = "jdbc:derby:sampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
    
          //Creating a table and populating it
          stmt.execute("CREATE TABLE EmployeesData( "
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), "
             + "Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))");
          stmt.execute("INSERT INTO EmployeesData(Name, Salary, Location) "
             + "VALUES (''Amit'', 30000, ''Hyderabad''), "
             + "(''Rahul'', 39000, ''Lucknow''), "
             + "(''Renuka'', 50000, ''Hyderabad''), "
             + "(''Archana'', 15000, ''Vishakhapatnam''), "
             + "(''Kalyan'', 40000, ''Hyderabad''), "
             + "(''Trupthi'', 45000, ''Vishakhapatnam''), "
             + "(''Raghav'', 12000, ''Lucknow''), "
             + "(''Suchatra'', 33000, ''Vishakhapatnam''), "
             + "(''Rizwan'', 20000, ''Lucknow'')");
          //Executing the query
          String query = "SELECT Location, MAX(Salary) "
             + "from EmployeesData GROUP BY Location having "
             + "count(Location)>=3";
          ResultSet rs = stmt.executeQuery(query);
          while(rs.next()) {
             System.out.println(rs.getString(1));
             System.out.println(rs.getString(2));
             System.out.println(" ");
          }
       }
    }
    

    Output

    On executing the above program, you will get the following output −

    Hyderabad
    50000
    
    Lucknow
    39000
    
    Vishakhapatnam
    45000
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – Procedures nhận dự án làm có lương

    Apache Derby – Procedures



    This chapter teaches you how to create and drop procedures in Derby.

    Creating a procedure

    You can create a procedure using the CREATE PROCEDURE statement.

    Syntax

    Following is the syntax of the CREATE PROCEDURE statement.

    CREATE PROCEDURE procedure_name (parameter_type parameter_name1, parameter_type
    parameter_name2 . . . .) parameter_style;
    

    Example

    Suppose, we have created a table in Derby as shown below.

    CREATE TABLE Emp ( Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
       Name VARCHAR(255),
       Salary INT NOT NULL,
       Location VARCHAR(255),
       Phone_Number BIGINT
    );
    

    And inserted values in it as follows −

    INSERT INTO Employees(Name, Salary, Location) VALUES
       (''Amit'', 30000, ''Hyderabad''),
       (''Kalyan'', 40000, ''Vishakhapatnam''),
       (''Renuka'', 50000, ''Delhi''),
       (''Archana'', 15000, ''Mumbai''),
       (''Trupthi'', 45000, ''Kochin'')";
    

    Following example creates a procedure named Update_Procedure which accepts JAVA parameters.

    ij> CREATE PROCEDURE Update_Procedure(IN id INTEGER, IN name VARCHAR(10))
    PARAMETER STYLE JAVA READS SQL DATA LANGUAGE JAVA EXTERNAL NAME
    ''ProcedureExample.testProc
    > 0 rows inserted/updated/deleted
    

    Where ProcedureExample class looks like −

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    public class ProcedureExample {
       public static void testProc(int salary, String name) throws Exception {
          String connectionURL = "jdbc:derby:MYDATABASE;create=true";
          Connection conn = DriverManager.getConnection(connectionURL);
          String query = "UPDATE Employees SET SALARY = ? WHERE NAME = ?";
          PreparedStatement pstmt = conn.prepareStatement(query);
          pstmt.setInt(1, salary);
          pstmt.setString (2, name);
          pstmt.executeUpdate();
       }
    }
    

    You can verify the list of procedures using SHOW PROCEDURES query.

    ij> SHOW PROCEDURES;
    PROCEDURE_SCHEM |PROCEDURE_NAME       |REMARKS
    ------------------------------------------------------------------------
    APP             |UPDATE_PROCEDURE     |ProcedureExample.te&
    SALES           |EXAMPLE_ PROCEDURE   |com.example.sales.c&
    SQLJ            |INSTALL_JAR          |org.apache.derby.ca&
    SQLJ            |REMOVE_JAR           |org.apache.derby.ca&
    SQLJ            |REPLACE_JAR          |org.apache.derby.ca&
    SYSCS_UTIL      |SYSCS_BACKUP_DATABASE|org.apache.derby.ca&
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    

    Here you can observe the newly created procedure.

    Dropping a procedure

    You can drop a procedure using the DROP PROCEDURE statement.

    Syntax

    Following is the syntax of the DROP PROCEDURE statement.

    DROP PROCEDURE procedure_name;
    

    Example

    Following example drops a procedure named Update_Procedure created above.

    ij> DROP PROCEDURE Update_Procedure;
    > 0 rows inserted/updated/deleted
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – Order By Clause nhận dự án làm có lương

    Apache Derby – Order By Clause



    The ORDER BY clause is used to arrange the contents of the result set in the order it uses the keywords, ASC representing ascending order and DESC representing descending order. If you do not mention either of these, the contents will be arranged in ascending order by default.

    Syntax

    Following is the syntax of the ORDER BY clause −

    SELECT * FROM table_name ORDER BY column_name ASC|DESC.
    

    Example

    Suppose we have a table named Employees in the database with the following records −

    ID |NAME    |SALARY |LOCATION
    ------------------------------------------------------------------------------
    1  |Amit    |30000  |Vijayawada
    2  |Kalyan  |40000  |Vishakhapatnam
    3  |Renuka  |50000  |Delhi
    4  |Archana |15000  |Vijayawada
    5  |Trupthi |45000  |Kochin
    6  |Suchatra|33000  |Vijayawada
    7  |Rahul   |39000  |Lucknow
    

    The following query arranges the contents of the table in ascending order based on the name of the Employee.

    ij> SELECT * FROM Employees ORDER BY Name;
    

    This will generate the following output −

    ID |NAME    |SALARY |LOCATION
    ---------------------------------------------------------------
    1  |Amit    |30000  |Hyderabad
    4  |Archana |15000  |Mumbai
    2  |Kalyan  |40000  |Vishakhapatnam
    7  |Rahul   |39000  |Lucknow
    3  |Renuka  |50000  |Delhi
    6  |Suchatra|33000  |Pune
    5  |Trupthi |45000  |Kochin
    7 rows selected
    

    Similarly, following query arranges the contents of the table in descending order based on the salary of the Employee −

    ij> SELECT * FROM Employees ORDER BY Salary DESC;
    

    This will generate the following output −

    ID |NAME     |SALARY |LOCATION
    ---------------------------------------------------------------
    3  |Renuka   |50000  |Delhi
    5  |Trupthi  |45000  |Kochin
    2  |Kalyan   |40000  |Vishakhapatnam
    7  |Rahul    |39000  |Lucknow
    6  |Suchatra |33000  |Pune
    1  |Amit     |30000  |Hyderabad
    4  |Archana  |15000  |Mumbai
    7 rows selected
    

    Sorting Data using JDBC program

    This section teaches you how to sort the contents of a table in Derby using JDBC. You can arrange records in order using the ORDER BY clause and the keywords ASC (denoting ascending order), and DSC (denoting descending order).

    If you want to request the Derby network server using network client, make sure that the server is up and running. The class name for the Network client driver is org.apache.derby.jdbc.ClientDriver and the URL is jdbc:derby://localhost:1527/DATABASE_NAME;create=true;user=USER_NAME; password=PASSWORD“.

    Follow the steps given below to sort the records of a table in Apache Derby −

    Step 1: Register the driver

    To communicate with the database, first of all, you need to register the driver. The forName() method of the class Class accepts a String value representing a class name loads it in to the memory, which automatically registers it. Register the driver using this method.

    Step 2: Get the connection

    In general, the first step we do to communicate to the database is to connect with it. The Connection class represents the physical connection with a database server. You can create a connection object by invoking the getConnection() method of the DriverManager class. Create a connection using this method.

    Step 3: Create a statement object

    You need to create a Statement or PreparedStatement or, CallableStatement objects to send SQL statements to the database. You can create these using the methods createStatement(), prepareStatement() and, prepareCall() respectively. Create either of these objects using the appropriate method.

    Step 4: Execute the query

    After creating a statement, you need to execute it. The Statement class provides various methods to execute a query like the execute() method to execute a statement that returns more than one result set. The executeUpdate() method executes queries like INSERT, UPDATE, DELETE. The executeQuery() method returns data. Use either of these methods and execute the statement created previously.

    Example

    Following JDBC example demonstrates how to sort the records of a table in Apache Derby using JDBC program. Here, we are connecting to a database named sampleDB (will create if it does not exist) using the embedded driver.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class SortData {
       public static void main(String args[]) throws SQLException, ClassNotFoundException {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
    
          //Getting the Connection object
          String URL = "jdbc:derby:SampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
    
          //Creating a table and populating it
          String query = "CREATE TABLE Employees("
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))";
          String query = "INSERT INTO Employees("
             + "Name, Salary, Location) VALUES "
             + "(''Amit'', 30000, ''Hyderabad''), "
             + "(''Kalyan'', 40000, ''Vishakhapatnam''), "
             + "(''Renuka'', 50000, ''Delhi''), "
             + "(''Archana'', 15000, ''Mumbai''), "
             + "(''Trupthi'', 45000, ''Kochin''), "
             + "(''Suchatra'', 33000, ''Pune''), "
             + "(''Rahul'', 39000, ''Lucknow''), "
             + "(''Trupti'', 45000, ''Kochin'')";
          //Executing the query
          String query = "SELECT Location, SUM(Salary) " + "from Employees GROUP BY Location";
          ResultSet rs = stmt.executeQuery(query);
          while(rs.next()) {
             System.out.println("Salary: "+rs.getString(1));
             System.out.println("Location: "+rs.getString(2));
             System.out.println(" ");
          }
       }
    }
    

    Output

    On executing the above program, you will get the following output −

    Salary: Chennai
    Location: 43000
    
    Salary: Delhi
    Location: 50000
    
    Salary: Hyderabad
    Location: 30000
    
    Salary: Kochin
    Location: 45000
    
    Salary: Lucknow
    Location: 39000
    
    Salary: Mumbai
    Location: 15000
    
    Salary: Pune
    Location: 33000
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Apache Derby – Where Clause nhận dự án làm có lương

    Apache Derby – Where Clause



    The WHERE clause is used in the SELECT, DELETE or, UPDATE statements to specify the rows on which the operation needs to be carried out. Usually, this clause is followed by a condition or expression which returns a Boolean value, the Select, delete or, update operations are performed only on the rows which satisfy the given condition.

    ij> SELECT * from table_name WHERE condition;
    or,
    ij> DELETE from table_name WHERE condition;
    or,
    ij> UPDATE table_name SET column_name = value WHERE condition;
    

    The WHERE clause can use the comparison operators such as =,!=, <, >, <=, and >=, as well as the BETWEEN and LIKE operators.

    Example

    Let us assume we have a table named Employees in the database with 7 records as shown below −

    ID |NAME    |SALARY |LOCATION
    -----------------------------------------------------------------------------
    1  |Amit    |30000  |Hyderabad
    2  |Kalyan  |40000  |Vishakhapatnam
    3  |Renuka  |50000  |Delhi
    4  |Archana |15000  |Mumbai
    5  |Trupthi |45000  |Kochin
    6  |Suchatra|33000  |Pune
    7  |Rahul   |39000  |Lucknow
    

    The following SQL DELETE statement fetches the records of the employees whose salary is more than 35000 −

    ij> SELECT * FROM Employees WHERE Salary>35000;
    

    This will produce the following output −

    ID |NAME   |SALARY |LOCATION
    ---------------------------------------------------
    2  |Kalyan |40000  |Vishakhapatnam
    3  |Renuka |50000  |Delhi
    5  |Trupthi|45000  |Kochin
    7  |Rahul  |39000  |Lucknow
    4 rows selected
    

    Similarly, you can also delete and update records using this clause.

    Following example updates the location of those whose salary is less than 30000.

    ij> UPDATE Employees SET Location = ''Vijayawada'' WHERE Salary<35000;
    3 rows inserted/updated/deleted
    

    If you verify the contents of the table, you can see the updated table as shown below −

    ij> SELECT * FROM Employees;
    ID |NAME    |SALARY |LOCATION
    ------------------------------------------------------------------------------
    1  |Amit    |30000  |Vijayawada
    2  |Kalyan  |40000  |Vishakhapatnam
    3  |Renuka  |50000  |Delhi
    4  |Archana |15000  |Vijayawada
    5  |Trupthi |45000  |Kochin
    6  |Suchatra|33000  |Vijayawada
    7  |Rahul   |39000  |Lucknow
    7 rows selected
    

    Where clause JDBC example

    This section teaches you how to use WHERE clause and perform CURD operations on a table in Apache Derby database using JDBC application.

    If you want to request the Derby network server using network client, make sure that the server is up and running. The class name for the Network client driver is org.apache.derby.jdbc.ClientDriver and the URL is jdbc:derby://localhost:1527/DATABASE_NAME;create=true;user=USER_NAME; password=PASSWORD“.

    Follow the steps given below to use WHERE clause and perform CURD operations on a table in Apache Derby

    Step 1: Register the driver

    To communicate with the database, first of all, you need to register the driver. The forName() method of the class Class accepts a String value representing a class name loads it in to the memory, which automatically registers it. Register the driver using this method

    Step 2: Get the connection

    In general, the first step we do to communicate to the database is to connect with it. The Connection class represents the physical connection with a database server. You can create a connection object by invoking the getConnection() method of the DriverManager class. Create a connection using this method.

    Step 3: Create a statement object

    You need to create a Statement or PreparedStatement or, CallableStatement objects to send SQL statements to the database. You can create these using the methods createStatement(), prepareStatement() and, prepareCall() respectively. Create either of these objects using the appropriate method.

    Step 4: Execute the query

    After creating a statement, you need to execute it. The Statement class provides various methods to execute a query like the execute() method to execute a statement that returns more than one result set. The executeUpdate() method executes queries like INSERT, UPDATE, DELETE. The executeQuery() method results that returns data. Use either of these methods and execute the statement created previously.

    Example

    Following JDBC example demonstrates how to use WHERE clause and perform CURD operations on a table in Apache Derby using JDBC program. Here, we are connecting to a database named sampleDB (will create if it does not exist) using the embedded driver.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    public class WhereClauseExample {
       public static void main(String args[]) throws Exception {
          //Registering the driver
          Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
          //Getting the Connection object
          String URL = "jdbc:derby:sampleDB;create=true";
          Connection conn = DriverManager.getConnection(URL);
    
          //Creating the Statement object
          Statement stmt = conn.createStatement();
    
          //Creating a table and populating it
          String query = "CREATE TABLE Employees("
             + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
             + "Name VARCHAR(255), Salary INT NOT NULL, "
             + "Location VARCHAR(255), "
             + "PRIMARY KEY (Id))";
          String query = "INSERT INTO Employees("
             + "Name, Salary, Location) VALUES "
             + "(''Amit'', 30000, ''Hyderabad''), "
             + "(''Kalyan'', 40000, ''Vishakhapatnam''), "
             + "(''Renuka'', 50000, ''Delhi''), "
             + "(''Archana'', 15000, ''Mumbai''), "
             + "(''Trupthi'', 45000, ''Kochin''), "
             + "(''Suchatra'', 33000, ''Pune''), "
             + "(''Rahul'', 39000, ''Lucknow''), "
             + "(''Trupti'', 45000, ''Kochin'')";
          //Executing the query
          String query = "SELECT * FROM Employees WHERE Salary>35000";
          ResultSet rs = stmt.executeQuery(query);
          while(rs.next()) {
             System.out.println("Id: "+rs.getString("Id"));
             System.out.println("Name: "+rs.getString("Name"));
             System.out.println("Salary: "+rs.getString("Salary"));
             System.out.println("Location: "+rs.getString("Location"));
             System.out.println(" ");
          }
       }
    }
    

    Output

    On executing the above program, you will get the following output −

    Id: 2
    Name: Kalyan
    Salary: 43000
    Location: Chennai
    
    Id: 3
    Name: Renuka
    Salary: 50000
    Location: Delhi
    
    Id: 5
    Name: Trupthi
    Salary: 45000
    Location: Kochin
    
    Id: 7
    Name: Rahul
    Salary: 39000
    Location: Lucknow
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc