Académique Documents
Professionnel Documents
Culture Documents
MYSQL
MySQL is a very popular, open source database.
Officially pronounced my Ess Que Ell (not my
sequel).
Handles very large databases; very fast
performance.
Why are we using MySQL?
SAMPLE SESSION
For example:
mysql> QUIT
mysql> exit
BASIC QUERIES
MULTI-LINE COMMANDS
mysql
CANCELING A COMMAND
mysql> SELECT
-> USER()
-> \c
mysql>
USING A DATABASE
To get started on your own database, first check
which databases currently exist.
Use the SHOW statement to find out which databases
currently exist on the server:
USING A DATABASE
11
CREATING A TABLE
Once you have selected a database, you can view
all database tables:
mysql> show tables;
Empty set (0.02 sec)
12
Example:
create table branch
(branch_name
char(15),
branch_city char(30),
assets
integer)
Type
Description
CHAR(n)
VARCHAR(n)
INTEGER
SMALLINT(n)
FLOAT(M,D)
DOUBLE(M,D)
CREATING A TABLE
Once you have selected a database, you can view
all database tables:
mysql> show tables;
Empty set (0.02 sec)
15
CREATING A TABLE
Lets create a table for storing pets.
Table: pets
name:
VARCHAR(20)
owner:
VARCHAR(20)
species: VARCHAR(20)
sex:
CHAR(1)
birth:
DATE
date:
DATE
VARCHAR is
usually used
to store string
data.
16
CREATING A TABLE
17
SHOWING TABLES
To
18
DESCRIBING TABLES
19
Loading Data
Syntax
INSERT INTO table_name
You can also specify the columns for which you want to insert data:
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
LOADING DATA
Use
Constraints
* Default Values
* Unique
* Primary Key
24
25
26
27
ANOTHER TABLE
CREATE TABLE Studies(
Course
NUMBER,
Student
NUMBER
);
29
CHECK CONSTRAINT
CREATE TABLE Order
( OrderNum INTEGER,
ProdNum INTEGER,
Quantity INTEGER,
PRIMARY KEY (OrderNum),
FOREIGN KEY (ProdNum) references Product(ProdNum),
ALTER COMMAND
ALTER CONSTRAINTS
ALTER TABLE tstpurch
ADD PRIMARY KEY invoice_no (invoice_no);
Here is the primary key after adding a
primary key named invoice_no on
invoice_no column.
DROP id,
ADD id int NOT NULL DEFAULT 0,
ADD chano VARCHAR(10) NOT NULL,
ADD chadt date,
DROP PRIMARY KEY,
ADD PRIMARY KEY invoice_no (invoice_no),
DROP INDEX cate_id,
ADD INDEX cate_id(cate_id),
DROP FOREIGN KEY ord_no,
ADD FOREIGN KEY(book_id,cate_id) REFERENCES tor
der(book_id,cate_id);
DROP COMMAND
DELETING A TABLE
38
Syntax
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
FirstName
Address
City
Nilsen
Fred
Kirkegt 56
Stavanger
Rasmussen
Storgt 67
We want to add a first name to the person with a last name of "Rasmussen":
UPDATE Person SET FirstName = 'Nina'
WHERE LastName = 'Rasmussen'
LastName
FirstName
Address
City
Nilsen
Fred
Kirkegt 56
Stavanger
Rasmussen
Nina
Storgt 67
FirstName
Address
City
Nilsen
Fred
Kirkegt 56
Stavanger
Rasmussen
Storgt 67
We want to change the address and add the name of the city:
UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'
LastName
FirstName
Address
City
Nilsen
Fred
Kirkegt 56
Stavanger
Rasmussen
Nina
Stien 12
Stavanger
Syntax
DELETE FROM table_name
DELETE A ROW
LastName
FirstName
Address
City
Nilsen
Fred
Kirkegt 56
Stavanger
Rasmussen
Nina
Stien 12
Stavanger
LastName
FirstName
Address
City
Nilsen
Fred
Kirkegt 56
Stavanger
SQL SELECT
The SELECT statement is used to pull information
from a table.
The general format is:
SELECT what_to_select
FROM which_table
WHERE conditions_to_satisfy
47
48
| name
| owner
| species | sex
| birth
| death
50
51
To
E.g.:
OPERATORS PRECEDENCE
Logical operators: AND, OR, NOT
Operator Precedence:
()
NOT , !
AND ,&&
OR,||,
ALL,BETWEEN, IN, LIKE
IN
OPERATOR
IN
Syntax:
For
eg:
BETWEEN
BETWEEN
OPERATOR
range
Syntax:
For eg:
Select Filmname from films where rating
BETWEEN 3 And 5.
BETWEEN OPERATOR
eg.
name
Luke
Aaron
Gigi
mtest
86
83
84
LIKE
OPERATOR
mysql> select name, marks, address from student where name like 'a%' or
name like 's%';
(or)
mysql> select name, marks, address from student where name like 'a%' ||
name like 's%';
AGGREGATE FUNCTIONS
date
02/25/08
02/26/08
02/26/08
food
pizza
hotdog
pizza
sold
349
500
70
food
totalSol
hotdog 500
pizza 419
date
02/25/08
02/26/08
02/26/08
food
pizza
hotdog
pizza
sold
349
500
70
food
totalSol
hotdog 500
Employee(empid,nam,phone,deptid, jobid)
Write a query to get the number of employees with the same job.
SELECT job_id, COUNT(*)
FROM employees
GROUP BY job_id;
Write a query to get the average salary for each job ID excluding programmer
SELECT job_id, AVG(salary)
FROM employees
WHERE job_id <> 'IT_PROG'
GROUP BY job_id;
Write a query to get the average salary for all departments employing more than
10 employees.
SELECT job_id, AVG(salary), COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 10;