Mysql Introduction 1
Mysql Introduction 1
CREATION OF A TABLE
MODIFICATION IN A TABLE
REMOVING TABLE
DROP TABLE EMPLOYEE;
1
DATA MANIPULATION LANGUAGE (DML)
INSERT, SELECT, UPDATE, DELETE
* Date format for insertion - ‘2010-04-20’. FOUR DIGIT YEAR-TWO DIGIT MONTH-TWO DIGIT DAY.
2
TRANSACTION CONTROL LANGUAGE (TCL)
COMMIT, SAVEPOINT, ROLLBACK, SET TRANSACTION
COMMIT;
ROLLBACK TO SAVEPOINT
SHOW TABLES -- To see all the tables from the current database.
DESCRIBE SALARY -- To display the structure of table i.e. columns names their datatype,
OR width, constraints
DESC SALARY
3
MORE OPTION FOR DML COMMANDS
SELECT COMMAND
* Means all columns otherwise you specify the column names
SELECT * FROM EMPLOYEE;
ALL
SELECT ALL SALAMT FROM SALARY;
DISTINCT
SELECT DISTINCT SALAMT FROM SALARY;
CALCULATOR
SELECT 5+68;
SELECT 5+68 FROM DUAL;
SELECT ECODE, SALAMT*12 FROM SALARY;
CURRENT DATE
SELECT CURDATE();
HANDLING NULLS
SELECT NAME, BIRTH, DEATH FROM ABC;
SELECT NAME, BIRTH, IFNULL(DEATH, ”ALIVE”) FROM ABC;
4
BETWEEN
SELECT ECODE, EMPNAME FROM SALARY WHERE SALAMT BETWEEN 20000 AND 50000;
SELECT ECODE, EMPNAME FROM SALARY WHERE SALAMT NOT BETWEEN 20000 AND 50000;
IN
SELECT * FROM SALARY WHERE SALAMT IN (10000,19270,24500,70000);
LIKE
SELECT * FROM EMPLOYEE WHERE EMPNAME LIKE ‘A%’; -- Starts with A.
SELECT * FROM EMPLOYEE WHERE EMPNAME LIKE ‘----‘; -- Exact four characters.
SELECT * FROM EMPLOYEE WHERE EMPNAME LIKE ‘---&‘; -- At least three characters.
NULL
SELECT * FROM EMPLOYEE WHERE EMPNAME IS NULL;
ORDER BY
SELECT * FROM EMPLOYEE ORDER BY EMPNAME;
SELECT * FROM SALARY WHERE SALAMT >50000 ORDER BY ECODE DESC;
USING ALIAS
SELECT ECODE SALAMT*12 “ANNUAL SALARY” FROM SALARY ORDER BY “ANNUAL SALARY”
5
USE OF FUNCTIONS WITH DML STATEMENTS
STRING FUNCTION
SELECT CHAR(65); -- To display the character against ASCII CODE 65.
SELECT CONCAT(ECODE, EMPNAME) AS “CODENAME” FROM EMPLOYEE; -- To merge two columns.
SELECT LOWER(EMPNAME) AS “EMPLOYEENAME” FROM EMPLOYEE; -- Display in lower case.
SELECT LCASE(EMPNAME) AS “EMPLOYEENAME” FROM EMPLOYEE; -- Display in lower case.
SELECT UPPER(EMPNAME) AS “EMPLOYEENAME” FROM EMPLOYEE; -- Display in UPPER case.
SELECT UCASE(EMPNAME) AS “EMPLOYEENAME” FROM EMPLOYEE; -- Display in UPPER case.
SELECT SUBSTR(EMPNAME,1,3) FROM EMPLOYEE; -- Display first three character from empname.
SELECT RTRIM(EMPNAME) FROM EMPLOYEE; -- Removes space from right side of empname.
SELECT LTRIM(EMPNAME) FROM EMPLOYEE; -- Removes space from left side of empname.
SELECT TRIM(EMPNAME) FROM EMPLOYEE; -- Removes space from both sides of empname.
NUMERIC FUNCTION
SELECT ECODE, MOD(15,6) FROM DUAL; -- display remainder 3.
SELECT MOD(SALAMT,1000) FROM SALARY;
SELECT POWER(5,3) FROM DUAL; -- Calculate 5 raise to power 3. i.e.75.
SELECT ROUND(15.193, 1) FROM DUAL; --- Display 15.2 (Round off)
SELECT ROUND(15.193, -1) FROM DUAL; --- Display 20 (Round off)
SELECT SIGN(-45) FROM DUAL; -- Display -1.
SELECT SQRT(64) FROM DUAL; -- Calculate SQUARE ROOT. i.e. 8.
SELECT TRUNCATE (15.19,1) FROM DUAL;--- Display 15.1.
DATE/TIME FUNCTION
CURDATE()/CURRENT_DATE()
SELECT CURDATE(); -- Display system date.
SELECT DATE(‘2010-04-13 01:02:33’); -- Display 2010-04-13 (date only).
SELECT MONTH(‘2010-04-13’); --- Display month only i.e. 04.
SELECT YEAR(‘2010-04-13’); --- Display year only i.e. 2010.
SELECT DAYOFMONTH(‘2010-04-13’); --- Display day only i.e. 13.
SELECT DAYNAME((‘2010-04-13’); --- Display day i.e. TUESDAY.
SELECT DAYOFWEEK((‘2010-04-13’); --- Display day of week only i.e. 3
SELECT DAYOFYEAR((‘2010-04-13’); --- Display day of year only i.e. 103.
SELECT NOW(); -- Display system date & time.
SELECT SYSDATE();-- Display system date & time.
6
7
MySQL Aggregate Functions: SUM, AVG, MAX, MIN , COUNT, DISTINCT
12 22-06-2012 25-06-2012 1 2 0
13 22-06-2012 25-06-2012 3 2 0
14 21-06-2012 24-06-2012 2 2 0
15 23-06-2012 NULL 3 3 0
we want to get the number of times that the movie with id 2 has been rented out
SELECT COUNT(movie_id) FROM movierentals WHERE movie_id = 2;
Executing the above query in MySQL workbench against myflixdb gives us the following results.
COUNT('movie_id')
3
DISTINCT Keyword
The DISTINCT keyword that allows us to omit duplicates from our results. This is achieved by grouping similar
values together. To appreciate the concept of Distinct, lets execute a simple query
MIN function
The MIN function returns the smallest value in the specified table field.
8
As an example, let's suppose we want to know the year in which the oldest movie in our library was released,
we can use MySQL's MIN function to get the desired information.
The following query helps us achieve that
SELECT MIN(year_released) FROM movies;
Executing the above query in MySQL workbench against myflixdb gives us the following results.
MIN(year_released)
2005
MAX function
Just as the name suggests, the MAX function is the opposite of the MIN function. It returns the largest value
from the specified table field.
Let's assume we want to get the year that the latest movie in our database was released. We can easily use
the MAX function to achieve that.
The following example returns the latest movie year released.
SELECT MAX(year_released) FROM movies;
Executing the above query in MySQL workbench using myflixdb gives us the following results.
MAX(year_released)
2012
SUM function
Suppose we want a report that gives total amount of payments made so far. We can use the
MySQL SUM function which returns the sum of all the values in the specified column. SUM works on
numeric fields only. Null values are excluded from the result returned.
The following table shows the data in payments table-
payment_ membership_ payment_ description amount_ external_ reference
id number date paid _number