Presentation is loading. Please wait.

Presentation is loading. Please wait.

18 – Databases: Structured Query Language

Similar presentations


Presentation on theme: "18 – Databases: Structured Query Language"— Presentation transcript:

1 18 – Databases: Structured Query Language

2 Session Aims & Objectives
To introduce the fundamental ideas involved in using Structured Query Language (SQL) Objectives, by end of this week’s sessions, you should be able to: Use SQL in your programs to create more complex record-sets

3 Example: People Database
Person PersonID Surname Forenames Gender Phone 1 Dixon Mark Yes 2 Smith John 3 Jones Sally No 4 Bloggs Fred 5 Anderson Genny 6 Bob

4 Example: People v1 Display Surname of all people: <% Const cs = "…"
<html> <head> <title></title> </head> <body> <% Const cs = "…" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value & "<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html>

5 Example: People v2 Display Surname of Male people: <%
<html> <head> <title></title> </head> <body> <% Const cs = "…" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() If rs.Fields("Gender").Value = True Then Response.Write(rs.Fields("Surname").Value & "<br>") End If rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> Display Surname of Male people:

6 Example: People v3 Display Surname of Male people: SQL statement <%
<html> <head> <title></title> </head> <body> <% Const cs = "…" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("SELECT * FROM Person WHERE Gender = True", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value & "<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> SQL statement

7 SQL: Queries main purpose of databases: Structured Query Language
get information back out: searching Structured Query Language dedicated to interacting with databases 3rd Generation Language (such as VB, C++) code describes how to do task 4th Generation Language (such as SQL) code describes what to do (not how to do it)

8 SQL: SELECT statement SELECT statement used to get data
can be embedded in VB, via rs.Open: rs.Open("Person", cs) rs.Open("SELECT * FROM [Person]", cs) all fields

9 SQL: WHERE & ORDER BY WHERE clause ORDER BY clause
used to restrict data SELECT * FROM [People] WHERE [age]>=18; ORDER BY clause used to change order of data SELECT * FROM [People] ORDER BY [Surname];

10 SQL: strings (text data)
Possible confusion: SELECT * FROM Person WHERE Surname = Smith this will look for field called Smith - gives error need single (SQL) quotes to signify literal text SELECT * FROM Person WHERE Surname = 'Smith'

11 SQL & MS access queries MS Access Queries: select data from database
really SQL select statements can use queries to test SQL code MS Access: People.mdb

12 Example: Music Track Track Title Artist Name Country Paranoid
Black Sabbath UK Falling in Love Aerosmith US Pink Love in an Elevator Smooth Criminal Alien Ant Farm Meaning of Life Disturbed The Game Voices Down with the Sickness

13 Questions: SQL Track Create an SQL statement to extract Track Title of records by Aerosmith Track Title Artist Name Country Paranoid Black Sabbath UK Falling in Love Aerosmith US Pink Love in an Elevator Smooth Criminal Alien Ant Farm Meaning of Life Disturbed The Game Voices Down with the Sickness SELECT [Track Title] FROM Track WHERE [Artist Name] = 'Aerosmith'; MS Access: Music.mdb

14 Questions: SQL Track Create an SQL statement to extract all fields of songs by Disturbed, ordered by track name Track Title Artist Name Country Paranoid Black Sabbath UK Falling in Love Aerosmith US Pink Love in an Elevator Smooth Criminal Alien Ant Farm Meaning of Life Disturbed The Game Voices Down with the Sickness SELECT * FROM Track WHERE [Artist Name] = 'Disturbed' ORDER BY [Track Title]; MS Access: Music.mdb

15 Example: People v4 User controls what is displayed:

16 SQL: DISTINCT records SELECT [Artist Name] FROM [Track];
Black Sabbath Aerosmith Alien Ant Farm Disturbed SELECT [Artist Name] FROM [Track]; SELECT DISTINCT [Artist Name] FROM [Track]; Artist Name Black Sabbath Aerosmith Alien Ant Farm Disturbed

17 Tutorial Exercise: People
Task 1: Get the People (versions 1, 2, & 3) example (from the lecture) working. Use the database you created last week. Task 2: Modify your code to include the phone number and address. Task 3: Get the People version 4 working. You will need to: Add a form to the page, and 3 submit buttons In your asp code, detect when a button has been pressed (have a look at previous weeks) Task 4: Modify your code so that the user can order the data by surname, or address. You may want to use a Query String

18 Tutorial Exercise: Music
Task 1: Create a web page to display the music database details. Task 2: Modify your code so that the user is presented with a list of artists, each of which is a link. When the user clicks an artist a list of tracks by that artist is displayed. (the list of artists must be generated dynamically from the database)


Download ppt "18 – Databases: Structured Query Language"

Similar presentations


Ads by Google