View
2.023
Download
4
Category
Preview:
DESCRIPTION
Dutch presentation for the JoomlaDays 2012 in The Netherlands; given by Yireo-founder Jisse Reitsma
Citation preview
april 2012 MySQL en phpMyAdmin voor “beginners”
MySQL en phpMyAdmin
door Jisse Reitsma
april 2012 MySQL en phpMyAdmin voor “beginners”
Jisse Reitsma● Auteur “Joomla! templates ontwerpen”● Mede-oprichter en developer van Yireo
MageBridge, Vm2Mage, SimpleLists
Dynamic404, SSL Redirect, ...
● ProgrammeurJoomla!, Magento, PHP, Java, Android
april 2012 MySQL en phpMyAdmin voor “beginners”
Deze presentatie● Deel 1: Introductie tot MySQL● Deel 2: phpMyAdmin in de praktijk● Deel 3: Geavanceerde onderwerpen
april 2012 MySQL en phpMyAdmin voor “beginners”
(daar gaan we)
april 2012 MySQL en phpMyAdmin voor “beginners”
Deel 1:Introductie tot MySQL
april 2012 MySQL en phpMyAdmin voor “beginners”
Introductie tot MySQL● Onderdeel van een stack● Client/server architectuur● Wat is SQL?
april 2012 MySQL en phpMyAdmin voor “beginners”
Introductie tot MySQL● Onderdeel van een stack● Client/server architectuur● Wat is SQL?
april 2012 MySQL en phpMyAdmin voor “beginners”
Introductie tot MySQL● Onderdeel van een stack
– LAMP (Linux, Apache, MySQL, PHP)
– MAMP (MacOS, Apache, MySQL, PHP)
– WAMP (Windows, Apache, MySQL, PHP)
– WIMP (Windows, IIS, MySQL, PHP)
● Client/server architectuur● Wat is SQL?
april 2012 MySQL en phpMyAdmin voor “beginners”
Introductie tot MySQL● Onderdeel van een stack● Client/server architectuur● Wat is SQL?
april 2012 MySQL en phpMyAdmin voor “beginners”
Introductie tot MySQL● Onderdeel van een stack● Client/server architectuur
– MySQL server
– MySQL client
● Wat is SQL?
april 2012 MySQL en phpMyAdmin voor “beginners”
MySQL server● Op dezelfde server
localhost
● Op een andere server bij dezelfde hostermysql12345.hoster.local
● Op een andere server bij andere hoster– TCP-poort 3306 open in firewall
– NIET DOEN
april 2012 MySQL en phpMyAdmin voor “beginners”
MySQL client● Joomla! (PHP “mysql”)
● phpMyAdmin (PHP “mysql”)
● command-line client (SSH)
● MySQL GUI client (SQLWave, HeidiSQL)
april 2012 MySQL en phpMyAdmin voor “beginners”
Introductie tot MySQL● Onderdeel van een stack● Client/server architectuur● Wat is SQL?
april 2012 MySQL en phpMyAdmin voor “beginners”
Introductie tot MySQL● Onderdeel van een stack● Client/server architectuur● Wat is SQL?
– Structured Query Language
– Aanspreken van relationele database
april 2012 MySQL en phpMyAdmin voor “beginners”
april 2012 MySQL en phpMyAdmin voor “beginners”
Voorbeeld: Joomla! gebruikers
● jos_users = Lijst van gebruikers
● jos_usergroups = Lijst van groepen
● jos_user_usergroup_map = Koppeling
april 2012 MySQL en phpMyAdmin voor “beginners”
Voorbeeld: Joomla! artikelen
● jos_content = Lijst van artikelen
● jos_categories = Lijst van categorieen
● jos_assets = Authorisatie
april 2012 MySQL en phpMyAdmin voor “beginners”
SQL databases● MySQL● Oracle● Microsoft SQL● DB2● PostgreSQL
● SQLite● Sybase● Microsoft Access● dBase● ...
april 2012 MySQL en phpMyAdmin voor “beginners”
(duurde dat 10 minuten?)
april 2012 MySQL en phpMyAdmin voor “beginners”
Deel 2:phpMyAdmin in de praktijk
april 2012 MySQL en phpMyAdmin voor “beginners”
phpMyAdmin in de praktijk● Overzicht van phpMyAdmin● Wijzigen / toevoegen / verwijderen● SELECT-statement● Exporteren & importeren
april 2012 MySQL en phpMyAdmin voor “beginners”
phpMyAdmin in de praktijk● Inloggen op phpMyAdmin● Wijzigen / toevoegen / verwijderen● SELECT-statement● Exporteren & importeren
april 2012 MySQL en phpMyAdmin voor “beginners”
Inloggen op phpMyAdmin● Direct via een phpMyAdmin link● Via control panel van hosting omgeving
– CPanel, Plesk, DirectAdmin
– eigen control panel
april 2012 MySQL en phpMyAdmin voor “beginners”
Inloggen op phpMyAdmin
april 2012 MySQL en phpMyAdmin voor “beginners”
april 2012 MySQL en phpMyAdmin voor “beginners”
april 2012 MySQL en phpMyAdmin voor “beginners”
april 2012 MySQL en phpMyAdmin voor “beginners”
april 2012 MySQL en phpMyAdmin voor “beginners”
april 2012 MySQL en phpMyAdmin voor “beginners”
phpMyAdmin in de praktijk● Inloggen op phpMyAdmin● Wijzigen / toevoegen / verwijderen● SELECT-statement● Exporteren & importeren
april 2012 MySQL en phpMyAdmin voor “beginners”
Wijzigen / toevoegen / verwijderen
● UPDATE = Wijzigen
● INSERT = Toevoegen
● DELETE = Verwijderen
april 2012 MySQL en phpMyAdmin voor “beginners”
phpMyAdmin in de praktijk● Inloggen op phpMyAdmin● Wijzigen / toevoegen / verwijderen● SELECT-statement● Exporteren & importeren
april 2012 MySQL en phpMyAdmin voor “beginners”
Voorbeelden van SELECTs● SELECT * FROM jos_users WHERE id=42;
● SELECT title,alias FROM jos_content WHERE title = “contacts”;
● SELECT title FROM jos_content WHERE title LIKE “cont%”;
april 2012 MySQL en phpMyAdmin voor “beginners”
Voorbeeld van JOIN SELECT● SELECT article.* FROM jos_content AS articleLEFT JOIN jos_categories AS catON cat.id = a.catidWHERE cat.id = 3;
april 2012 MySQL en phpMyAdmin voor “beginners”
phpMyAdmin in de praktijk● Inloggen op phpMyAdmin● Wijzigen / toevoegen / verwijderen● SELECT-statement● Exporteren & importeren
april 2012 MySQL en phpMyAdmin voor “beginners”
Exporteren● Welke tabellen?
– Enkele tabel
– Meerdere tabellen
– Alle tabellen
● Welke gegevens?– Structuur en/of data
april 2012 MySQL en phpMyAdmin voor “beginners”
(rustig ademen)
april 2012 MySQL en phpMyAdmin voor “beginners”
Deel 3:Geavanceerde onderwerpen
april 2012 MySQL en phpMyAdmin voor “beginners”
Database table prefix● Gebruik niet “jos_”● Instelbaar tijdens Joomla! installatie● Maakt SQL-injection moeilijker
april 2012 MySQL en phpMyAdmin voor “beginners”
User ID 42● Standaard “admin” user heeft ID 42● Maakt SQL-injection makkelijker● Wijzigen
– Maak nieuwe Super User aan
– Verwijder oude Super User
● Vraag: Waarom niet via phpMyAdmin wijzigen?
april 2012 MySQL en phpMyAdmin voor “beginners”
Tabellen leegmaken● TRUNCATE `jos_content`;
● Wees voorzichtig– Dit kan niet teruggedraaid worden
– Relaties worden niet in acht genomen
april 2012 MySQL en phpMyAdmin voor “beginners”
JOINs● LEFT JOIN● RIGHT JOIN● INNER JOIN● OUTER JOIN
april 2012 MySQL en phpMyAdmin voor “beginners”
UTF-8 en collations● UTF-8 = De-facto karakterset voor Joomla!
– Support voor veel talen (Westers, Arabisch, Hindu, Klingon)
● Collations = Interpretatie van karakterset– utf8_general_ci (standaard)
– utf8_polish_ci
– latin1 (nooit gebruiken)
april 2012 MySQL en phpMyAdmin voor “beginners”
MyISAM en InnoDB● MyISAM Storage Engine● InnoDB Storage Engine
april 2012 MySQL en phpMyAdmin voor “beginners”
In het kort● Deel 1: Introductie tot MySQL
Stack; Client/server; SQL;
● Deel 2: phpMyAdmin in de praktijkINSERT, SELECT, UPDATE, DELETE;
Aanmaken van database, database-user; Import / export;
● Deel 3: Geavanceerde onderwerpenJOINs; UTF-8, collations; user-ID 42; MyISAM, InnoDB
TRUNCATE; database table prefix
april 2012 MySQL en phpMyAdmin voor “beginners”
(vragen)
Recommended