Download MySQL

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

DBase wikipedia , lookup

Relational algebra wikipedia , lookup

Serializability wikipedia , lookup

IMDb wikipedia , lookup

Microsoft Access wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Btrieve wikipedia , lookup

Team Foundation Server wikipedia , lookup

Oracle Database wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Functional Database Model wikipedia , lookup

PL/SQL wikipedia , lookup

Ingres (database) wikipedia , lookup

SQL wikipedia , lookup

Database wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Versant Object Database wikipedia , lookup

ContactPoint wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
IT420: Database Management
and Organization
MySQL and PHP
3 March 2006
Adina Crainiceanu
www.cs.usna.edu/~adina
Web Database Architecture
HTTP
Client browser
Web server with
PHP enabled
API
Database
Management
System
Why Use DBMS?




Fast access to data
Queries to easily extract data
Built-in concurrency control
Built-in security control
Learned So Far…
HTTP
Client browser
Web server with
PHP enabled
API
Database
Management
System
Goals Today
 MySQL
 Connect from PHP to MySQL
MySQL






Relational Database Management System
Free
Open source
Portable
High performance
Support available
Working with MySQL
 SQL Monitor
 Always available
 Write SQL statements
 ; after each statement!
 PHPMyAdmin
Current Settings




Each machine is a server – web, db
Web server: localhost:80
MySQL server: localhost:3306
MySQL user: root, no password
 ALL privileges
 Disk location D:/sokkit
 site/
 mysql/
Lab Demo
 Start MySQL server
 Use MySQL – local machine
Lab Exercise
 Start MySQL server
 Sokkit Control Panel  Start database
 Start MySQL monitor
 D:/sokkit/mysql/bin/mysql –u root
 Create a database called vp5fund
 create database vp5fund;
 Check database was created
 show databases;
SQL for MySQL
 Surrogate keys variant:
 AUTO_INCREMENT
 If column value left blank, generated value =
max+1
 show
 databases
 tables
 describe tableName
VP-5 MVR Fund Raiser Application
Lab Exercise
 To use the database just created:
 use vp5fund;
 Create table (use SQL)
 Items(ItemName, Price)
 Orders(OrderID, ShippingAddress)
 ItemsOrdered(OrderID, ItemName, Quantity)
 Insert few rows in tables
 List all rows in Orders table (use SQL)
Example Application
Database: dbmusic
Table: songs(ISBN, Title, SingerID, Length)
Use DBMS from PHP





Connect to the database server
Specify database to use
Send queries and retrieve results
Process results
Close connection
 All PHP functions return ‘false‘ if operation
unsuccessful!
Example:
$searchterm = $_POST['searchterm'];
//connect
@ $db = mysql_connect('localhost','root');
if (!$db){
echo('connect failed');
exit;
}
$dbselected= mysql_select_db('dbmusic') or exit('could not select db');
//query
$query = "select * from songs where Title like '%$searchterm%'";
//process results
$results = mysql_query($query) or die("could not retrieve rows");
while ($row = mysql_fetch_row($results)){
echo 'Title: '.$row[1].' <br>';
}
//close connection
mysql_free_result($results);
mysql_close($db);
Connect to MySQL
 dbconnection mysql_connect(servername,
username, [password])
 Always test and handle errors!
 Example:
$dbconn = mysql_connect(‘localhost’,’root’);
if (!$dbconn){
echo ‘Could not connect to db. Exit’;
exit;
}
Select Database to Use
 bool mysql_db_select(dbname,
[dbconnection])
 Always test and handle errors!
 Example:
$dbs = mysql_db_select(‘dbmusic’) or
die(‘Could not select db’);
Query the Database
 qresult mysql_query(query)
 Example:
$query = “select * from songs where Title like
‘%home%’ ”;
$results = mysql_query($query);
Process Results




nbrows = mysql_num_rows(qresult)
row = mysql_fetch_row(qresult)
row = mysql_fetch_array(qresult)
Example:
while ($row = mysql_fetch_row($results)){
foreach($row as $column) echo “$column ”;
echo “<br />”;
}
Disconnect from Database
 Free query results
 mysql_free_result(qresult);
 Close connection
 mysql_close(connection)
Lab Exercise
 Save order data from VP-5 Fund Raiser
application into vp5fund database. Display
appropriate message in order confirmation
screen.
 Display all orders from VP-5 Fund Raiser
application.
 Display all orders from VP-5 Fund Raiser
application with shipping address in
Maryland.
Save Your Work!
 Copy the
D:\sokkit\mysql\data\yourdatabase
directory to your X drive