Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

MySQL queries

- ER


CREATE TABLE student(
name VARCHAR(25) DEFAULT 'unknown' NOT NULL,
lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL,
AM INT(5) NOT NULL AUTO_INCREMENT,

PRIMARY KEY(AM)
);
CREATE TABLE professor(

pr_name VARCHAR(25) DEFAULT 'unknown' NOT NULL,


pr_lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL,
email VARCHAR(255) NOT NULL,
PRIMARY KEY(email)
);


CREATE TABLE course (
title VARCHAR(255) DEFAULT 'unknown' NOT NULL,
material TEXT,
course_id INT(4) NOT NULL AUTO_INCREMENT,
supervisor VARCHAR(255) NOT NULL,
PRIMARY KEY(course_id),
UNIQUE(title),
CONSTRAINT SUPERVISED
FOREIGN KEY (supervisor) REFERENCES professor(email)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE books (
title VARCHAR(128) DEFAULT Title' NOT NULL,
course_book INT(4) NOT NULL,
PRIMARY KEY(title,course_book),
CONSTRAINT CRSBOOK
FOREIGN KEY (course_book) REFERENCES course(course_id)
ON DELETE CASCADE ON UPDATE CASCADE);


CREATE TABLE lecture (
subject VARCHAR(128),
num_lectureINT(2) NOT NULL,
course_lectureINT(4) NOT NULL,
PRIMARY KEY(num_lecture,course_lecture),
CONSTRAINT CRSLECTURE
FOREIGN KEY (course_lecture) REFERENCES course(course_id)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE registration (
reg_dateDATE NOT NULL,
reg_studentINT(5) NOT NULL,
reg_courseINT(4) NOT NULL,
PRIMARY KEY(reg_student,reg_course),
CONSTRAINT CRSREGISTRATION
FOREIGN KEY (reg_course) REFERENCES course(course_id)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT STDNTREGISTRATION
FOREIGN KEY (reg_student) REFERENCES student(AM)
ON DELETE CASCADE ON UPDATE CASCADE);

select.
select
(
).
select :

( )

select :

SELECT < >


FROM < >
WHERE < >

Select:
SELECT < >:


*
FROM < >:

,
(join)

Select: WHERE


:
Boolean: AND, OR, NOT
: =, <>, >, <, >=, <=
NULL: IS NULL, IS NOT NULL
: LIKE ( wildcards)
%
_

Select -
2000

ids 2191

email pap@ceid.upatras.gr

Select -

2012

2011

SELECT
Select a1, a2, .., an
From r1, r2, .., rm
Where P
[order by ..]
[group by .]
[having]

Select Order By

,
ASC DESC



2012

email

Select - Limit

: LIMIT m,n
m

( 0)
n .
, m
LIMIT

2012

Select - Group By

GROUP BY


Group By

(group)
SUM:
COUNT:
MAX:

MIN:
AVG:

Select - Having
group by (

)
:
where
Having <-> Where ( )
1

2012

Select Group By

(= )

ids

: ;

2012
;

:
select
select

2012

: JOIN
JOIN:

,
,

id

NNER JOIN:


LEFT JOIN: ,

RIGHT JOIN:

:


, WHERE

id

JOIN

2 ,
,

JOIN

Aliases
keyword as MySQL

query
queries , ,

Aliases join
(1/3)
aliases

Aliases join
(2/3)

Aliases join
(3/3)


eclass 3

( 24/11)
2 : 25/11
10:00-11:00
11:00-12:00
12:00-1:00
1:00-2:00

(select)
45
diogenis
eclass

: 3/12

You might also like