SQL voor mySQL-ontwikkelaars


Scheduled EventsEvent outlinesBooksWhitepapersWebinarsArticlesContact UsRick F van der Lans

 

 

 

[Home][Books][Dutch books][SQL voor MySQL][Beschrijving boek]

 

 


Titel: 

SQL voor MySQL-ontwikkelaars

ISBN: 

978 90 12 12150 7

NUR

989/995

Uitgever: 

Academic Service te Den Haag, Nederland

Jaar van uitgifte:

2007

Druk

1ste druk

Samenvatting

MySQL biedt met versie 5 een krachtig SQL-dialect. In SQL voor MySQL-ontwikkelaars helpt Rick F. van der Lans deze versie te doorgronden en alle mogelijkheden te benutten. Met behulp van praktijkvoorbeelden en praktische opgaven verduidelijkt hij alle begrippen technieken en SQL-instructies, inclusief de geavanceerde mogelijkheden die het gemakkelijker maken complexe programma’s te schrijven. Bij het boek hoort een website waar alle instructies gedownload kunnen worden en waar aanvullende informatie te vinden is.

Over MySQL, de bekendste open source databaseserver, zijn al veel boeken geschreven. De meeste daarvan behandelen een breed scala aan onderwerpen, maar dit boek richt zich specifiek op SQL(Structured Query Language), de taal waarmee MySQL aangestuurd wordt. Elke ontwikkelaar die met MySQL werkt, hoort deze taal te beheersen.

Dit boek is bestemd voor iedereen die de kracht van MySQL op een effectieve en efficiënte manier volledig wil toepassen. Het maakt van elke (web)ontwikkelaar, databasebeheerder, student, ontwerper, analist en adviseur die direct of indirect met MySQL te maken krijgen een expert. Degenen die vroegere versies van MySQL kennen, zullen hun productiviteit door dit boek met sprongen omhoog zien gaan.

Tot de onderwerpen die aan de orde komen, behoren:

  • schrijven van query's, joins, functies en subquery's

  • bijwerken van data

  • creëren van tabellen, views en andere database-objecten

  • specificeren van sleutels en andere constraints die de integriteit waarborgen

  • verhogen van de effectiviteit met behulp van indexen

  • beveiliging via wachtwoorden en bevoegdheden

  • opnemen van SQL-instructies in PHP-programma’s

  • creëren van stored procedures en triggers

  • het gebruik van transacties, locking en rollbacks

  • benutten van de catalogus van MySQL

Inhoudsopgave

Deel 1: INLEIDING

1. Inleiding MySQL 
1.1 Inleiding 
1.2 Database, databaseserver en databasetaal 
1.3 Het relationele model 
1.4 Wat is SQL? 
1.5 De geschiedenis van SQL 
1.6 Van monolitisch via client/server naar internet 
1.7 Standaardisatie van SQL 
1.8 Wat is open source software? 
1.9 De geschiedenis van MySQL 
1.10 De structuur van het boek 

2. De voorbeelddatabase van een tennisvereniging 
2.1 Inleiding 
2.2 Beschrijving van de tennisvereniging 
2.3 De inhoud van de tabellen 
2.4 Integriteitsregels 

3. Installeren van de software 
3.1 Inleiding 
3.2 Downloaden van MySQL 
3.3 Installeren van MySQL 
3.4 Installeren van een opvraagprogramma 
3.5 Ophalen van SQL-instructies van de website
3.6 Afsluiting 

4. Installeren van de software 
4.1 Inleiding 
4.2 Inloggen op de MySQL-database server 
4.3 Creëren van nieuwe SQL-gebruikers 
4.4 Creëren van databases 
4.5 Selecteren van de courante database 
4.6 Creëren van tabellen 
4.7 Vullen van tabellen met gegevens 
4.8 Raadplegen van tabellen 
4.9 Wijzigen en verwijderen van rijen 
4.10 Versnellen van het raadplegen met indexen 
4.11 Views 
4.12 Gebruikers en gegevensbeveiliging 
4.13 Verwijderen van database-objecten 
4.14 Systeemvariabelen 
4.15 Groepen SQL-instructies 
4.16 De catalogustabellen 
4.17 Bekijken van errors en warnings 
4.18 Definities van SQL-instructies 

Deel 2: Raadplegen en muteren van gegevens

5. SELECT-instructie: basisbegrippen 
5.1 Inleiding 
5.2 Constanten en hun datatypes 
5.3 Expressies 
5.4 Toekennen van namen aan resultaat-kolommen 
5.5 De kolomspecificatie 
5.6 De gebruikersvariabele en de SET-instructie 
5.7 De systeemvariabele 
5.8 De case-expressie 
5.9 De scalaire expressie tussen haakjes 
5.10 De scalaire functie 
5.11 Casting van expressies 
5.12 De null-waarde als expressie 
5.13 De samengestelde scalaire expressie 
5.14 De aggregatiefunctie en de scalaire expressie 
5.15 De rijexpressie 
5.16 De tabelexpressie 

6. SELECT-instructie: tabelexpressie en subquery 
6.1 Inleiding 
6.2 De definitie van de SELECT-instructie 
6.3 Verwerking van de componenten in een select-blok 
6.4 Mogelijke vormen van een tabelexpressie 
6.5 Wat is een SELECT-instructie? 
6.6 Wat is een subquery? 

7. SELECT-instructie: de FROM-component 
7.1 Inleiding 
7.2 Tabelspecificaties in de FROM-component 
7.3 Nogmaals de kolomspecificatie 
7.4 Meerdere tabelspecificaties in de FROM-component 
7.5 Pseudoniemen voor tabelnamen 7.6 Diverse voorbeelden van joins 
7.7 Verplicht gebruik van pseudoniemen 
7.8 Tabellen benaderen van verschillende databases 
7.9 Expliciete joins in de FROM-component 
7.10 Outer-joins 
7.11 De natural-join 
7.12 Extra condities in de join-conditie 
7.13 De cross-join 
7.14 Join-condities vervangen door USING 
7.15 De FROM-component met tabelexpressies

8. SELECT-instructie: de WHERE-component 
8.1 Inleiding 
8.2 Condities met een vergelijkingsoperator 
8.3 Vergelijkingsoperatoren met subquery’s 
8.4 Vergelijkingsoperatoren met gecorreleerde subquery’s 
8.5 Condities zonder een vergelijkingsoperator 
8.6 Condities koppelen met AND, OR, XOR en NOT 
8.7 De IN-operator met expressielijst 
8.8 De IN-operator met subquery 
8.9 De BETWEEN-operator 
8.10 De LIKE-operator 
8.11 De REGEXP-operator 
8.12 De MATCH-operator 
8.13 De IS NULL-operator 
8.14 De EXISTS-operator 
8.15 De operatoren ALL en ANY 
8.16 Reikwijdte van kolommen bij subquery’s 
8.17 Extra voorbeelden met gecorreleerde subquery’s 
8.18 Condities met een ontkenning 

9. SELECT-instructie: SELECT- component en aggregatiefuncties 
9.1 Inleiding 
9.2 Opvragen van alle kolommen (*) 
9.3 Expressies in de SELECT-component 
9.4 Verwijderen van identieke rijen met DISTINCT 
9.5 Wanneer zijn twee rijen gelijk? 
9.6 De resterende select-opties 
9.7 Een inleiding tot aggregatiefuncties 
9.8 COUNT-functie 
9.9 MAX- en MIN-functies 
9.10 De SUM- en AVG-functie 
9.11 De VARIANCE- en STDDEV-functies 
9.12 De VAR_SAMP- en STDDEV_SAMP-functies 
9.13 De BIT_AND-, BIT_OR- en BIT_XOR-functies 

10. SELECT-instructie: de GROUP BY-component 
10.1 Inleiding 
10.2 Groeperen op één kolom 
10.3 Groeperen op twee of meer kolommen 
10.4 Groeperen op expressies 
10.5 Groeperen van null-waarden 
10.6 Groeperen met sorteerslag 
10.7 Algemene regels voor de GROUP BY-component 
10.8 De GROUP_CONCAT-functie 
10.9 Complexe voorbeelden met GROUP BY 
10.10 Groeperen met WITH ROLLUP 

11. SELECT-instructie: de HAVING-component 
11.1 Inleiding 
11.2 Voorbeelden van de HAVING-component 
11.3 Een HAVING-, maar geen GROUP BY-component 
11.4 Algemene regel voor de HAVING-component 

12. SELECT-instructie: de ORDER BY-component 
12.1 Inleiding 
12.2 Sorteren op kolomnamen 
12.3 Sorteren op expressies
12.4 Sorteren met behulp van volgnummers 
12.5 Oplopend en aflopend sorteren 
12.6 Sorteren van null-waarden 

13. SELECT-instructie: de LIMIT-component 
13.1 Inleiding 
13.2 Geef de top… 
13.3 Subquery’s met een LIMIT-component 
13.4 Limit met een offset 
13.5 De select-optie SQL_CALC_FOUND_ROWS 

14. Combineren van tabelexpressies
14.1 Inleiding 
14.2 Koppelen met UNION 
14.3 Regels voor het gebruik van UNION 
14.4 Behouden van dubbele rijen 
14.5 Set-operatoren en de null-waarde 

15. De gebruikersvariabele, de systeemvariabele en de SET-instructie 
15.1 Inleiding 
15.2 Definiëren van variabelen met de SET-instructie 
15.3 Definiëren van variabelen met de SELECT-instructie 
15.4 Toepassingsgebieden van gebruikersvariabelen 
15.5 Levensduur van gebruikersvariabelen 
15.6 De DO-instructie 

16. De HANDLER-instructie 
16.1 Inleiding 
16.2 Een simpel voorbeeld van de HANDLER-instructie 
16.3 Openen van een handler 
16.4 Wandelen door de rijen van een handler 
16.5 Afsluiten van een handler 

17. Muteren van tabellen 
17.1 Inleiding 
17.2 Invoeren van nieuwe rijen 
17.3 Een tabel vullen met rijen van een andere tabel 
17.4 Wijzigen van waarden in rijen 
17.5 Wijzigen van waarden in meerdere tabellen 
17.6 Vervangen van bestaande rijen 
17.7 Verwijderen van rijen uit een tabel 
17.8 Verwijderen van rijen uit meerdere tabellen 
17.9 De TRUNCATE-instructie 

18. Laden en ontladen van gegevens 
18.1 Inleiding 
18.2 Ontladen van gegevens 
18.3 Laden van gegevens 

19. Werken met XML-documenten 
19.1 XML in een notendop 
19.2 Opslaan van XML-documenten 
19.3 Zoeken van XML-documenten 
19.4 Zoeken met behulp van posities 
19.5 De uitgebreide notatie van XPath 
19.6 XPath-expressies met condities 
19.7 Wijzigen van XML-documenten

Deel 3: Creëren van database-objecten

20. Creëren van tabellen 
20.1 Inleiding 
20.2 Opzetten van nieuwe tabellen 
20.3 Datatypes van kolommen 
20.4 Toevoegen van datatype-opties 
20.5 Creëren van tijdelijke tabellen 
20.6 Wat als de tabel al bestaat? 
20.7 Kopiëren van tabellen 
20.8 Naamgeving van tabellen en kolommen 
20.9 Kolom-opties: default en comment 
20.10 Tabel-opties 
20.11 De CSV storage engine 
20.12 Tabellen en de catalogus 

21. Specificeren van integriteitsregels 
21.1 Inleiding 
21.2 Primaire sleutels 
21.3 Alternatieve sleutels 
21.4 Refererende sleutels 
21.5 De refererende actie 
21.6 Check-integriteitsregels 
21.7 Namen toekennen aan integriteitsregels 
21.8 Verwijderen van integriteitsregels 
21.9 Integriteitsregels en de catalogus 

22. Karaktersets en collations 
22.1 Inleiding 
22.2 Beschikbare karaktersets en collations 
22.3 Toekennen van karaktersets aan kolommen 
22.4 Toekennen van collations aan kolommen 
22.5 Expressies met karaktersets en collations 
22.6 Sorteren en groeperen met collations 
22.7 De coercibility van expressies 
22.8 Gerelateerde systeemvariabelen 
22.9 Karaktersets en de catalogus 

23. De datatypes ENUM en SET 
23.1 Inleiding 
23.2 Het ENUM-datatype 
23.3 Het SET-datatype 

24. Veranderen en verwijderen van tabellen 
24.1 Inleiding 
24.2 Verwijderen van gehele tabellen 
24.3 Hernoemen van tabellen 
24.4 Wijzigen van de tabelstructuur 
24.5 Wijzigen van kolommen 
24.6 Wijzigen van integriteitsregels 

25. Gebruik van indexen 
25.1 Inleiding 
25.2 Rijen, tabellen en bestanden 
25.3 De werking van een index 
25.4 De verwerkingsstappen van een SELECT-instructie 
25.5 Creëren van indexen
25.6 Indexen binnen tabellen definiëren 
25.7 Verwijderen van indexen 
25.8 Indexen en primaire sleutels 
25.9 De grote SPELERS_XXL-tabel 
25.10 Op welke kolom moet een index staan? 
25.11 Indexen en de catalogus 

26. Views 
26.1 Inleiding 
26.2 Creëren van views 
26.3 De kolomnamen van views 
26.4 Muteren van views, de WITH CHECK OPTION 
26.5 Opties van views 
26.6 Verwijderen van views 
26.7 Views en de catalogus 
26.8 Beperkingen bij het muteren 
26.9 Verwerken van instructies op views 
26.10 Toepassingen van views 

27. Creëren van databases 
27.1 Inleiding 
27.2 Databases en de catalogus 
27.3 Creëren van databases 
27.4 Wijzigen van databases 
27.5 Verwijderen van databases 

28. Gebruikers en gegevensbeveiliging 
28.1 Inleiding 
28.2 Invoeren en verwijderen van gebruikers 
28.3 Wijzigen van namen van gebruikers 
28.4 Wijzigen van wachtwoorden 
28.5 Verstrekken van tabel- en kolombevoegdheden 
28.6 Verstrekken van databasebevoegdheden 
28.7 Verstrekken van gebruikersbevoegdheden 
28.8 Doorgeven van bevoegdheden met de WITH GRANT OPTION 
28.9 Beperken van bevoegdheden 
28.10 Registreren van bevoegdheden in de catalogus 
28.11 Intrekken van bevoegdheden 
28.12 Beveiliging van en met views 

29. Instructies voor tabelonderhoud
29.1 Inleiding 
29.2 De ANALYZE TABLE-instructie 
29.3 De CHECKSUM TABLE-instructie 
29.4 De OPTIMIZE TABLE-instructie 
29.5 De CHECK TABLE-instructie 
29.6 De REPAIR TABLE-instructie 
29.7 De BACKUP TABLE-instructie 
29.8 De RESTORE TABLE-instructie 

30. De SHOW-, DESCRIBE- en HELP-instructies 
30.1 Inleiding 
30.2 Overzicht van SHOW-instructies 
30.3 Additionele SHOW-instructies 
30.4 De DESCRIBE-instructie 
30.5 De HELP-instructie

Deel 4: Procedurele database-objecten

31. Stored procedures 
31.1 Inleiding 
31.2 Een voorbeeld van een stored procedure 
31.3 De parameters van een stored procedure 31.4 De body van een stored procedure 
31.5 Lokale variabelen 
31.6 De SET-instructie 
31.7 Flow-control-instructies 
31.8 Aanroepen van stored procedures 
31.9 Opvragen van gegevens met SELECT INTO 
31.10 Foutboodschappen, handlers en conditions 
31.11 Gegevens ophalen met een cursor 
31.12 SELECT-instructies opnemen zonder cursors 
31.13 Stored procedures en gebruikersvariabelen 
31.14 Karakteristieken van stored procedures 
31.15 Stored procedures en de catalogus 
31.16 Verwijderen van stored procedures 
31.17 Beveiliging met stored procedures 
31.18 Voordelen van stored procedures 

32. Stored functions 
32.1 Inleiding 
32.2 Voorbeelden van stored functions 
32.3 Meer over stored functions 
32.4 Verwijderen van stored functions 

33. Triggers 
33.1 Inleiding 
33.2 Een voorbeeld van een trigger 
33.3 Complexere voorbeelden 
33.4 Triggers als integriteitsregels 
33.5 Verwijderen van triggers 
33.6 Triggers en de catalogus 

34. Events 
34.1 Wat is een event? 
34.2 Creëren van events 
34.3 Eigenschappen van events 
34.4 Wijzigen van events 
34.5 Verwijderen van events 
34.6 Events en bevoegdheden 
34.7 Events en de catalogus 

Deel 5: Programmeren met SQL

35. MySQL en PHP 
35.1 Inleiding 
35.2 Inloggen op MySQL 
35.3 Selecteren van een database 
35.4 Creëren van een index 
35.5 Opvangen van foutboodschappen 
35.6 Meerdere connecties binnen één sessie 
35.7 SQL-instructies met parameters 
35.8 SELECT-instructie met één rij
35.9 SELECT-instructie met meerdere rijen 
35.10 SELECT-instructie met null-waarden 
35.11 Opvragen van gegevens over expressies 
35.12 Raadplegen van de catalogus 
35.13 Resterende MySQL-functies 

36. Dynamisch SQL met geprepareerde instructies 
36.1 Inleiding 
36.2 Werken met geprepareerde SQL-instructies 
36.3 Geprepareerde instructies met gebruikersvariabelen 
36.4 Geprepareerde instructies met parameters 
36.5 Geprepareerde instructies in stored procedures 

37. Transacties en multi-user gebruik 
37.1 Inleiding 
37.2 Wat is een transactie? 
37.3 Starten van transacties 
37.4 Savepoints 
37.5 Stored procedures en transacties 
37.6 Problemen met multi-user gebruik 
37.7 Locking 
37.8 Deadlocks 
37.9 De LOCK TABLE- en 
37.10 Het isolation level 
37.11 Wachten op een blokkade 
37.12 Moment van verwerken van instructies 
37.13 Werken met applicatieblokkades 

Deel 6: bijlagen 
Bijlage A: Syntaxis van SQL 
- A.1 Inleiding 
- A.2 De BNF-notatie 
- A.3 Gereserveerde woorden in SQL en MySQL 
- A.4 Syntaxis-definities van SQL-instructies 
Bijlage B: Scalaire functies 
Bijlage C: Systeemvariabelen 
Bijlage D: Referenties 
Bijlage E: Antwoorden 

Register  


[Previous][Up]

Copyright (c) 2017 R20/Consultancy B.V.. All rights reserved.