Introduction To Database
Introduction To Database
Introduction To Database
SQL Database Tables: A database most often contains one or more tables. Each table is identified by a name (e.g. "Customers" or "Orders"). Tables contain records (rows) with data. Below is an example of a table called "Persons": LastName Hansen Svendson Pettersen FirstName Ola Tove Kari Address Timoteivn 10 Borgvn 23 Storgt 20 City Sandnes Sandnes Stavanger
The table above contains three records (one for each person) and four columns (LastName, FirstName, Address, and City). SQL Queries With SQL, we can query a database and have a result set returned. A query like this: SELECT LastName FROM Persons Gives a result set like this: LastName Hansen Svendson Pettersen
The SELECT Statement The SELECT statement is used to select data from a table. The tabular result is stored in a result table (called the result-set). Syntax SELECT column_name(s) FROM table_name
Select Some Columns To select the columns named "LastName" and "FirstName", use a SELECT statement like this: SELECT LastName,FirstName FROM Persons "Persons" table LastName Hansen Svendson Pettersen Result LastName Hansen Svendson Pettersen FirstName Ola Tove Kari FirstName Ola Tove Kari Address Timoteivn 10 Borgvn 23 Storgt 20 City Sandnes Sandnes Stavanger
Select All Columns To select all columns from the "Persons" table, use a * symbol instead of column names, like this: SELECT * FROM Persons Result LastName Hansen Svendson Pettersen FirstName Ola Tove Kari Address Timoteivn 10 Borgvn 23 Storgt 20 City Sandnes Sandnes Stavanger
The SELECT DISTINCT Statement The DISTINCT keyword is used to return only distinct (different) values.
The SELECT statement returns information from table columns. But what if we only want to select distinct elements? With SQL, all we need to do is to add a DISTINCT keyword to the SELECT statement: Syntax SELECT DISTINCT column_name(s) FROM table_name Using the DISTINCT keyword To select ALL values from the column named "Company" we use a SELECT statement like this: SELECT Company FROM Orders "Orders" table Company Sega W3Schools Trio W3Schools OrderNumber 3412 2312 4678 6798
Result
Company Sega W3Schools Trio W3Schools Note that "W3Schools" is listed twice in the result-set. To select only DIFFERENT values from the column named "Company" we use a SELECT DISTINCT statement like this:
Page No. 3/57
SELECT DISTINCT Company FROM Orders Result: Company Sega W3Schools Trio Now "W3Schools" is listed only once in the result-set.
SQL The WHERE Clause The WHERE clause is used to specify a selection criterion. The WHERE Clause To conditionally select data from a table, a WHERE clause can be added to the SELECT statement. Syntax SELECT column FROM table WHERE column operator value With the WHERE clause, the following operators can be used: Operator = <> > < >= <= BETWEEN LIKE Description Equal Not equal Greater than Less than Greater than or equal Less than or equal Between an inclusive range Search for a pattern
Using the WHERE Clause To select only the persons living in the city "Sandnes", we add a WHERE clause to the SELECT statement: SELECT * FROM Persons WHERE City='Sandnes' "Persons" table LastName Hansen Svendson Svendson Pettersen Result LastName Hansen Svendson Svendson Using Quotes Note that we have used single quotes around the conditional values in the examples. SQL uses single quotes around text values (most database systems will also accept double quotes). Numeric values should not be enclosed in quotes. For text values: This is correct: SELECT * FROM Persons WHERE FirstName='Tove' This is wrong: SELECT * FROM Persons WHERE FirstName=Tove For numeric values: This is correct: FirstName Ola Tove Stale Address Timoteivn 10 Borgvn 23 Kaivn 18 City Sandnes Sandnes Sandnes Year 1951 1978 1980 FirstName Ola Tove Stale Kari Address Timoteivn 10 Borgvn 23 Kaivn 18 Storgt 20 City Sandnes Sandnes Sandnes Stavanger Year 1951 1978 1980 1960
SELECT * FROM Persons WHERE Year>1965 This is wrong: SELECT * FROM Persons WHERE Year>'1965' The LIKE Condition The LIKE condition is used to specify a search for a pattern in a column. Syntax SELECT column FROM table WHERE column LIKE pattern A "%" sign can be used to define wildcards (missing letters in the pattern) both before and after the pattern. Using Like The following SQL statement will return persons with first names that start with an 'O': SELECT * FROM Persons WHERE FirstName LIKE 'O%' The following SQL statement will return persons with first names that end with an 'a': SELECT * FROM Persons WHERE FirstName LIKE '%a' The following SQL statement will return persons with first names that contain the pattern 'la': SELECT * FROM Persons WHERE FirstName LIKE '%la%'
Lab # 2
SQL the Insert Into Statement The INSERT INTO statement is used to insert new rows into a table.
Syntax INSERT INTO table_name VALUES (value1, value2,....) You can also specify the columns for which you want to insert data: INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....) Insert a New Row This "Persons" table: LastName Pettersen FirstName Kari Address Storgt 20 City Stavanger
And this SQL statement: INSERT INTO Persons VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes') Will give this result: LastName Pettersen Hetland FirstName Kari Camilla Address Storgt 20 Hagabakka 24 City Stavanger Sandnes
Insert Data in Specified Columns This "Persons" table: LastName Pettersen Hetland FirstName Kari Camilla Address Storgt 20 Hagabakka 24 City Stavanger Sandnes
And This SQL statement: INSERT INTO Persons (LastName, Address) VALUES ('Rasmussen', 'Storgt 67')
Will give this result: LastName Pettersen Hetland Rasmussen FirstName Kari Camilla Address Storgt 20 Hagabakka 24 Storgt 67 City Stavanger Sandnes
The Update Statement The UPDATE statement is used to modify the data in a table. Syntax UPDATE table_name SET column_name = new_value WHERE column_name = some_value
Person: LastName Nilsen Rasmussen Update one Column in a Row We want to add a first name to the person with a last name of "Rasmussen": UPDATE Person SET FirstName = 'Nina' WHERE LastName = 'Rasmussen' Result: LastName Nilsen Rasmussen FirstName Fred Nina Address Kirkegt 56 Storgt 67 City Stavanger FirstName Fred Address Kirkegt 56 Storgt 67 City Stavanger
Update several Columns in a Row We want to change the address and add the name of the city:
UPDATE Person SET Address = 'Stien 12', City = 'Stavanger' WHERE LastName = 'Rasmussen' Result: LastName Nilsen Rasmussen FirstName Fred Nina Address Kirkegt 56 Stien 12 City Stavanger Stavanger
The Delete Statement The DELETE statement is used to delete rows in a table. Syntax DELETE FROM table_name WHERE column_name = some_value
Person: LastName Nilsen Rasmussen Delete a Row "Nina Rasmussen" is going to be deleted: DELETE FROM Person WHERE LastName = 'Rasmussen' Result LastName Nilsen Delete All Rows It is possible to delete all rows in a table without deleting the table. This means that the table structure, attributes, and indexes will be intact:
Page No. 9/57
FirstName Fred
Address Kirkegt 56
City Stavanger
Lab # 3
The ORDER BY keyword is used to sort the result. Sort the Rows The ORDER BY clause is used to sort the rows. Orders: Company OrderNumber
To display the companies in alphabetical order: SELECT Company, OrderNumber FROM Orders ORDER BY Company Result: Company ABC Shop Sega W3Schools W3Schools Example To display the companies in alphabetical order AND the ordernumbers in numerical order: SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber Result: Company ABC Shop Sega W3Schools W3Schools Example To display the companies in reverse alphabetical order: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC OrderNumber 5678 3412 2312 6798 OrderNumber 5678 3412 6798 2312
Result: Company W3Schools W3Schools Sega ABC Shop Example To display the companies in reverse alphabetical order AND the ordernumbers in numerical order: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC Result: Company W3Schools W3Schools Sega ABC Shop OrderNumber 2312 6798 3412 5678 OrderNumber 6798 2312 3412 5678
Lab # 4
SQL AND, OR, NOT AND and OR join two or more conditions in a WHERE clause. The AND operator displays a row if ALL conditions listed are true. The OR operator displays a row if ANY of the conditions listed are true. Original Table (used in the examples) LastName Hansen FirstName Ola Address Timoteivn 10
Page No. 12/57
City Sandnes
Tove Stephen
Borgvn 23 Kaivn 18
Sandnes Sandnes
Use AND to display each person with the first name equal to "Tove", and the last name equal to "Svendson": SELECT * FROM Persons WHERE FirstName='Tove' AND LastName='Svendson' Result: LastName Svendson Example Use OR to display each person with the first name equal to "Tove", or the last name equal to "Svendson": SELECT * FROM Persons WHERE firstname='Tove' OR lastname='Svendson' Result: LastName Svendson Svendson Example You can also combine AND and OR (use parentheses to form complex expressions): SELECT * FROM Persons WHERE (FirstName='Tove' OR FirstName='Stephen') AND LastName='Svendson' Result: FirstName Tove Stephen Address Borgvn 23 Kaivn 18 City Sandnes Sandnes FirstName Tove Address Borgvn 23 City Sandnes
SQL IN The IN operator may be used if you know the exact value you want to return for at least one of the columns. SELECT column_name FROM table_name WHERE column_name IN (value1,value2,..) Original Table (used in the examples) LastName Hansen Nordmann Pettersen Svendson Example 1 To display the persons with LastName equal to "Hansen" or "Pettersen", use the following SQL: SELECT * FROM Persons WHERE LastName IN ('Hansen','Pettersen') Result: LastName Hansen Pettersen FirstName Ola Kari Address Timoteivn 10 Storgt 20 City Sandnes Stavanger FirstName Ola Anna Kari Tove Address Timoteivn 10 Neset 18 Storgt 20 Borgvn 23 City Sandnes Sandnes Stavanger Sandnes
SQL BETWEEN
BETWEEN ... AND The BETWEEN ... AND operator selects a range of data between two values. These values can be numbers, text, or dates. SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2 Original Table (used in the examples) LastName Hansen Nordmann Pettersen Svendson Example 1 To display the persons alphabetically between (and including) "Hansen" and exclusive "Pettersen", use the following SQL: SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen' Result: LastName Hansen Nordmann FirstName Ola Anna Address Timoteivn 10 Neset 18 City Sandnes Sandnes FirstName Ola Anna Kari Tove Address Timoteivn 10 Neset 18 Storgt 20 Borgvn 23 City Sandnes Sandnes Stavanger Sandnes
IMPORTANT! The BETWEEN...AND operator is treated differently in different databases. With some databases a person with the LastName of "Hansen" or "Pettersen" will not be listed (BETWEEN..AND only selects fields that are between and excluding the test values). With some databases a person with the last name of "Hansen" or "Pettersen" will be listed (BETWEEN..AND selects fields that are between and including the test values). With other databases a person with the last name of "Hansen" will be listed, but "Pettersen" will not be listed (BETWEEN..AND selects fields between the test values, including the first test value and excluding the last test value). Therefore: Check how your database treats the BETWEEN....AND operator!
Example 2 To display the persons outside the range used in the previous example, use the NOT operator: SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Hansen' AND 'Pettersen' Result: LastName Pettersen Svendson FirstName Kari Tove Address Storgt 20 Borgvn 23 City Stavanger Sandnes
SQL Aliases With SQL, aliases can be used for column names and table names. Column name Alias The syntax is: SELECT column AS column_alias FROM table Table Name Alias The syntax is: SELECT column FROM table AS table_alias Example: Using a Column Alias This table (Persons): LastName Hansen FirstName Ola Address Timoteivn 10 City Sandnes
Tove Kari
Borgvn 23 Storgt 20
Sandnes Stavanger
SELECT LastName AS Family, FirstName AS Name FROM Persons Returns this result: Family Hansen Svendson Pettersen Name Ola Tove Kari
Example: Using a Table Alias This table (Persons): LastName Hansen Svendson Pettersen And this SQL: SELECT LastName, FirstName FROM Persons AS Employees Returns this result: Table Employees: LastName Hansen Svendson Pettersen FirstName Ola Tove Kari FirstName Ola Tove Kari Address Timoteivn 10 Borgvn 23 Storgt 20 City Sandnes Sandnes Stavanger
Lab # 5
SQL Join Joins and Keys Sometimes we have to select data from two or more tables to make our result complete. We have to perform a join. Tables in a database can be related to each other with keys. A primary key is a column with a unique value for each row. The purpose is to bind data together, across tables, without repeating all of the data in every table. In the "Employees" table below, the "Employee_ID" column is the primary key, meaning that no two rows can have the same Employee_ID. The Employee_ID distinguishes two persons even if they have the same name. When you look at the example tables below, notice that:
The "Employee_ID" column is the primary key of the "Employees" table The "Prod_ID" column is the primary key of the "Orders" table
The "Employee_ID" column in the "Orders" table is used to refer to the persons in the "Employees" table without using their names
Employees: Employee_ID 01 02 03 04 Orders: Prod_ID 234 657 865 Product Printer Table Chair Employee_ID 01 03 03 Name Hansen, Ola Svendson, Tove Svendson, Stephen Pettersen, Kari
Referring to Two Tables We can select data from two tables by referring to two tables, like this: Example Who has ordered a product, and what did they order? SELECT Employees.Name, Orders.Product FROM Employees, Orders WHERE Employees.Employee_ID=Orders.Employee_ID Result Name Hansen, Ola Svendson, Stephen Svendson, Stephen Example Who ordered a printer? Product Printer Table Chair
SELECT Employees.Name FROM Employees, Orders WHERE Employees.Employee_ID=Orders.Employee_ID AND Orders.Product='Printer' Result Name Hansen, Ola Using Joins OR we can select data from two tables with the JOIN keyword, like this:
Example INNER JOIN Syntax SELECT field1, field2, field3 FROM first_table INNER JOIN second_table ON first_table.keyfield = second_table.foreign_keyfield Who has ordered a product, and what did they order? SELECT Employees.Name, Orders.Product FROM Employees INNER JOIN Orders ON Employees.Employee_ID=Orders.Employee_ID The INNER JOIN returns all rows from both tables where there is a match. If there are rows in Employees that do not have matches in Orders, those rows will not be listed. Result Name Hansen, Ola Svendson, Stephen Svendson, Stephen Product Printer Table Chair
Page No. 20/57
Example LEFT JOIN Syntax SELECT field1, field2, field3 FROM first_table LEFT JOIN second_table ON first_table.keyfield = second_table.foreign_keyfield List all employees, and their orders - if any. SELECT Employees.Name, Orders.Product FROM Employees LEFT JOIN Orders ON Employees.Employee_ID=Orders.Employee_ID The LEFT JOIN returns all the rows from the first table (Employees), even if there are no matches in the second table (Orders). If there are rows in Employees that do not have matches in Orders, those rows also will be listed. Result Name Hansen, Ola Svendson, Tove Svendson, Stephen Svendson, Stephen Pettersen, Kari Example RIGHT JOIN Syntax SELECT field1, field2, field3 FROM first_table RIGHT JOIN second_table ON first_table.keyfield = second_table.foreign_keyfield List all orders, and who has ordered - if any. SELECT Employees.Name, Orders.Product FROM Employees RIGHT JOIN Orders ON Employees.Employee_ID=Orders.Employee_ID Table Chair Product Printer
The RIGHT JOIN returns all the rows from the second table (Orders), even if there are no matches in the first table (Employees). If there had been any rows in Orders that did not have matches in Employees, those rows also would have been listed. Result Name Hansen, Ola Svendson, Stephen Svendson, Stephen Product Printer Table Chair
Example Who ordered a printer? SELECT Employees.Name FROM Employees INNER JOIN Orders ON Employees.Employee_ID=Orders.Employee_ID WHERE Orders.Product = 'Printer' Result Name Hansen, Ola
Lab # 6
SQL UNION and UNION ALL The UNION command is used to select related information from two tables, much like the JOIN command. However, when using the UNION command all selected columns need to be of the same data type. Note: With UNION, only distinct values are selected. SQL Statement 1 UNION SQL Statement 2
Employees_Norway: Employee_ID 01 02 03 04 Employees_USA: Employee_ID 01 02 E_Name Turner, Sally Kent, Clark E_Name Hansen, Ola Svendson, Tove Svendson, Stephen Pettersen, Kari
03 04
Using the UNION Command Example List all different employee names in Norway and USA: SELECT E_Name FROM Employees_Norway UNION SELECT E_Name FROM Employees_USA Result Name Hansen, Ola Svendson, Tove Svendson, Stephen Pettersen, Kari Turner, Sally Kent, Clark Scott, Stephen Note: This command cannot be used to list all employees in Norway and USA. In the example above we have two employees with equal names, and only one of them is listed. The UNION command only selects distinct values. UNION ALL The UNION ALL command is equal to the UNION command, except that UNION ALL selects all values. SQL Statement 1 UNION ALL SQL Statement 2 Using the UNION ALL Command
Example List all employees in Norway and USA: SELECT E_Name FROM Employees_Norway UNION ALL SELECT E_Name FROM Employees_USA Result Name Hansen, Ola Svendson, Tove Svendson, Stephen Pettersen, Kari Turner, Sally Kent, Clark Svendson, Stephen Scott, Stephen
SQL Create Database, Table, and Index Create a Database To create a database: CREATE DATABASE database_name Create a Table To create a table in a database: CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, ....... )
Example This example demonstrates how you can create a table named "Person", with four columns. The column names will be "LastName", "FirstName", "Address", and "Age": CREATE TABLE Person ( LastName varchar, FirstName varchar, Address varchar, Age int ) This example demonstrates how you can specify a maximum length for some columns: CREATE TABLE Person ( LastName varchar(30), FirstName varchar, Address varchar, Age int(3) ) The data type specifies what type of data the column can hold. The table below contains the most common data types in SQL: Data Type integer(size) int(size) smallint(size) tinyint(size) decimal(size,d) numeric(size,d) char(size) Description Hold integers only. The maximum number of digits are specified in parenthesis.
Hold numbers with fractions. The maximum number of digits are specified in "size". The maximum number of digits to the right of the decimal is specified in "d". Holds a fixed length string (can contain letters, numbers, and special characters). The fixed size is specified in parenthesis. Holds a variable length string (can contain letters, numbers, and special characters). The maximum size is specified in parenthesis. Holds a date
varchar(size)
date(yyyymmdd)
Lab # 7
Create Index Indices are created in an existing table to locate rows more quickly and efficiently. It is possible to create an index on one or more columns of a table, and each index is given a name. The users cannot see the indexes, they are just used to speed up queries. Note: Updating a table containing indexes takes more time than updating a table without, this is because the indexes also need an update. So, it is a good idea to create indexes only on columns that are often used for a search. A Unique Index Creates a unique index on a table. A unique index means that two rows cannot have the same index value. CREATE UNIQUE INDEX index_name ON table_name (column_name) The "column_name" specifies the column you want indexed. A Simple Index Creates a simple index on a table. When the UNIQUE keyword is omitted, duplicate values are allowed. CREATE INDEX index_name ON table_name (column_name) The "column_name" specifies the column you want indexed.
Example This example creates a simple index, named "PersonIndex", on the LastName field of the Person table: CREATE INDEX PersonIndex ON Person (LastName) If you want to index the values in a column in descending order, you can add the reserved word DESC after the column name: CREATE INDEX PersonIndex ON Person (LastName DESC) If you want to index more than one column you can list the column names within the parentheses, separated by commas: CREATE INDEX PersonIndex ON Person (LastName, FirstName) SQL Drop Index, Table and Database Drop Index You can delete an existing index in a table with the DROP statement. DROP INDEX table_name.index_name Delete a Table or Database To delete a table (the table structure, attributes, and indexes will also be deleted): DROP TABLE table_name To delete a database: DROP DATABASE database_name Truncate a Table What if we only want to get rid of the data inside a table, and not the table itself? Use the TRUNCATE TABLE command (deletes only the data inside the table):
Lab # 8
SQL ALTER TABLE The ALTER TABLE statement is used to add or drop columns in an existing table. ALTER TABLE table_name ADD column_name datatype ALTER TABLE table_name DROP COLUMN column_name Note: Some database systems don't allow the dropping of a column in a database table (DROP COLUMN column_name). Person: LastName Pettersen Example To add a column named "City" in the "Person" table: ALTER TABLE Person ADD City varchar(30) Result: LastName Pettersen Example To drop the "Address" column in the "Person" table: ALTER TABLE Person DROP COLUMN Address Result:
Page No. 29/57
FirstName Kari
Address Storgt 20
FirstName Kari
Address Storgt 20
City
LastName Pettersen
FirstName Kari
City
SQL Functions SQL has a lot of built-in functions for counting and calculations. Function Syntax The syntax for built-in SQL functions is: SELECT function(column) FROM table Types of Functions There are several basic types and categories of functions in SQL. The basic types of functions are:
Aggregate functions Aggregate functions operate against a collection of values, but return a single value. Note: If used among many other expressions in the item list of a SELECT statement, the SELECT must have a GROUP BY clause!! "Persons" table (used in most examples) Name Hansen, Ola Svendson, Tove Pettersen, Kari Aggregate functions in MS Access Function AVG(column) COUNT(column) Description Returns the average value of a column Returns the number of rows (without a NULL value) Age 34 45 19
of a column COUNT(*) FIRST(column) LAST(column) MAX(column) MIN(column) STDEV(column) STDEVP(column) SUM(column) VAR(column) VARP(column) Aggregate functions in SQL Server Function AVG(column) BINARY_CHECKSUM CHECKSUM CHECKSUM_AGG COUNT(column) COUNT(*) COUNT(DISTINCT column) FIRST(column) LAST(column) MAX(column) MIN(column) STDEV(column) STDEVP(column) SUM(column) VAR(column) VARP(column) Scalar functions
Page No. 31/57
Returns the number of selected rows Returns the value of the first record in the specified field Returns the value of the last record in the specified field Returns the highest value of a column Returns the lowest value of a column
Returns the number of rows (without a NULL value) of a column Returns the number of selected rows Returns the number of distinct results Returns the value of the first record in the specified field Returns the value of the last record in the specified field Returns the highest value of a column Returns the lowest value of a column
Scalar functions operate against a single value, and return a single value based on the input value. Useful Scalar Functions in MS Access Function UCASE(c) LCASE(c) MID(c,start[,end]) LEN(c) INSTR(c) LEFT(c,number_of_char) RIGHT(c,number_of_char) ROUND(c,decimals) MOD(x,y) NOW() FORMAT(c,format) DATEDIFF(d,date1,date2) Description Converts a field to upper case Converts a field to lower case Extract characters from a text field Returns the length of a text field Returns the numeric position of a named character within a text field Return the left part of a text field requested Return the right part of a text field requested Rounds a numeric field to the number of decimals specified Returns the remainder of a division operation Returns the current system date Changes the way a field is displayed Used to perform date calculations
Lab # 9
SQL GROUP BY and HAVING Aggregate functions (like SUM) often need an added GROUP BY functionality. GROUP BY... GROUP BY... was added to SQL because aggregate functions (like SUM) return the aggregate of all column values every time they are called, and without the GROUP BY function it was impossible to find the sum for each individual group of column values. The syntax for the GROUP BY function is: SELECT column,SUM(column) FROM table GROUP BY column GROUP BY Example This "Sales" Table: Company W3Schools IBM W3Schools And This SQL: SELECT Company, SUM(Amount) FROM Sales Returns this result: Company W3Schools IBM W3Schools SUM(Amount) 17100 17100 17100 Amount 5500 4500 7100
The above code is invalid because the column returned is not part of an aggregate. A GROUP BY clause will solve this problem:
SELECT Company,SUM(Amount) FROM Sales GROUP BY Company Returns this result: Company W3Schools IBM HAVING... HAVING... was added to SQL because the WHERE keyword could not be used against aggregate functions (like SUM), and without HAVING... it would be impossible to test for result conditions. The syntax for the HAVING function is: SELECT column,SUM(column) FROM table GROUP BY column HAVING SUM(column) condition value This "Sales" Table: Company W3Schools IBM W3Schools This SQL: SELECT Company,SUM(Amount) FROM Sales GROUP BY Company HAVING SUM(Amount)>10000 Returns this result Company W3Schools SUM(Amount) 12600 Amount 5500 4500 7100 SUM(Amount) 12600 4500
The SELECT INTO statement is most often used to create backup copies of tables or for archiving records. Syntax SELECT column_name(s) INTO newtable [IN externaldatabase] FROM source Make a Backup Copy The following example makes a backup copy of the "Persons" table: SELECT * INTO Persons_backup FROM Persons The IN clause can be used to copy tables into another database: SELECT Persons.* INTO Persons IN 'Backup.mdb' FROM Persons If you only want to copy a few fields, you can do so by listing them after the SELECT statement: SELECT LastName,FirstName INTO Persons_backup FROM Persons You can also add a where clause. The following example creates a "Persons_backup" table with two columns (FirstName and LastName) by extracting the persons who lives in "Sandnes" from the "Persons" table: SELECT LastName,Firstname INTO Persons_sandnes FROM Persons WHERE City='Sandnes' Selecting data from more than one table is also possible. The following example creates a new table "Empl_Ord_backup" that contains data from the two tables Employees and Orders: SELECT Employees.Name,Orders.Product INTO Empl_Ord_backup FROM Employees INNER JOIN Orders ON Employees.Employee_ID=Orders.Employee_ID
Lab # 10
JAVA Programming
Example 1 class Person { protected protected protected String name; String phone; String age;
void show() { System.out.println(" Name .. is "+name); System.out.println(" Phone .. is "+phone); System.out.println(" Age .. is "+age); } } class PersonDemo{ public static void main(String arg[]){ Person p; p=new Person(); p.name="Ali"; p.phone="4971134"; p.age="71"; p.show(); }} - - - - - -- - - - - - - - -- - - - - - Create The Person Class and Compiled it. Example 2 class Person { protected protected protected String name; String phone; String age;
void show() { System.out.println(" Name .. is "+name); System.out.println(" Phone .. is "+phone); System.out.println(" Age .. is "+age); } }
Javac Person.java - - - - - - -- - -- - - - - - - - - Create The Person Demo Class And Create The Oject Of Person Class in it. class PersonDemo{ public static void main(String arg[]){ Person p; p=new Person(); p.name="Ali"; p.phone="4971134"; p.age="71"; p.show(); }} - - -- - - - -- - - - - - - - - - - - - -
Distance Demo & Passing The arguments in the class By method. ( this keyword Show Current Class Object) Example 3 class Distance { int feet; float inches; void setDistance(int feet,float inches){ this.feet=feet; this.inches=inches; if(this.inches>=12){ this.inches=this.inches-12; this.feet++;} } void showDistance() { System.out.println(" Feet ="+feet); System.out.println(" Inches ="+inches);} }
Distance d1,d2; d1=new Distance(); d2=new Distance(); d1.setDistance(5,15.2f); d2.setDistance(6,13.3f); d1.showDistance(); d2.showDistance(); } } - - - -- - - - -- - - - -- - - -- - - - Example 4 Inis class Method return the Bundle String class Person { protected protected protected Person() { } Person(String name,String phone,String age) { this.name=name; this.phone=phone; this.age=age; } String getStringBundle() { return name+"\n "+phone+"\n "+age; } } // Class String name; String phone; String age;
Lab # 11
Page No. 38/57
class PersonReturnMethod { public static void main(String arg[]){ Person p; p=new Person("Ali","899899","34"); String str=p.getStringBundle(); System.out.print(str); }} - - - - - - - -- - - - - - - - - - - - - - Get By Reference Example 5 class Person { protected protected Person() { } Person(String name,String phone) { this.name=name; this.phone=phone; } void GetByRef(Person p) { p.name+=" Azeem"; p.phone+=" 899093"; } String getStringBundle() { return name+"\n "+phone; } } // Class 1
Get Reference By 2 Example 6 class Person { protected protected Person() { } Person(String name,String phone) { this.name=name; this.phone=phone; } } class Teacher { protected String subject; protected String address; Teacher(String subject,String address) { this.subject=subject; this.address=address; } String getString(Person p) { return p.name+" "+p.phone+" "+subject+" "+address; } } // Class String name; String phone;
class PersonByRef2 { public static void main(String arg[]){ Person p; Teacher t; p=new Person("Ali","899899"); t=new Teacher("Math","Karachi"); String s=t.getString(p); System.out.print(s); }} - -- - -- - - - - - -- - - - - - -
Sequence Of The Constructor Example 7 class A { A(){ System.out.println("I am Constructor Of A"); } } class B extends A { B(){ System.out.println("I am Constructor Of B"); } } class C extends B { C() { System.out.println("I am Constructor Of C"); } }
class ConstructorSeq { public static void main(String arg[]) { C ob=new C(); }} I am Constructor Of A I am Constructor Of B I am Constructor Of C - - - -- - - - - -- - - -- - - Sequence OF the Constructor By Super class A { A(int x)
{ System.out.println("A X Value "+x); } A() { System.out.println(" I am Constructor A");} } class B extends A { B(int x) { super(x); System.out.println("B X Value "+x); } B() { System.out.println(" I am Constructor B");} } class C extends B { C(int x) { super(x); System.out.print("C X Value "+x); } C() { System.out.println(" I am Constructor C");} }
Lab # 12
Page No. 42/57
class ConstructorSeq2 { public static void main(String arg[]) { C ob=new C(10); System.out.println(); C ob1=new C(); }} Method Overriding Example 8 - - - - - - - - -- - - - - - class Figure { int width; int height; void show() { System.out.println(" No Figure "); }} ////////////////////////////////////////////////// class Ball extends Figure { Ball(int w,int h){ width=w; height=h; } void show() { System.out.println(" Width Of Ball "+width); System.out.println(" Height Of Ball "+height); }} ////////////////////////////////////////// class Bat extends Figure { Bat(int w,int h) { width=w; height=h; } void show() { System.out.println(" Width Of Bat "+width); System.out.println(" Height Of Bat "+height); } } ////////////////////////////////////////////////// class Wicket extends Figure { Wicket(int w,int h) { width=w; height=h; } void show() { System.out.println(" Width Of Wicket "+width);
System.out.println(" Height Of
Wicket "+height);
} }
______________________________________________________________ class Overriding { public static void main(String arg[]) { Figure f=new Figure(); Ball bl=new Ball(2,2); Bat bt=new Bat(2,5); Wicket wk=new Wicket(1,5); f=bt; f.show(); f=bl; bl.show(); f=bt; f.show(); }} - - - -- - - - - - -- - - Example 9 abstract class Set { int x=100; static int y=59; abstract abstract void Play(); void Stop(); } }
static void forward(){ System.out.println(" We are Very Happy To See"); ////////////////////////////////////////////////// class VCR extends Set{ void Play() { System.out.println(" PLAY VCR ");} void Stop() { System.out.println(" STOP VCR ");} } ////////////////////////////////////////// class DEC extends Set {
void Play() { System.out.println(" PLAY DEC ");} void Stop() { System.out.println(" STOP DEC ");} } ////////////////////////////////////////////////// class CD extends Set { void Play() { System.out.println(" PLAY CD ");} void Stop() { System.out.println(" STOP CD ");} }
class Overriding2 { public static void main(String arg[]) { Set s; VCR vc=new VCR(); DEC dc=new DEC(); CD cd=new CD(); s=vc; s.Play(); s.Stop(); s=cd; s.Play(); s.Stop(); cd.forward(); Set.forward(); System.out.println(cd.x+" }}
"+Set.y);
Lab # 13
Example 10 class Graphic { void drawline(){ for(int i=1;i<=78;i++) System.out.print("*"); } void drawline(String symbole){ for(int i=1;i<=78;i++) System.out.print(symbole); } void drawline(String symbole,int times) { for(int i=1;i<=times;i++) System.out.print(symbole); } } class DemoGraphic { public static void main(String arg[]) { Graphic mg=new Graphic(); mg.drawline(); System.out.println(" Well Come To IT "); mg.drawline("_"); System.out.println(" Well Come To IT "); mg.drawline("+",50); }}
Example 11 class TestStatic { static int i; int j; TestStatic(){ i++; j++; } void show(){ System.out.println(" Value Of i="+i); System.out.println(" Value Of j="+j); } } class DemoStatic { public static void main(String arg[]) { TestStatic s1=new TestStatic(); TestStatic s2=new TestStatic(); TestStatic s3=new TestStatic(); s1.show();
s2.show(); s3.show(); }} output I=3 J=1 I=3 J=1 I=3 J=1 ___________________________________________________ Static Method IF a method is static ,it can be called by its class Name . No need to create object for call it.but we can call the Static method by class object. Example 13 class St { static String x; static void writeString(){ x="Hello"; for(int i=1;i<=3;i++) System.out.print(x); } } class StaticMethod { public static void main(String arg[]) { St ob=new St(); ob.writeString(); St.writeString(); }} - - - - - - - -- - - - - - --
Static Block You can declare a static block which gets executed exactly Once When the class first loaded.
Example 14 class DemoStatic { static int x; static int y; static { x=10; y=x*2; } public static void show(){ System.out.println(" X="+x); System.out.println(" Y="+y); } } class DemoRun { public static void main(String arg[]) { DemoStatic.show(); }} - - - -- - - - - - -
Inheritance Inheritance is a feature of object-oriented programming Through which child class can be use( Variable and methods) Of its parents class. Types of Inheritance A) Multi level Inheritance(Allow)(Parent have more than one chid. B) MultipleInheritance.(Not Allow)(A Child have more Than one par.
Example 14 class Person { String name; String phone; void setData(String nm,String ph) { name=nm; phone=ph; } void showData(){ System.out.println(" Name "+name); System.out.println(" Phone"+phone); } }
class Teacher extends Person { String subject; String exp; void setData(String nm,String ph,String sub,String ep) { name=nm; phone=ph; subject=sub; exp=ep; } void showData(){ System.out.println(" System.out.println(" System.out.println(" System.out.println(" Name "+name); Phone"+phone); Subject "+subject); Experience "+exp); } }
class Student extends Person { String clas; String school; void setData(String nm,String ph,String cls,String sch){ name=nm; phone=ph; clas=cls; school=sch; } void showData(){ System.out.println(" System.out.println(" System.out.println(" System.out.println(" Name "+name); Phone"+phone); Class "+clas); School "+school); } }
class DemoInheritance{ public static void main(String arg[]) { Teacher t=new Teacher(); Student s=new Student(); Person p=new Person(); p.setData("P_Wahid","P_6666666"); t.setData("T_Ali","t_223232","T_java","T_5"); s.setData("S_Ahemd","S_4432","S_x","S_Kiit"); t.showData(); System.out.println(""); s.showData(); System.out.println(""); p.showData(); System.out.println("");
Example 15 class Person { String name; String phone; void showData(){ System.out.println(" Name "+name); System.out.println(" Phone"+phone); } } class Teacher extends Person { String subject; String exp; void setData(String nm,String ph,String sub,String ep) { name=nm; phone=ph; subject=sub; exp=ep; } void showData(){ System.out.println(" System.out.println(" System.out.println(" System.out.println(" Name "+name); Phone"+phone); Subject "+subject); Experience "+exp); } }
class Student extends Person { String clas; String school; void setData(String nm,String ph,String cls,String sch){ name=nm; phone=ph; clas=cls; school=sch; } void showData(){ System.out.println(" Name "+name);
Page No. 50/57
System.out.println(" Phone"+phone); System.out.println(" Class "+clas); System.out.println(" School "+school); } } class DemoInheritance{ public static void main(String arg[]) { Teacher t=new Teacher(); Student s=new Student(); Person p=new Person(); p.setData("P_Wahid","P_6666666"); t.setData("T_Ali","t_223232","T_java","T_5"); s.setData("S_Ahemd","S_4432","S_x","S_Kiit"); t.showData(); System.out.println(""); s.showData(); System.out.println(""); p.showData(); System.out.println(""); System.out.println(t.name); System.out.println(s.name); System.out.println(p.name); }}
interface Playpad2{ void Stop(); } ////////////////////////////////////////////////// class VCR implements Playpad,Playpad2{ public void Play() { System.out.println(" PLAY VCR ");} public void Stop() { System.out.println(" STOP VCR ");} }
//////////////////////////////////////////////////// class DemoInterface2 { public static void main(String arg[]) { Playpad p1; Playpad2 p2; VCR vc=new VCR(); p1=vc; p1.Play(); p2=vc; p2.Stop(); }}
Lab # 14
Dosn For Access Data Source Example #1 import java.sql.*; class DataDemo { public static void main(String arg[]){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection cn=DriverManager.getConnection("jdbc:odbc:dodsn"); Statement st=cn.createStatement(); ResultSet rs; rs=st.executeQuery("Select * from emp"); while(rs.next()) { String a1=rs.getString(1); String a2=rs.getString(2); String a3=rs.getString(3); System.out.println(a1+ " "+a2+ " "+a3); }} catch(Exception e) { System.out.println("Error "+e); } }} - - - - - - - - - - - - - - - - - - - - - -
For Oracle Data Source Example # 2 import java.sql.*; class OracleData { public static void main(String arg[]){
Page No. 53/57
try { String driver="sun.jdbc.odbc.JdbcOdbcDriver"; String username="scott"; String password="tiger"; String url="jdbc:odbc:asd"; String table="create table pp(empno number(2),ename varchar2(10),job varchar2(10))"; Class.forName(driver); Connection cn=DriverManager.getConnection(url,username,password); Statement st=cn.createStatement(); int ss=st.executeUpdate(table); ResultSet rs; rs=st.executeQuery("Select * from emp"); while(rs.next()) { String a1=rs.getString(1); String a2=rs.getString(2); String a3=rs.getString(3); System.out.println(a1+a2+a3); }} catch(Exception e) { System.out.println("Error "); } } Dodsn2 For SQL Server Data Source Example#3 import java.sql.*; class SqlServerData { public static void main(String arg[]){ try { String driver="sun.jdbc.odbc.JdbcOdbcDriver"; String username="scott"; String password="tiger"; String url="jdbc:odbc:dodsn2"; String table="create table pp(empno integer,ename varchar(10),job varchar(10))"; Class.forName(driver); Connection cn=DriverManager.getConnection(url); Statement st=cn.createStatement(); int ss=st.executeUpdate(table); System.out.println(" Table is Created "+ ss); ResultSet rs; rs=st.executeQuery("Select * from emp"); while(rs.next()) { String a1=rs.getString(1);
Dodsn2 For Oracle Server Data Source Example#4 import java.sql.*; class DataDemo3 { public static void main(String arg[]){ try { String driver="sun.jdbc.odbc.JdbcOdbcDriver"; String username="scott"; String password="tiger"; String url="jdbc:odbc:zxc"; String table="create table emp(empno char(12),ename char(20),job char(16))"; Class.forName(driver); Connection cn=DriverManager.getConnection(url); Connection cn1=DriverManager.getConnection(url); Statement st=cn.createStatement(); Statement st1=cn1.createStatement(); int ss=st.executeUpdate(table); //ss=st.executeUpdate("insert into emp values('1o1','Ali','Clerk')"); ResultSet rs; rs=st1.executeQuery("Select * from table1"); while(rs.next()) { String a1=rs.getString(1); String a2=rs.getString(2); String a3=rs.getString(3); ss=st.executeUpdate("insert into emp values('"+a1+"','"+a2+"','"+a3+"')"); System.out.println(a1+a2+a3); }} catch(Exception e) { System.out.println("Error "+e); } }}
Meta Data ( To Get The Information Of The Table) Example#5 import java.sql.*; class DataMeta{ public static void main(String arg[]){ try { String driver="sun.jdbc.odbc.JdbcOdbcDriver"; String username="scott"; String password="tiger"; String url="jdbc:odbc:zxc"; String x="select * from table1 where code= ? "; Class.forName(driver); Connection cn=DriverManager.getConnection(url); PreparedStatement pst=cn.prepareStatement(x); pst.setString(1,"2"); ResultSet rs; rs=pst.executeQuery(); ResultSetMetaData rsmd=rs.getMetaData(); int totfield=rsmd.getColumnCount(); for(int i=1;i<=totfield;i++){ String nm=rsmd.getColumnLable(i); System.out.println(nm+"\t")} System.out.println("\n"); while(rs.next()) { for(int k=1;k<=totfield;k++) System.out.println(rs.getString(k)+"\t"); System.out.println("\n"); } }
Prepared Statements Example#6 import java.sql.*; class DataPerpared{ public static void main(String arg[]){ try { String driver="sun.jdbc.odbc.JdbcOdbcDriver"; String username="scott";
String password="tiger"; String url="jdbc:odbc:zxc"; String x="select * from table1 where code= ? "; Class.forName(driver); Connection cn=DriverManager.getConnection(url); PreparedStatement pst=cn.prepareStatement(x); pst.setString(1,"2"); ResultSet rs; rs=pst.executeQuery(); rs.next(); System.out.print(rs.getString(1)+rs.getString(2)); } catch(Exception e) { System.out.println("Error "+ e ); } }}
Update Statements Example#7 import java.sql.*; class DataUpdate{ public static void main(String arg[]){ try { String driver="sun.jdbc.odbc.JdbcOdbcDriver"; String url="jdbc:odbc:zxc"; Class.forName(driver); Connection cn=DriverManager.getConnection(url); Statement st=cn.createStatement(); int rec=st.executeUpdate("insert into table1 values('101','Zafar','1001')"); cn.commit(); System.out.println(" Affected Rows "+rec); } catch(Exception e) { System.out.println("Error "+ e ); } }}