PHP - Getting good with MySQL part I


Published on

Getting good with MySQL part I

Published in: Education, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

PHP - Getting good with MySQL part I

  1. 1. 1 Internet Programming Database(SQL and MySQL)
  2. 2. 2 Objectives To understand the relational database model. queries database using SQL (Structured Query Language). To understand the MySQL database server. To learn various database interfaces.
  3. 3. 3 Introduction Database  An integrated collection of data Database Management System (DBMS)  Provides mechanism for storing and organizing data in a manner that is consistent with the database’s format. The most popular database systems are relational database  Use a language called SQL (Structured Query Language)
  4. 4. 4 Introduction Popular database systems  Microsoft SQL Server, OracleTM , SybaseTM InformixTM andMySQLTM. An interface  Software that facilitates communication between a database management system and a program.  Examples: Perl DBI for Perl, DB-API for Python and dbx module for PHP.
  5. 5. 5 Relational Database Model A logical presentation of data. Allows relationships among items of the data. Does not concern about the physical structure of the data. Is composed of tables  Tables are composed of rows and columns  Has primary key for referencing data
  6. 6. 6 Relational Database Model Database Student_Record Table : Student_Details Table : Score Table : Medical Table : Activities
  7. 7. 7 Relational Database Model stud_ID stud_name age cgpa 1111 Lily 19 3.40 2222 Kim 18 2.75 3333 Ali 21 3.00 Database Name: Student_Record Table Name: Score Primary key A major strength of the relational model: supports simple, powerful querying of data.
  8. 8. 8 SQL (Structured Query Language) Developed by IBM in the 1970s. Two Categories of SQL Statement. 1. Data manipulation • SELECT, INSERT, DELETE 2. Data definition • CREATE DATABASE, DROP DATABASE • CREATE TABLE, DROP TABLE
  9. 9. 9 Basic SELECT Query SELECT column_name FROM table_name WHERE condition; Select all columns from a table  SELECT * FROM table_name  SELECT * FROM Score Select specific column(s) from a table  SELECT student_name FROM Score  SELECT student_name, age FROM Score
  10. 10. 10 Basic SELECT Query Specify the selection criteria for the query.  SELECT student_id, cgpa FROM Score WHERE age > 18; Use pattern matching to search for similar strings  SELECT student_id, cgpa FROM Score WHERE student_name LIKE ‘K*’;
  11. 11. 11 Basic SELECT Query Use pattern matching to search for strings in which exactly ONE character takes the selected character(?) place  SELECT student_id, cgpa FROM Score WHERE student_name LIKE ‘?i*’; 2nd letter Arrange in ascending or descending order  SELECT column_name1, column_name2,… FROM table_name ORDER BY column_name ASC;
  12. 12. 12 Basic SELECT Query Arrange in ascending or descending order  SELECT column_name1, column_name2,… FROM table_name ORDER BY column_name DESC;  SELECT student_ID, student_name, cgpa FROM Score ORDER BY student_name DESC;
  13. 13. 13 Basic SELECT Query Arrange rows in ascending order by multiple columns  SELECT column_name1, column_name2,... FROM table_name ORDER BY column_name1 SortingOrder1, column_name2 SortingOrder2,... ;  SELECT student_ID, student_name, cgpa FROM Score ORDER BY student_name, age
  14. 14. 14 Use SELECT to join tables Use an INNER JOIN to merge rows from two or more tables by testing for matching values.  SELECT column_name1, column_name2,... FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
  15. 15. 15 Use SELECT to join tables  SELECT student_name, blood_group,... FROM Score INNER JOIN Medical ON Score.student_ID = Medical.student_ID ORDER BY student_name; The query combines the student_name and cgpa columns from table Score and column blood_group from table Medical, sorting the result in ascending order by student_name
  16. 16. 16 Use SELECT to join tables SELECT table_name1.colx, table_name2.coly... FROM table_name1, table_name2 WHERE condition; SELECT Score.student_name, Score.cgpa, Medical.blood_group FROM Score, Medical WHERE Score.student_ID = Medical.student_ID;
  17. 17. 17 SQL Statement: INSERT INSERT INTO table_name (col1, col2, col3, ...) VALUES (‘text1’,’text2’...,num1,…); INSERT INTO Score (student_id, cgpa) VALUES(4444, 3.5); INSERT INTO Score VALUES(4444,’John’,19,3.5);
  18. 18. 18 SQL Statement: DELETE DELETE FROM table_name WHERE condition;  DELETE FROM Score WHERE student_name=‘Lily’;
  19. 19. 19 SQL Statement: UPDATE UPDATE table_name SET column_name1 = value1, column_name2 = value2, … WHERE criteria; UPDATE Score SET student_name = ‘Kimchi’, age = 20, WHERE student_ID = 3333;
  20. 20. 20 MySQL Multiuser, multithreaded RDBMS server Uses SQL to interact with and manipulate data Few important features  Enable multiple tasks concurrently – requesting process is more efficient  Support various programming language  Available for all common platforms  Full support of functions and operators to manipulate data  Accessing tables from different database using a single query  Able to handle large database
  21. 21. 21 MySQL
  22. 22. 22 Add table Table Name
  23. 23. TAB1033 - Internet Programming 23 Create Table fields
  24. 24. TAB1033 - Internet Programming 24 Table in MySQL
  25. 25. 25 Introduction to Database Interface Perl Database Interface (DBI)  Enables user to access relational database from Perl program.  Database independent – allows migration among DBMS  Uses object-oriented interface – handles PHP dbx module  An XHTML-embedded scripting language  Database interface that does not interact with database directly  It interacts with one of several database-specific module
  26. 26. 26 Introduction to DBI Phyton DB-API  Database Application Programming Interface  Consists of :  Connection data object – access the database  Cursor data object – manipulate and retrieve data  Portable across several databases
  27. 27. 27 ADO.NET Object Model Provides an API for accessing database systems programmatically. Was created for .NET framework Was designed to interact with Microsoft’s Component Object ModelTM (COM) framework. Further reading : Textbook, page 736
  28. 28. 28 Summary What is database? The most popular database – relational database SQL for database queries Database consists table(s) Two Categories of SQL Statement. 1. Data manipulation • SELECT, INSERT, DELETE,UPDATE 2. Data definition DBI – Perl DBI, PHP dbx module, Python DB- API ADO.NET object Model