Click here to load reader

SQL | PHP Tutorial

  • View
    59

  • Download
    5

Embed Size (px)

DESCRIPTION

SQL | PHP Tutorial. at 8am. god, it’s early. SQL intro. There are many different versions of SQL available for usage. Oracle MySQL SQLite DB2 Mimer - PowerPoint PPT Presentation

Text of SQL | PHP Tutorial

  • SQL | PHP Tutorialat 8am. god, its early.

  • SQL introThere are many different versions of SQL available for usage. Oracle MySQL SQLite DB2 Mimer The popular ones are Oracle and MySQL with MySQL quickly gaining ground. Ill be showing you MySQL. The syntax between SQL domains varies little and with google skills you can adjust this knowledge for SQLite, which Ive never used.

  • Databases _ creationCREATE TABLE tableName (name VARCHAR(55),sex CHAR(1),age INT(3),birthdate DATE,salary DECIMAL(10,2),primary key(name));

    Types of attributes: char, varchar, int, smallint, decimal, date, float, etc.*varchar is a string with varying # of characters. In our example, 55 is the characters longest possible string allowed.*decimal(10,2) indicated 2 places after the decimal point and 10 total digits (including the decimal numbers)

  • Databases _ creation 2CREATE TABLE tableName (name VARCHAR(55),sex CHAR(1) NOT NULL,age INT(3),birthdate DATE,salary DECIMAL(10,2) DEFAULT 0.00,primary key(name));

    Primary key: primary key is a UNIQUE value. For every entry in your database this must be unique and not null and every DB must have one.NOT NULL: column must have a valueDEFAULT: you can set a default value if no other value is inputted for that column.

  • Databases _ indexed primary keysInstead of specifying a column as a primary key you can have the database create a column of numbers that will automatically increment with each entry inserted into the DB. Example:

    CREATE TABLE tableName (id INT AUTO_INCREMENT,name VARCHAR(55),sex CHAR(1),age INT(3),birthdate DATE,salary DECIMAL(10,2),primary key(id));

    Entry 1 will have 1 as a key. Entry 2 will have 2 and so forth.

  • Databases _ deletionDROP TABLE tableName;

  • Databases _ insertionInserting data in the database:INSERT INTO tableName(name,sex,age)VALUES(Mr. Freeze,M,42);

    Also valid:INSERT INTO tableName(sex,name,age)VALUES(F,Mr. Freeze,42);

    Order doesnt matter.

  • Databases _ the meatAlways in the form of:SELECT .FROM .WHERE .

    So select a column from your database.From a databaseWhere x meets y condition.

    * Except in the case of modification

  • Databases _ updating Suppose we want to change Mr. Freezes age to 52.

    UPDATE tableNameSET age = 52WHERE name LIKE Mr. Freeze

    And so forth.

  • Databases _ aggregates This is the actual meat of using SQL. These are where you set your conditions, narrow down your table into a usable set. Here are the usable functions, Ill show a quick example with each. The only way to really know this stuff is practice.

    Group byCountSumAvgMin/MaxOrder by

  • Databases _ group by This is the actual meat of using SQL. These are where you set your conditions, narrow down your table into a usable set. Here are the usable functions, Ill show a quick example with each. The only way to really know this stuff is practice. Group by lumps all the common attributes into one row.

    SELECT employee_id, MAX(salary)FROM Works_InGROUP BY dept_id;

    * MAX selects the maximum value in its () likewise for MIN

  • Databases _ count Count counts the number of columns with the specified attribute.

    SELECT term, COUNT(course_id)FROM teachesGROUP BY term;

    We counted the number of courses taught during x term. AVG & SUM function pretty much the same way.

  • PHP _ connecting to the dbThis is the basic connect script for accessing your db:

    Localhost indicates the current machine. So youre asking the machine to connect to itself. The die(mysql_error) part says if theres an error halt everything and display this error. If it errors on this part, it means either your host, username, or password are wrong.

  • PHP _ error checking w/ echoConsider the connection script again with this modification:

    Later on you may be unable to differentiate where the error occurred. So while developing your code throw in some echo statements, they just print stuff to the screen. When PHP is done connecting to our database it tell us.

  • PHP _ select the database.
  • PHP _ create/drop table
  • PHP _ insertion
  • PHP _ selecting a tableIn order to manipulate, fetch, etc data from your database you must have PHP remember the result. So we store it in an array (?) to preserve columns. PHP variables unlike Java do not need a type declaration. From now on Ill be omitting the connect stuff.

    From these lines we see that each cell in the area is labeled under the column name. Using this method we can output or even compare data.

  • PHP _ selecting a tableIn order to manipulate, fetch, etc data from your database you must have PHP remember the result. So we store it in an array (?) to preserve columns. PHP variables unlike Java do not need a type declaration. From now on Ill be omitting the connect stuff.

    From these lines we see that each cell in the area is labeled under the column name. Using this method we can output or even compare data. The * symbol in the SELECT statement just means that we select all the columns in the table. The above statement however results in the first row only being shown.

  • PHP _ selecting a table 2To solve this problem, we loop continuously until there are no more rows to choose from.

    If you have noticed the . symbol signifies a concatenation.

  • PHP _ the formulaWe looked over it all. Heres the general formula:

  • PHP _ form processingTopic job but its all good. Im assuming you know howto create forms in HTML. Else, well, google it. Its pretty straight forward. So lets take this form as our example, this is a snippet of the form code:

    []

    FUN: Horns Wings Mane Giraffe Neck

  • PHP _ form processing 2Our form action tells the form what to do with the data. POST is a method that sends an array of variables, our data. Only when the submit button is pressed is the data sent.

    []

    It is common practice to create a separate file for form processing.

  • PHP _ form processing 3Our data is now winding through the PHP tubes. Lets look how its processed.

    $_POST[submit]if( $dbc = @mysql_connect(localhost,username,pw)) {if([email protected]_select_db(database)) {die(mysql_error());} }else { die(mysql_error());}

    $query = INSERT INTO animals(id,data,appendages, tail, sound,extra)VALUES(0,{$_POST[body]},{$_POST[appendages]}, [] )

    if(@mysql_query($query) {print success;}else { print you lose;}

    mysql_close();

  • PHP _ form processing 4Some notes on the previous slide: @ symbol means success or halt script. mysql_close(); its very important to close your connection when youre done