Databases and SQL

Access Database

Events Database

Create bookings table

 

Create Customers table

 

Create Events table

 

Create Staff table

 

 

Create a relationship between the tables

 

 

Booking Form

 

 

Running queries with  the Mobile_Phone Database

Mobile Phone Table

 

 

Manufacturer Query

 

Run it

 

Right click on the query and go to SQL View.

Example SQL

SELECT Mobile_Phones.Manufacturer, Mobile_Phones.Make, Mobile_Phones.Network, Mobile_Phones.CostPerMonth, Mobile_Phones.PhoneCost, Mobile_Phones.OperatingSystem

FROM Mobile_Phones

WHERE (((Mobile_Phones.Manufacturer)="Apple"));

SQL Statements

  • SQL Statement
  • Syntax
  • AND / OR
  • SELECT column_name(s)
    FROM table_name
    WHERE condition
    AND|OR condition
  • ALTER TABLE
  • ALTER TABLE table_name 
    ADD column_name datatype
  • or
  • ALTER TABLE table_name 
    DROP COLUMN column_name
  • AS (alias)
  • SELECT column_name AS column_alias
    FROM table_name
  • or
  • SELECT column_name
    FROM table_name  AS table_alias
  • BETWEEN
  • SELECT column_name(s)
    FROM table_name
    WHERE column_name
    BETWEEN value1 AND value2
  • CREATE DATABASE
  • CREATE DATABASE database_name
  • CREATE TABLE
  • CREATE TABLE table_name
    (
    column_name1 data_type,
    column_name2 data_type,
    column_name2 data_type,
    ...
    )
  • CREATE INDEX
  • CREATE INDEX index_name
    ON table_name (column_name)
  • or
  • CREATE UNIQUE INDEX index_name
    ON table_name (column_name)
  • CREATE VIEW
  • CREATE VIEW view_name AS
    SELECT column_name(s)
    FROM table_name
    WHERE condition
  • DELETE
  • DELETE FROM table_name
    WHERE some_column=some_value
  • or
  • DELETE FROM table_name 
    (Note: Deletes the entire table!!)
  • DELETE * FROM table_name 
    (Note: Deletes the entire table!!)
  • DROP DATABASE
  • DROP DATABASE database_name
  • DROP INDEX
  • DROP INDEX table_name.index_name (SQL Server)
    DROP INDEX index_name ON table_name (MS Access)
    DROP INDEX index_name (DB2/Oracle)
    ALTER TABLE table_name
    DROP INDEX index_name (MySQL)
  • DROP TABLE
  • DROP TABLE table_name
  • EXISTS
  • IF EXISTS (SELECT * FROM table_name WHERE id = ?)
    BEGIN
    --do what needs to be done if exists
    END
    ELSE
    BEGIN
    --do what needs to be done if not
    END
  • GROUP BY
  • SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name
  • HAVING
  • SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name
    HAVING aggregate_function(column_name) operator value
  • IN
  • SELECT column_name(s)
    FROM table_name
    WHERE column_name
    IN (value1,value2,..)
  • INSERT INTO
  • INSERT INTO table_name
    VALUES (value1, value2, value3,....)
  • or
  • INSERT INTO table_name
    (column1, column2, column3,...)
    VALUES (value1, value2, value3,....)
  • INNER JOIN
  • SELECT column_name(s)
    FROM table_name1
    INNER JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name
  • LEFT JOIN
  • SELECT column_name(s)
    FROM table_name1
    LEFT JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name
  • RIGHT JOIN
  • SELECT column_name(s)
    FROM table_name1
    RIGHT JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name
  • FULL JOIN
  • SELECT column_name(s)
    FROM table_name1
    FULL JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name
  • LIKE
  • SELECT column_name(s)
    FROM table_name
    WHERE column_name LIKE pattern
  • ORDER BY
  • SELECT column_name(s)
    FROM table_name
    ORDER BY column_name [ASC|DESC]
  • SELECT
  • SELECT column_name(s)
    FROM table_name
  • SELECT *
  • SELECT *
    FROM table_name
  • SELECT DISTINCT
  • SELECT DISTINCT column_name(s)
    FROM table_name
  • SELECT INTO
  • SELECT *
    INTO new_table_name [IN externaldatabase]
    FROM old_table_name
  • or
  • SELECT column_name(s)
    INTO new_table_name [IN externaldatabase]
    FROM old_table_name
  • SELECT TOP
  • SELECT TOP number|percent column_name(s)
    FROM table_name
  • TRUNCATE TABLE
  • TRUNCATE TABLE table_name
  • UNION
  • SELECT column_name(s) FROM table_name1
    UNION
    SELECT column_name(s) FROM table_name2
  • UNION ALL
  • SELECT column_name(s) FROM table_name1
    UNION ALL
    SELECT column_name(s) FROM table_name2
  • UPDATE
  • UPDATE table_name
    SET column1=value, column2=value,...
    WHERE some_column=some_value
  • WHERE
  • SELECT column_name(s)
    FROM table_name
    WHERE column_name operator value

 

 

Teaching Ideas for Databases and SQL.

MS Access Databases

Manipulating Mobile Phone Database.

www.w3schools.co.uk