SQL Data Manipulation Language (DML)

SQL Data Manipulation Language (DML)

Islamic University Of Gaza Faculty of Engineering Computer Engineering Department Database Lab (ECOM 4113) Lab 2 SQL Data Manipulation Language (DML) Eng. Ibraheem Lubbad SQL stands for Structured Query Language, it’s a standard language for accessing and manipulating databases. SQL commands are case insensitive instructions used to communicate with the database to perform specific tasks, work, functions and queries with data. All SQL statements start with any of the keywords like SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, CREATE, USE, SHOW and all the statements end with a semicolon (;) SQL commands are grouped into major categories depending on their functionality: Data Manipulation Language (DML) - These SQL commands are used for storing, retrieving, modifying, and deleting data. These Data Manipulation Language commands are CALL, DELETE, EXPLAIN, INSERT, LOCK TABLE, MERGE, SELECT and UPDATE. Data Definition Language (DDL) - These SQL commands are used for creating, modifying, and dropping the structure of database objects. The commands are ALTER, ANALYZE, AUDIT, COMMENT, CREATE, DROP, FLASHBACK, GRANT, PURGE, RENAME, REVOKE and TRUNCATE. Transaction Control Language (TCL) - These SQL commands are used for managing changes affecting the data. These commands are COMMIT, ROLLBACK, and SAVEPOINT. Data Control Language (DCL) - These SQL commands are used for providing security to database objects. These commands are GRANT and REVOKE. In our lab we will use university schema (you can open it by click on file) SELECT Statement: The SELECT statement retrieves data from a database. The data is returned in a table-like structure called a result-set. SELECT is the most frequently used action on a database. To create a simple SQL SELECT Statement, you must specify the column(s) name and the table name. The whole query is called SQL SELECT Statement. Syntax of SQL Select Statement SELECT * | {[DISTINCT] column_list | expression [alias],...} FROM table-name [WHERE condition] [GROUP BY columns] [HAVING group-selection-condition] [ORDER BY column-names || aliases || column-numbers]; -table-name : is the name of the table from which the information is retrieved. -column_list : includes one or more columns from which data is retrieved. -The code within the brackets is optional. Retrieve data by specific column: Select Spesfic Coumn SELECT NAME, DEPT_NAME FROM INSTRUCTOR; Retrieve data For all column using (*): Use * To Select All Column SELECT * FROM INSTRUCTOR; Arithmetic Expressions: Arithmetic operators can perform arithmetical operations on numeric operands involved. Arithmetic operators are addition (+), subtraction (-), multiplication (*) and division (/). The + and - operators can also be used in date arithmetic Use * To Select All Column SELECT NAME, DEPT_NAME, SALARY, SALARY/100 FROM INSTRUCTOR; Null Values: A null is value is unknown or does not exist It is NOT the same as a zero or a blank space. The result of any arithmetic expressions containing a null value is a Null value. You cannot use equal operator (=) to compare two null values! Instead, use (IS) with special keyword null to check if a value is null or not. Example: retrieve all student who his grade has not been awarded Use * To Select All Column SELECT ID, COURSE_ID,GRADE FROM TAKES WHERE GRADE IS NULL; The result of an arithmetic expression (involving, for example +, −, ∗, or /) is null if any of the input values is null Use * To Select All Column SELECT NULL*20 FROM DUAL A Column Alias: Renames a column heading Is useful with calculations Immediately follows the column name (There can also be the optional AS keyword between the column name and alias.) Requires double quotation marks if it contains spaces or special characters or if it is case-sensitive A Concatenation Operator Links columns or character strings to other columns Is represented by two vertical bars (|| ) Creates a resultant column that is a character expression Use * To Select All Column SELECT TIME_SLOT_ID ,Start_HR || ':'||Start_Min as STartTime ,ENd_hr || ':' || End_min as EndTime from Time_slot; SELECT DISTINCT Statement SELECT DISTINCT returns only distinct (different) values. SELECT DISTINCT eliminates duplicate records from the results. DISTINCT operates on a single column. DISTINCT for multiple columns is not supported SQL WHERE Clause: To limit the number of rows use the WHERE clause. The WHERE clause filters for rows that meet certain criteria. WHERE is followed by a condition that returns either true or false. WHERE is used with SELECT, UPDATE, and DELETE. Example: Find the names of all instructors in the Computer Science department Syntax of SQL INSERT Statement SELECT NAME FROM INSTRUCTOR WHERE DEPT_NAME = 'COMP. SCI.'; Notes: When you deal with character strings or date values, you must enclosed them by single quotation marks ( ‘ ’ ) Character values are case-sensitive, and date values are format-sensitive. SQL WHERE LIKE Statement: Pattern matching can be performed on strings, use the like statement Patterns are case sensitive describe patterns by using two special characters Percent (%): The % character matches any substring Underscore (_ ): The character matches any character. Example: Find the names of all student whose name starts with ‘S’. Example: Find the names of all student whose name with second and third character “an” Comparison operators: Operator Operator Description = Equal to > Greater than >= Greater than or equal to < Less than <= Less than or equal to <> Not equal to BETWEEN ... AND... Between two values (inclusive) IN(set) Match any of a list of values ANY(set) Compare to any value in a set ALL(set) Compare to all values in a set [NOT] LIKE Match a character pattern IS[NOT] NULL Is a null value Rules of Precedence: Operator Priority Parentheses () 1 Arithmetic operators / , * 2 + , - 3 Concatenation operator || 4 Comparison conditions <,> ,>=, <=,<> 5 IS [NOT] NULL, LIKE, [NOT] IN 6 [NOT] BETWEEN 7 Not equal to 8 NOT logical condition 9 AND logical condition 10 OR logical condition 11 Note: <> all is identical to not in, whereas = all is not the same as in Example: find the names of instructors with salary amounts between $90,000 and $100,000. Syntax of SQL INSERT Statement SELECT NAME FROM INSTRUCTOR WHERE SALARY BETWEEN 90000 AND 100000; Instead of: Syntax of SQL INSERT Statement SELECT NAME FROM INSTRUCTOR WHERE SALARY <= 100000 AND SALARY >= 90000; Example: Find all the names of instructors whose names are neither “Mozart” nor “Einstein”. Syntax of SQL INSERT Statement SELECT DISTINCT NAME FROM INSTRUCTOR WHERE NAME NOT IN ('MOZART', 'EINSTEIN'); Sort: You can sort rows retrieved by a query using the optional [ORDER BY clause]. Example: retrieving all departments’ records sorted by budget. Syntax of SQL INSERT Statement SELECT DEPT_NAME,BUILDING,BUDGET FROM DEPARTMENT ORDER BY BUDGET ; By default, “ORDER BY” Clause sorts the retrieved rows in ascending order. To reverse the ordering, use “DESC” keyword after column-name. Syntax of SQL INSERT Statement SELECT DEPT_NAME,BUILDING,BUDGET FROM DEPARTMENT ORDER BY BUDGET DESC; You can also sort rows according to expression result; in this case, you have to use an alias instead of column name also, sort rows according to more than one column. Example: Find all instructor sorted by their monthly salary. Sorting According to More Than One Column SELECT NAME , DEPT_NAME ,SALARY/12 MONTHLY FROM INSTRUCTOR ORDER BY MONTHLY Example: Find all student sorted by their department name , if there are two student have the same department name , then sort them by total credit in ascending order, then by their “student name” alias. Sorting According to More Than One Column SELECT NAME "STUDNET NAME ”,DEPT_NAME,TOT_CRED FROM STUDENT ORDER BY DEPT_NAME, TOT_CRED DESC, "STUDNET NAME" ; Note: in “ORDER BY” clause, you can type (column | alias) numeric position instead of name. For example in the previous query, department name column comes first in the query, so its number is 1. total credit comes second, so its number is 2. Finally, “student name” alias comes third, so its number is 3. Therefore, the previous query can be wrote in another way: Sorting According to More Than One Column SELECT NAME "STUDNET NAME" ,DEPT_NAME,TOT_CRED FROM STUDENT ORDER BY 2,3 DESC, 1 ; INSERT Statement: INSERT statement is used to add new rows into a table in the database. Syntax of SQL INSERT Statement INSERT INTO Table-Name (column_list) VALUES (values-list); Example SQL INSERT Statement INSERT INTO CLASSROOM (BUILDING, ROOM_NUMBER, CAPACITY) VALUES ('AL QUDS’, 218, 25) You can also insert new rows without specifying column names, by typing: “INSERT INTO” table-name VALUES (value-list)”. In this case, you MUST order values in the same order of its corresponding columns. Example SQL INSERT Statement INSERT INTO CLASSROOM VALUES ('AL QUDS’, 218, 25) Q) Create a section of ‘Database lab CS-348’ course in fall 2016, with sec id of 1 and class room al Quds 218. Syntax of SQL DELETE Statement INSERT INTO SECTION VALUES ('CS-348', 1, 'FALL', 2016, 'AL QUDS', '218', 'A'); Use select with insert statement Q) Enroll every student in ’ Database CS-347’ course taken in 2009, in the above section. Syntax of SQL DELETE Statement INSERT INTO TAKES (ID, COURSE_ID,SEC_ID,SEMESTER,YEAR) SELECT ID, 'CS-348','1', 'FALL',2016 Constant columns FROM TAKES Insert constant value WHERE COURSE_ID='CS-347'; DELETE Statement DELETE statement is used to delete rows from a table according to a specified condition. Syntax of SQL DELETE Statement DELETE FROM table-name WHERE condition; Example: Using DELETE Statement DELETE FROM CLASSROOM WHERE BUILDING='AL QUDS' Note: It also can be used to delete all rows from a table by not specifying any conditions. If you want to empty a table, you just have to issue this command: “DELETE FROM table-name”. You should be aware when using this form. Q) Delete enrollments in the above section where the student’s name is contain “han” substring Syntax of SQL DELETE Statement DELETE FROM TAKES WHERE (ID ,COURSE_ID) IN ( SELECT ID,'CS-348' Constant columns FROM STUDENT Insert constant value WHERE NAME LIKE '%HAN%'); UPDATE Statement UPDATE statement is used to modify existing rows values in a table.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us