phpmyadmin what is phpmyadmin? phpmyadmin is one of the most popular applications for mysql...

83
Chapter - 6 PhpMyaAmin & MySQL PHP: Hypertext Preprocesso

Upload: coleen-glenn

Post on 22-Dec-2015

255 views

Category:

Documents


0 download

TRANSCRIPT

Chapter - 6

PhpMyaAmin & MySQL

PHP: Hypertext Preprocessor

PhpMyAdmin

What is PhpMyAdmin?

PhpMyAdmin is one of the most popular applications for MySQL

databases management. It is a free tool written in PHP. Through

this software you can create, alter, drop, delete, import and export

MySQL database tables. You can run MySQL queries, optimize,

repair and check tables, change collation and execute other

database management commands.

PhpMyAdmin Features

The main PhpMyAdmin features are as follows:

User-friendly web interface;

Support for most MySQL functions like browse, drop, create, copy and alter databases, tables,

views, fields and indexes, execute MySQL queries, manage stored procedures and functions;

Import data from CSV and SQL files;

Export data to various formats: CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument Text and

Spreadsheet, Word, Excel, LATEX and others;

Searching globally in a database or a subset of it;

And much more.

The full list of the PhpMyAdmin features can be found in the official web site.

How to install PhpMyAdmin ?

by Xampp Application the PhpMyAdmin installation .

Or you can install PhpMyAdmin from website and add it into

your server as Apache server .

PhpMyAdmin administration

In the following pages of our PhpMyAdmin Tutorial we

will describe the functionality of the software,

integrated in your server.

Once you enter your PhpMyAdmin application, you will

see different areas.

PhpMyAdmin administration

PhpMyAdmin administration

In the upper part you will find the server hostname. The

databases which you will manage are stored on the same server

as the software and the hostname is: localhost.

Under it there is information regarding the MySQL server, the

MySQL client and the PhpMyAdmin version.

Next, you will see the MySQL charset and you will be able to

define the MySQL connection collation.

In the right column you can change the default language, alter the

style, customize the theme color and the font size. Also there you

will notice links to PhpMyAdmin resources.

PhpMyAdmin administration

The main PhpMyAdmin areas are as follows:

1) Databases

2) Status

3) Variables

4) Processes

5) Charsets

6) Engines

7) Export

8) Import

Databases area

In the Databases tab you will find a list with all the

databases which can be managed through the localhost

server .

Once you click on a chosen database, you can start its

management.

Status area

You can open the Status tab by clicking on the Show MySQL

runtime information link. There you will find detailed

information regarding the MySQL server since the last restart.

You will see the traffic handled by the MySQL server, the

maximum number of simultaneous connections, the total

number of connections, the failed and the aborted attempts,

the total number of queries sent to the server and more

related details.

Status area

Variables area

The Variables tab will be opened after clicking on the Show

MySQL system variables link.

You will see a list with the MySQL server system variables

and their values.

Processes area

By clicking on the Processes link you will see all the

processes running by your localhost server.

Charsets area

The Character Sets and Collations link leads to

the Charset area. There you will find all the charsets and

collations supported by the MySQL server.

Engines area

The Storage Engines link opens a list with all the engines

supported by the MySQL server. The default one is MyISAM.

Another popular storage engine, used by many databases is

InnoDB. More about the MySQL storage engines can be

found in the official documentation.

Export area

In the Export section you can export your database tables

content in different formats (CSV, SQL, PDF, Microsoft Excel,

Microsoft Word, XML, and many more). You can select all the

database tables or just pick some of them.

Export area

You can add custom comments in the header of the

exported content. You can decide whether to export

just the database structure, the data or both of them.

You can export the database tables in a file and

compress it or you can visualize the queries directly on

the screen.

Import area

In the Import section you can import your database tables from a

file, saved on your local computer.

You should browse for the file and pick its character set from the

drop-down menu.

If the file is too big, the MySQL server timeout can be reached. In

such a case you can interrupt the import action. Then you can

continue with the data import defining the number of the queries to

be skipped from the file beginning. In this way you will skip the

imported queries and continue from the point of the interruption.

Additionally you can pick the SQL server mode of the imported file.

You can find more details in the Server SQL Modesdocumentation.

Import area

Manage MySQL database tables with PhpMyAdmin ?

The main functionality of the PhpMyAdmin tool is to manage

your databases.

Click on the Databases link. Pick the preferred database

which you want to manage and click on its name.

Manage MySQL database tables with PhpMyAdmin ?

In the new screen you will see a list with the database

tables, the allowed actions with them, the number of the

records, the storage engine, the collation, the tables' sizes

and the overhead.

Manage MySQL database tables with PhpMyAdmin ?

The possible actions which you can perform to a

chosen table are:

1. Browse

2. Structure

3. Search

4. Insert

5. Empty

6. Drop

Browse Database Tables

Only the tables with existing records can be browsed.

Once you click on the Browse icon a new window with

the records list will be opened.

Browse Database Tables

By clicking on the Pen icon you can edit the chosen

record.

You will see the record structure and you can alter the

values of the records.

Structure Database Tables

The next option is named Structure. In

the Structure screen you will see the database's

table structure.

Structure Database Tables

You will see the fields' names, their types, collations, attributes, additional

extra information,  the default values and whether the fields' values can be

NULL. You can browse for distinct values by clicking on the corresponding

action icon. Also, you can edit a field's structure or delete a field. You can

define different indexes: Primary, Unique, Index and Full text. More about

the indexes can be found in the MySQL Indexes documentation.

In the Indexes area you will find the indexes assigned for the table and

the fields for which they are set. You can edit and delete them.

Additionally, in the same screen you can check the Space Usage and

the Row Statistics.

Search Database Tables

Through the Search action you can generate a search

query for the chosen table.

Search Database Tables

You can either write the WHERE clause or you can use the

"query by example" functionality. You should click on

the Gobutton to execute the query.

For example, if you want to visualize all the records with a

field value that starts with a you should select the fields

which you want to show. Pick the LIKE operator from the

drop-down menu and enter in the corresponding field

value a% (% stands for a wildcard string). Click on

the Go button to see the result.

Insert into Database Tables

Using the Insert action you can insert records in your

database table.

Once you fill in the corresponding values click on

the Go button and the new record will be inserted.

Empty Database Tables

The Empty action allows you to empty your database

table, removing the data and keeping the empty table.

Drop Database Tables

Through the Drop action you can delete the whole

table and all the records stored in it.

Create a MySQL Database?

Enter the database name in the text field and click on

the Create  button.

Add MySQL Database Tables

Navigate to your PhpMyAdmin tool and open the

newly create database. It is empty and there are no

tables.

Enter the table name and the number of fields. Click

on the Go button to create the table.

Add MySQL Database Tables

On the next screen you should enter the fields' names and

the corresponding properties. The properties are:

Type

Here you should pick the type of the data, which will be stored in

the corresponding field. More details about the possible choices

can be found in the official MySQL Data Types documentation.

Length/Values

Here you should enter the length of the field.  If the field type is

"enum" or "set", enter the values using the following format:

'a','b','c'...

Add MySQL Database Tables

Collation

Pick the data collation for each of the fields.

Attributes

The possible attributes' choices are:

BINARY - the collation for the field will be binary, for example

utf8_bin;

UNSIGNED -  the field numeric values will be positive or 0;

UNSIGNED ZEROFILL - the field numeric values will be positive or

0 and leading zeros will be added to a number;

ON UPDATE CURRENT_TIMESTAMP - the value for a data type field

has the current timestamp as its default value, and is

automatically updated;

Add MySQL Database Tables

Null

Here you define whether the field value can be NULL. More about the NULL value can

be found in the corresponding MySQL documentation.

Default

This property allows you to set the default value for the field.

Extra

In the Extra property you can define whether the field value is auto-increment.

The radio buttons that come below define whether there is an Index defined for the

particular field and specify the Indextype.

Comments

Here you can add comments, which will be included in the database sql code.

At the end you can include Table comments and pick the MySQL Storage

Engine and the Collation. Once you are ready, click on the Save button.

Add MySQL Database Tables

Add MySQL Database Tables

If you want to add more fields you should specify their number and

click on the Go button instead of Save.

The database table will be created and you will see the

corresponding MySQL query.

Now we will proceed with the populating of the table with data.

Add Content in a Database Table

In order to add records in a database table click on the Insert tab.

Enter the data in the corresponding fields and click on the Go button to store

it.

At the bottom of the page you will see a drop-down menu labelled Restart

insertion with x rows . There you can pick the number of the rows that you

can populate with data and insert at once. By default the value is 2.

The Ignore check box will allow you to ignore the data entered below it. It will

not be added.

Add Content in a Database Table

You can see the newly inserted record by clicking on

the Browse tab.

You can edit or delete the record by clicking on the corresponding

icons.

To insert more records, return to the Insert tab and repeat the

procedure.

Backup a Database

Once you are ready, you can create a backup of your

database through the Export tab.

Select the tables which you want to be exported.

Leave the radio button selection to the SQL option. 

The Structure and the Data check boxes should remain

checked.

Select the Save as file check box and then click on

the Go button.

In this way you will save the dump SQL file with your

database structure and content on your local computer.

Backup a Database

Restore a Database Backup

You can restore your database backup from the Import tab. 

lick on the Browse button to select your database backup

file from your local computer.

Pick the charset of the file from the corresponding drop-down

menu.

If the file is too big, the MySQL server timeout can be

reached. In such a case you can interrupt the import action.

Then you can continue with the data import defining the

number of the queries to be skipped from the file beginning.

In this way you will skip the imported queries and continue

from the point of the interruption.

Restore a Database Backup

Run MySQL Query

The one for advanced users is through the SQL tab. There

you should enter the entire SQL query code and click on

the Gobutton to execute it.

Run MySQL Query

The other option is to construct a MySQL query in

the Query tab.

Run MySQL Query

There you can define different search conditions, sort the results and

query multiple tables.

You should select the tables used in the query from the Use

Tables list.

The fields which will be included in the SELECT MySQL statement

should be picked from the Field drop-down menus. TheShow check

box should be selected.

In the Criteria text field you should enter the criteria according to

which the search will be completed.

Through the Sort drop-down menu you can visualize the result

sorted in an ascending or a descending order.

The text window located below allows you do add extra search

conditions.

Run MySQL Query

Additionally, you can use the Ins and the Del check boxes to add or delete

text rows for search conditions. The same can be performed through

the Add/Delete Criteria Row drop-down menu. To add or delete columns

use the corresponding Insand Del check boxes or the Add/Delete Field

Columns drop-down menu.

In the Modify section you can define the relations between the fields

(whether they are connected through the AND or theOR logical operators).

You need to click on the Update Query button to complete the modifications.

To run the query click on the Submit Query button.

The query which we have included in our example is:

SELECT `AT_admins` . * FROM AT_admins WHERE (`AT_admins`.`login` LIKE

"a%");

It shows all the records from the AT_admins table for which the login field

starts with "a".

 MySQL

MySQL 

With PHP, you can connect to and manipulate databases.

MySQL is the most popular database system used with PHP.

PHP combined with MySQL are cross-platform (you can

develop in Windows and serve on a Unix platform)

What is MySQL?

MySQL is a database system used on the web

MySQL is a database system that runs on a server

MySQL is ideal for both small and large applications

MySQL is very fast, reliable, and easy to use

MySQL supports standard SQL

MySQL compiles on a number of platforms

MySQL is free to download and use

MySQL is developed, distributed, and supported by Oracle

Corporation

MySQL is named after co-founder Monty Widenius's daughter: My

What is MySQL?

The data in MySQL is stored in tables. A table is a collection of

related data, and it consists of columns and rows.

Databases are useful when storing information categorically. A

company may have a database with the following tables:

• Employees

• Products

• Customers

• Orders

Queries

A query is a question or a request.

We can query a database for specific information and have a

recordset returned.

Look at the following query (using standard SQL):

The query above selects all the data in the "LastName" column from the "Employees" table.

SELECT LastName FROM Employees

PHP Connect to the MySQL Server

Three steps to connect to the MySql

server :

• Open a Connection to the MySQL Server

• manipulation in MySql server

• Close a Connection

Open a Connection to the MySQL Server

Before we can access data in a database, we must

open a connection to the MySQL server.

mysqli_connect(host,username,password,dbname);

Parameter Description

host Optional. Either a host name or an IP address

username Optional. The MySQL user name

password Optional. The password to log in with

dbname Optional. The default database to be used when performing queries

Open a Connection to the MySQL Server

<?php

// Create connection

$con=mysqli_connect(“localhost",“root","23","my_db");

// Check connection

if (mysqli_connect_errno($con))

  {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

  }

?>

Close a Connection

The connection will be closed automatically when the

script ends. To close the connection before, use the

mysqli_close() function:

mysqli_close(connection_name)

Close a Connection

<?php

$con=mysqli_connect("example.com","peter","abc123","my_d

b");

// Check connection

if (mysqli_connect_errno($con))

  {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

  }

mysqli_close($con);

?>

Create a Database

The CREATE DATABASE statement is used to create a

database table in MySQL.

We must add the CREATE DATABASE statement to the

mysqli_query() function to execute the command.

The following example creates a database named

"my_db":

Create a Database

<?php

$con=mysqli_connect("example.com","peter","abc123");

// Check connection

if (mysqli_connect_errno())

  {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

  }

// Create database

$sql="CREATE DATABASE my_db";

if (mysqli_query($con,$sql))

  {

  echo "Database my_db created successfully";

  }

else

  {

  echo "Error creating database: " . mysqli_error();

  }

?>

Create a Table

The CREATE TABLE statement is used to create a table

in MySQL.

We must add the CREATE TABLE statement to the

mysqli_query() function to execute the command.

The following example creates a table named

"Persons", with three columns. The column names will

be "Firstname", "Lastname" and "Age":

Create a Table

<?php$con=mysqli_connect("example.com","peter","abc123","my_db");// Check connectionif (mysqli_connect_errno())  {  echo "Failed to connect to MySQL: " . mysqli_connect_error();  }

// Create table$sql="CREATE TABLE persons(Firstname CHAR(30),Lastname CHAR(30),Age INT)";

// Execute queryif (mysqli_query($con,$sql))  {  echo "Table persons created successfully";  }else  {  echo "Error creating table: " . mysqli_error();  }?>

Primary Keys and Auto Increment Fields

ach table in a database should have a primary key field.

A primary key is used to uniquely identify the rows in a

table. Each primary key value must be unique within the

table. Furthermore, the primary key field cannot be null

because the database engine requires a value to locate the

record.

The following example sets the PID field as the primary key

field. The primary key field is often an ID number, and is

often used with the AUTO_INCREMENT setting.

AUTO_INCREMENT automatically increases the value of the

field by 1 each time a new record is added. To ensure that

the primary key field cannot be null, we must add the NOT

NULL setting to the field:

Primary Keys and Auto Increment Fields

$sql = "CREATE TABLE Persons (PID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(PID),Firstname CHAR(15),Lastname CHAR(15),Age INT)";

Insert Data Into a Database Table

The INSERT INTO statement is used to add new

records to a database table.

Syntax

It is possible to write the INSERT INTO statement in

two forms.

Insert Data Into a Database Table

The first form doesn't specify the column names where

the data will be inserted, only their values:

The second form specifies both the column names and the values to be inserted:

INSERT INTO table_name VALUES (value1, value2, value3,...)

INSERT INTO table_name (column1, column2, column3,...)

VALUES (value1, value2, value3,...)

Insert Data Into a Database Table

<?php

$con=mysqli_connect("example.com","peter","abc123","my_db");

// Check connection

if (mysqli_connect_errno())

  {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

  }

mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)

VALUES ('Peter', 'Griffin',35)");

mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age) 

VALUES ('Glenn', 'Quagmire',33)");

mysqli_close($con);

?>

Insert Data From a Form Into a Database

Now we will create an HTML form that can be used to add new records to the "Persons" table.

html><body>

<form action="insert.php" method="post">Firstname: <input type="text"

name="firstname">Lastname: <input type="text"

name="lastname">Age: <input type="text" name="age"><input type="submit"></form>

</body></html>

Insert Data From a Form Into a Database

When a user clicks the submit button in the HTML form

in the example above, the form data is sent to

"insert.php".

The "insert.php" file connects to a database, and

retrieves the values from the form with the PHP

$_POST variables.

Then, the mysqli_query() function executes the INSERT

INTO statement, and a new record will be added to the

"Persons" table.

Insert Data From a Form Into a Database

insert.php

<?php$con=mysqli_connect("example.com","peter","abc123","my_db");// Check connectionif (mysqli_connect_errno())  {  echo "Failed to connect to MySQL: " . mysqli_connect_error();  }

$sql="INSERT INTO Persons (FirstName, LastName, Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysqli_query($con,$sql))  {  die('Error: ' . mysqli_error());  }echo "1 record added";

mysqli_close($con);?>

Select Data From a Database Table

The SELECT statement is used to select data from a database.

$select_st = “select * from table_name ”;

SELECT column_name(s) FROM table_name

Execute the SQL statement

To get PHP to execute the statement above we must

use the mysqli_query() function. This function is used

to send a query or command to a MySQL connection.

recourse mysqli_query(connection_name, sql_statment)

Insert Data From a Form Into a Database

<?php$con=mysqli_connect("example.com","peter","abc123","my_db");// Check connectionif (mysqli_connect_errno())  {  echo "Failed to connect to MySQL: " . mysqli_connect_error();  }

$result = mysqli_query($con,"SELECT * FROM Persons");

while($row = mysqli_fetch_array($result))  {  echo $row['FirstName'] . " " . $row['LastName'];  echo "<br />";  }

mysqli_close($con);?>

The WHERE clause

The SELECT statement is used to select data from a

database.

SELECT column_name(s)FROM table_name

WHERE column_name operator value

The WHERE clause

<?php

$con=mysqli_connect("example.com","peter","abc123","my_db");

// Check connection

if (mysqli_connect_errno())

  {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

  }

$result = mysqli_query($con,"SELECT * FROM Persons

WHERE FirstName='Peter'");

while($row = mysqli_fetch_array($result))

  {

  echo $row['FirstName'] . " " . $row['LastName'];

  echo "<br>";

  }

?>

The ORDER BY Keyword

The ORDER BY keyword is used to sort the data in a

recordset.

The ORDER BY keyword sort the records in ascending

order by default.

If you want to sort the records in a descending order,

you can use the DESC keyword.

SELECT column_name(s)FROM table_name

ORDER BY column_name(s) ASC|DESC

The ORDER BY Keyword

<?php$con=mysqli_connect("example.com","peter","abc123","my_db");// Check connectionif (mysqli_connect_errno())  {  echo "Failed to connect to MySQL: " . mysqli_connect_error();  }

$result = mysqli_query($con,"SELECT * FROM Persons ORDER BY age");

while($row = mysqli_fetch_array($result))  {  echo $row['FirstName'];  echo " " . $row['LastName'];  echo " " . $row['Age'];  echo "<br>";  }

mysqli_close($con);?>

The ORDER BY Keyword

It is also possible to order by more than one column.

When ordering by more than one column, the second

column is only used if the values in the first column

are equal:

Update Data In a Database

The UPDATE statement is used to update existing

records in a table.

Note: Notice the WHERE clause in the UPDATE syntax.

The WHERE clause specifies which record or records

that should be updated. If you omit the WHERE clause,

all records will be updated!

UPDATE table_name

SET column1=value, column2=value2,...

WHERE some_column=some_value

Update Data In a Database

<?php

$con=mysqli_connect("example.com","peter","abc123","my_db");

// Check connection

if (mysqli_connect_errno())

  {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

  }

mysqli_query($con,"UPDATE Persons SET Age=36

WHERE FirstName='Peter' AND LastName='Griffin'");

mysqli_close($con);

?>

Delete Data In a Database

The DELETE FROM statement is used to delete records

from a database table.

Note: Notice the WHERE clause in the DELETE syntax.

The WHERE clause specifies which record or records

that should be deleted. If you omit the WHERE clause,

all records will be deleted!

DELETE FROM table_nameWHERE some_column = some_value

Delete Data In a Database

<?php

$con=mysqli_connect("example.com","peter","abc123","my_db");

// Check connection

if (mysqli_connect_errno())

  {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

  }

mysqli_query($con,"DELETE FROM Persons WHERE

LastName='Griffin'");

mysqli_close($con);

?>