Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mark Dixon, SoCCE SOFT 131Page 1 12 – Databases: Structured Query Language.

Similar presentations


Presentation on theme: "Mark Dixon, SoCCE SOFT 131Page 1 12 – Databases: Structured Query Language."— Presentation transcript:

1 Mark Dixon, SoCCE SOFT 131Page 1 12 – Databases: Structured Query Language

2 Mark Dixon, SoCCE SOFT 131Page 2 Session Aims & Objectives Aims –To introduce the fundamental ideas involved in using 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 Mark Dixon, SoCCE SOFT 131Page 3 Example: People Database Person PersonIDSurnameForenamesGenderPhoneeMail 1DixonMarkYes01752 232556mark.dixon@plymouth.ac.uk 2SmithJohnYes01752 111111john.smith@john.smith.ac.uk 3JonesSallyNo01752 888888sally.jones@sally.jones.com 4BloggsFredYes01752 123123fred.bloggs@aaaaaa.com 5AndersonGennyNo01752 987987genny@bbbb.cccc.com 6SmithBobYes01752 898898bob.smith@bob-smith.com

4 Mark Dixon, SoCCE SOFT 131Page 4 Example: People v1 Display Surname of all people: <% Const cs = "…" Dim rs Set rs = CreateObject("ADODB.Recordset") rs.Open "Person", cs Do Until rs.EOF Response.Write rs.Fields("Surname").Value & " " rs.MoveNext Loop rs.Close Set rs = Nothing %>

5 Mark Dixon, SoCCE SOFT 131Page 5 Example: People v2 Display Surname of Male people: <% Const cs = "…" Dim rs Set 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 & " " End If rs.MoveNext Loop rs.Close Set rs = Nothing %>

6 Mark Dixon, SoCCE SOFT 131Page 6 Example: People v3 Display Surname of Male people: <% Const cs = "…" Dim rs Set rs = CreateObject("ADODB.Recordset") rs.Open " SELECT * FROM Person WHERE Gender = True ", cs Do Until rs.EOF Response.Write rs.Fields("Surname").Value & " " rs.MoveNext Loop rs.Close Set rs = Nothing %> SQL statement

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

8 Mark Dixon, SoCCE SOFT 131Page 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 Mark Dixon, SoCCE SOFT 131Page 9 SQL: WHERE & ORDER BY WHERE 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 Mark Dixon, SoCCE SOFT 131Page 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 Mark Dixon, SoCCE SOFT 131Page 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 Mark Dixon, SoCCE SOFT 131Page 12 Example: Music Track TitleArtist NameCountry ParanoidBlack SabbathUK Falling in LoveAerosmithUS PinkAerosmithUS Love in an ElevatorAerosmithUS Smooth CriminalAlien Ant FarmUS Meaning of LifeDisturbedUS The GameDisturbedUS VoicesDisturbedUS Down with the SicknessDisturbedUS Track

13 Mark Dixon, SoCCE SOFT 131Page 13 Questions: SQL Create an SQL statement to extract Track Title of records by Aerosmith Track TitleArtist NameCountry ParanoidBlack SabbathUK Falling in LoveAerosmithUS PinkAerosmithUS Love in an ElevatorAerosmithUS Smooth CriminalAlien Ant FarmUS Meaning of LifeDisturbedUS The GameDisturbedUS VoicesDisturbedUS Down with the SicknessDisturbedUS Track SELECT [Track Title] FROM Track WHERE [Artist Name] = 'Aerosmith'; MS Access: Music.mdb

14 Mark Dixon, SoCCE SOFT 131Page 14 Questions: SQL Create an SQL statement to extract all fields of songs by Disturbed, ordered by track name Track TitleArtist NameCountry ParanoidBlack SabbathUK Falling in LoveAerosmithUS PinkAerosmithUS Love in an ElevatorAerosmithUS Smooth CriminalAlien Ant FarmUS Meaning of LifeDisturbedUS The GameDisturbedUS VoicesDisturbedUS Down with the SicknessDisturbedUS Track SELECT * FROM Track WHERE [Artist Name] = 'Disturbed' ORDER BY [Track Title]; MS Access: Music.mdb

15 Mark Dixon, SoCCE SOFT 131Page 15 Example: People v4 User controls what is displayed:

16 Mark Dixon, SoCCE SOFT 131Page 16 SQL: DISTINCT records SELECT [Artist Name] FROM [Track]; Artist Name Black Sabbath Aerosmith Alien Ant Farm Disturbed Artist Name Black Sabbath Aerosmith Alien Ant Farm Disturbed SELECT DISTINCT [Artist Name] FROM [Track];

17 Mark Dixon, SoCCE SOFT 131Page 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 email 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 email address. –You may want to use a Query String

18 Mark Dixon, SoCCE SOFT 131Page 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 "Mark Dixon, SoCCE SOFT 131Page 1 12 – Databases: Structured Query Language."

Similar presentations


Ads by Google