My sql1
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

My sql1

on

  • 435 views

Learning MySQL with PHP - I

Learning MySQL with PHP - I

Statistics

Views

Total Views
435
Views on SlideShare
435
Embed Views
0

Actions

Likes
0
Downloads
21
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

My sql1 Presentation Transcript

  • 1. Learning PHP-MySQLaadhayan academy of educationBy: Akash Gupta
  • 2. Course Contentsaadhayan academy of education• Basics of Database• MySQL• PHP basics• HTML/Javascript/CSS basics• Creating a simple Registration form usinghtml/php/javascript/css/mysql• More practicals…• Project
  • 3. Scopes of the Courseaadhayan academy of educationAfter completion of this course, you will:• Learn PHP and MySQL• Learn HTML, Javascript and CSS• Create a Webpage• Create a Industry-level project
  • 4. What is Database?aadhayan academy of educationA database is a separate application that stores a collection of data.Each database has one or more distinct APIs for creating, accessing,managing, searching, and replicating the data it holds.Other kinds of data stores can be used, such as files on the file system orlarge hash tables in memory but data fetching and writing would not beso fast and easy with those type of systems.So now a days we use relational database management systems(RDBMS) to store and manager huge volume of data. This is calledrelational database because all the data is stored into different tables andrelations are established using primary keys or other keys known asforeign keys.A Relational DataBase Management System (RDBMS) is a softwarethat:• Enables you to implement a database with tables, columns, andindexes.• Guarantees the Referential Integrity between rows of various tables.• Updates the indexes automatically.• Interprets an SQL query and combines information from various tables.
  • 5. RDBMS Terminologyaadhayan academy of educationBefore we proceed to explain MySQL database system, letsrevise few definitions related to database.Database: A database is a collection of tables, with relateddata.Table: A table is a matrix with data. A table in a databaselooks like a simple spreadsheet.Column: One column (data element) contains data of one andthe same kind, for example the column postcode.Row: A row (= tuple, entry or record) is a group of relateddata, for example the data of one subscription.Redundancy: Storing data twice, redundantly to make thesystem faster.
  • 6. aadhayan academy of educationRDBMS Terminology cont.Primary Key: A primary key is unique. A key value cannot occur twice in one table. With a key you can find atmost one row.Foreign Key: A foreign key is the linking pin between twotables.Compound Key: A compound key (composite key) is akey that consists of multiple columns, because onecolumn is not sufficiently unique.Index: An index in a database resembles an index at theback of a book.Referential Integrity: Referential Integrity makes surethat a foreign key value always points to an existing row.
  • 7. An example…aadhayan academy of educationStudent_ID Name Major Grade101 Shannon BCB A102 Mike BBMB A103 Wang MCDB A… … …
  • 8. MySQL Introduction MySQL is a fast, easy-to-use RDBMS used beingused for many small and big businesses. MySQL isdeveloped, marketed, and supported by MySQL AB,which is a Swedish company. MySQL is becoming sopopular because of many good reasons. MySQL is released under an open-source license. Soyou have nothing to pay to use it. MySQL works on many operating systems and withmany languages including PHP, PERL, C, C++, JAVAetc. MySQL is very friendly to PHP, the most appreciatedlanguage for web development.aadhayan academy of education
  • 9. Basic MySQL Operations Create table Insert records Load data Retrieve records Update records Delete records Modify table Join table Drop table Optimize table Count, Like, Order by, Group by More advanced ones (sub-queries, stored procedures, triggers, views…)aadhayan academy of education
  • 10. How MySQL stores data (bydefault) A MySQL server can store several databases Databases are stored as directories Default is at /usr/local/mysql/var/ Tables are stored as files inside each database(directory) For each table, it has three files: table.FRM file containing information about the tablestructure table.MYD file containing the row data table.MYI containing any indexes belonging with thistable, as well as some statistics about the table.aadhayan academy of education
  • 11. Login mysql –h hostname –u username –p [password] Example% mysql -u usrname -pEnter password: passowrdWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 23 to server version: 3.23.41.Type help; or h for help. Type c to clear the buffer.mysql>aadhayan academy of education
  • 12. Create User and Database mysql>use mysql; Use database mysql, used by the system mysql>insert into user (Host, User,Password) values (‘localhost’, ‘test1’,password(‘pass1’)); Create a new database user test1 An alternativeGRANT USAGE ON *.* TO ‘test1’@’localhost‘IDENTIFIED BY ‘pass1’;aadhayan academy of education
  • 13. Create User and Database (cont.) mysql>insert into db (Host, Db, User, Select_priv,Insert_priv, Update_priv, Delete_priv, Create_priv,Drop_priv) values (‘localhost’, ‘testdb’, ‘test1‘, ‘Y’, ‘Y’, ‘Y’,‘Y’, ‘Y’, ‘Y’); Create a new database testdb for user test1 mysql>flush privileges Reloads the privileges from the grant tables in thedatabase mysql An alternative GRANT SELECT, INSERT, UPDATE, DELETE, CREATE,DROP ON testdb.* TO ‘test1’@’localhost’ IDENTIFIEDBY ‘pass1’;aadhayan academy of education
  • 14. What are the current databases at the server?mysql> show databases;+--------------+| Database |+--------------+| mysql | mysql is a database (stores users’ password …) used by system.| test |+--------------+Create a database (make a directory) whose name is MyDBmysql> create database MyDB;Select database to usemysql> use MyDB;Database changedWhat tables are currently stored in the MyDB database?mysql> show tables;Empty set (0.00 sec)Create Databaseaadhayan academy of education
  • 15.  CREATE TABLE Table_Name (column_specifications) Examplemysql> CREATE TABLE student-> (-> student_ID INT UNSIGNED NOT NULL,-> name VARCHAR(20) NOT NULL,-> major VARCHAR(50),-> grade VARCHAR(5)-> );Query OK, 0 rows affected (0.00 sec)Student_ID Name Major GradeCreate Tableaadhayan academy of education
  • 16. Display Table Structuremysql> show tables;+--------------------+| Tables_in_MyDB |+--------------------+| student |+--------------------+1 row in set (0.00 sec)mysql> describe student;+---------------+----------------------+------+------+----------+--------+| Field | Type | Null | Key | Default | Extra |+---------------+----------------------+-------+-----+-----------+-------+| student_ID | int(10) unsigned | | | 0 | || name | varchar(20) | | | | || major | varchar(50) | YES | | NULL | || grade | varchar(5) | YES | | NULL | |+---------------+----------------------+-------+------+----------+-------+4 rows in set (0.00 sec)aadhayan academy of education
  • 17. Modify Table Structure ALTER TABLE table_name Operationsmysql> alter table student add primary key (student_ID);Query OK, 0 rows affected (0.00 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> describe student;+---------------+--------------------- +-------+------+----------+-------+| Field | Type | Null | Key | Default | Extra |+---------------+----------------------+-------+------+----------+-------+| student_ID | int(10) unsigned | | PRI | 0 | || name | varchar(20) | | | | || major | varchar(10) | YES | | NULL | || grade | varchar(5) | YES | | NULL | |+---------------+----------------------+-------+------+-----------+-------+4 rows in set (0.00 sec)aadhayan academy of education
  • 18. Insert Record INSERT INTO table_name SET col_name1=value1,col_name2=value2, col_name3=value3, … Examplemysql> INSERT INTO student SET student_ID=101, name=Shannon, major=BCB,grade=A;Query OK, 1 row affected (0.00 sec)aadhayan academy of educationStudent_ID Name Major Grade101 Shannon BCB A
  • 19. Retrieve Record SELECT what_columnsFROM table or tablesWHERE condition Examplemysql> SELECT major, grade FROM studentWHERE name=Shannon;+-------+-------+| major| grade|+-------+-------+| BCB | A |+-------+-------+1 row in set (0.00 sec)mysql> SELECT * FROM student;aadhayan academy of educationStudent_ID Name Major Grade101 Shannon BCB A102 Mike BBMB A103 Wang MCDB A… … …
  • 20. Update Record UPDATE table_nameSET which columns to changeWHERE condition Examplemysql> UPDATE student SET grade=B WHERE name=Shannon;Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> SELECT * FROM student WHERE name=‘Shannon’;+------------+---------------+--------+--------+| name | student_ID | major | grade |+------------+---------------+--------+--------+| Shannon | 101 | BCB | B |+------------+---------------+--------+--------+1 row in set (0.00 sec)aadhayan academy of education
  • 21. Delete Record DELETE FROM table_name WHERE condition Examplemysql> DELETE FROM student WHERE name=Shannon;Query OK, 1 row affected (0.00 sec)Mysql> DELETE FROM student;Will delete ALL student records!aadhayan academy of education
  • 22. Drop Table DROP TABLE table_name Examplemysql> drop table student;Query OK, 0 rows affected (0.00 sec) Logout MySQLmysq> quit;aadhayan academy of education
  • 23. More Table Retrieval ORmysql> select name from student where major = BCB OR major = CS; COUNT (Count query results)mysql> select count(name) from student where major = BCB OR major = CS; ORDER BY (Sort query results)mysql> select name from student where major = BCB OR major = CS‘ ORDERBY name;mysql> select name from student where major = BCB OR major = CS‘ ORDERBY name DESC;mysql> select * from student where major = BCB OR major = CS‘ ORDER BYstudent_id ASC, name DESC LIKE (Pattern matching)mysql> select name from student where name LIKE "J%"; DISTINCT (Remove duplicates)mysql> select major from student;mysql> select DISTINCT major from student;aadhayan academy of education
  • 24. Group By Cluster query results based on different groups Examplemysql> select major, count(*) from student GROUP BY major;+---------+----------+| major | count(*) |+---------+----------+| BBMB | 3 || BCB | 3 || Chem | 1 || CS | 5 || IG | 2 || Math | 2 || MCDB | 3 || Stat | 2 |+---------+------------+8 rows in set (0.00 sec)aadhayan academy of education
  • 25. NULL No Value Can not use the usual comparison operators (>, =, != …) Use IS or IS NOT operators to compare with Examplemysql> select name from student where project_ID = NULL;Empty set (0.00 sec)mysql> select name from student where project_ID IS NULL;+-------+| name|+-------+| Jerry |+-------+1 row in set (0.00 sec)aadhayan academy of education
  • 26. Table Join Retrieve information from multiple tables Example Which BCB students chose level-4 project?mysql> select s.name from student s, project pwhere s.project_ID = p.project_IDand s.major=BCB and p.level=4;+------------+| name |+------------+| Stephen |+------------+1 row in set (0.00 sec)aadhayan academy of education
  • 27. MySQL Optimization Index Index columns that you search for Examplemysql> alter table student add index (name);Query OK, 22 rows affected (0.00 sec)Records: 22 Duplicates: 0 Warnings: 0mysql> describe student;+---------------+----------------------+--------+-------+---------+---------+| Field | Type | Null | Key | Default | Extra |+---------------+----------------------+--------+-------+---------+---------+| student_ID | int(10) unsigned | | PRI | 0 | || name | varchar(20) | | MUL | | || major | varchar(10) | YES | | NULL | || project_ID | int(10) unsigned | YES | | NULL | |+--------------+-----------------------+--------+-------+---------+---------+4 rows in set (0.00 sec)aadhayan academy of education
  • 28. MySQL Optimization (cont.) EXPLAIN Find what is going on a slow query Examplemysql> EXPLAIN select * from student s, project pwhere s.project_ID = p.project_ID order by p.level;aadhayan academy of education