Title: More on MySQL and SQL
1More on MySQL and SQL
- University of California, Berkeley
- School of Information
- IS 257 Database Management
2Lecture Outline
- Review
- ColdFusion
- PHP
- More on MySQL and SQL
3Lecture Outline
- Review
- ColdFusion
- PHP
- More on MySQL and SQL
4Templates
- Assume we have a database named
contents_of_my_shopping_cart.mdb -- single table
called contents... - Create an HTML page (uses extension .cfm), and
before ltHEADgt...
5Templates cont.
- ltCFQUERY NAME cart" DATASOURCEcontents_of_my_s
hopping_cart"gt - SELECT FROM contents lt/CFQUERYgt
- ltHEADgt
- ltTITLEgtContents of My Shopping Cartlt/TITLEgt
- lt/HEADgt
- ltBODYgt
- ltH1gtContents of My Shopping Cartlt/H1gt
- ltCFOUTPUT QUERY cart"gt
- ltBgtItemlt/Bgt ltBRgt
- Date_of_item ltBRgt
- Price ltPgt
- lt/CFOUTPUTgt
- lt/BODYgt
- lt/HTMLgt
6Templates cont.
Contents of My Shopping Cart
Bouncy Ball with Psychedelic Markings
12 December 1998
0.25
Shiny Blue Widget 14
December 1998 2.53
Large Orange Widget
14 December 1998
3.75
7CFIF and CFELSE
ltCFOUTPUT QUERY cart"gt Item Item
ltBRgt ltCFIF Picture EQ""gt ltIMG
SRCgeneric_picture.jpg"gt ltBRgt ltCFELSEgt
ltIMG SRC"Picture"gt ltBRgt lt/CFIFgt lt/CFOUTPUTgt
8More Templates
ltCFQUERY DATASOURCE AZ2gt INSERT INTO
Employees(firstname, lastname, phoneext)
VALUES(firstname, lastname, phoneext)
lt/CFQUERYgt ltHTMLgtltHEADgtltTITLEgtEmployee
Addedlt/TITLEgt ltBODYgtltH1gtEmployee
Addedlt/H1gt ltCFOUTPUTgt Employee ltBgtfirstname
lastnamelt/Bgt added. lt/CFOUTPUTgtlt/BODYgt lt/HTMLgt
9CFML ColdFusion Markup Language
- Read data from and update data to databases and
tables - Create dynamic data-driven pages
- Perform conditional processing
- Populate forms with live data
- Process form submissions
- Generate and retrieve email messages
- Perform HTTP and FTP function
- Perform credit card verification and
authorization - Read and write client-side cookies
10Lecture Outline
- Review
- ColdFusion
- PHP
- More on MySQL and SQL
11PHP
- PHP is an Open Source Software project with many
programmers working on the code. - Commonly paired with MySQL, another OSS project
- Free
- Both Windows and Unix support
- Estimated that more than 250,000 web sites use
PHP as an Apache Module.
12PHP Syntax
- Similar to C or Java (note lines end with )
- Includes most programming structures (Loops,
functions, Arrays, etc.) - Loads HTML form variables so that they are
addressable by name
ltHTMLgtltBODYgt lt?php myvar Hello World
echo myvar ?gt lt/BODYgtlt/HTMLgt
13Combined with MySQL
- DBMS interface appears as a set of functions
ltHTMLgtltBODYgt lt?php db mysql_connect(localhost
, root) mysql_select_db(mydb,db) result
mysql_query(SELECT FROM employees,
db) Printf(First Name s ltbrgt\n,
mysql_result(result, 0 first) Printf(Last
Name s ltbrgt\n, mysql_result(result, 0
last) ?gtlt/BODYgtlt/HTMLgt
14Lecture Outline
- Review
- ColdFusion
- PHP
- More on MySQL and SQL
15Today
- More on SQL for data manipulation and
modification
16SELECT
- Syntax
- SELECT DISTINCT attr1, attr2,, attr3 as
label, function(xxx), calculation, attr5, attr6
FROM relname1 r1, relname2 r2, rel3 r3 WHERE
condition1 AND OR condition2 ORDER BY attr1
DESC, attr3 DESC
17SELECT Conditions
- equal to a particular value
- gt greater than or equal to a particular value
- gt greater than a particular value
- lt less than or equal to a particular value
- ltgt or ! not equal to a particular value
- LIKE wom_n (Note different wild card from
Access) - opt1 SOUNDS LIKE opt2
- IN (opt1, opt2,,optn)
- BETWEEN opt1 AND opt2
- IS NULL or IS NOT NULL
18Aggregate (group by) Functions
- COUNT(dataitem)
- COUNT(DISTINCT expr)
- AVG(numbercolumn)
- SUM(numbercolumn)
- MAX(numbercolumn)
- MIN(numbercolumn)
- STDDEV(numbercolumn)
- VARIANCE(numbercolumn)
- and other variants of these
19Numeric Functions
- ABS(n)
- ACOS(n)
- ASIN(n)
- ATAN(n)
- ATAN2(n, m)
- CEIL(n)
- COS(n)
- COSH(n)
- CONV(n, f-base,t-base)
- COT(n)
- DEGREES(n)
- EXP(n)
- EXP(n)
- FLOOR(n)
- LN(n)
- LOG(n,b)
- MOD(n)
- PI()
- POWER(n,p)
- ROUND(n)
- SIGN(n)
- SIN(n)
- SINH(n)
- SQRT(n)
- TAN(n)
- TANH(n)
- TRUNCATE(n,m)
20Character Functions returning character values
- CHAR(n,)
- CONCAT(str1,str2,)
- LOWER(char)
- LPAD(char, n,char2), RPAD(char, n,char2)
- LTRIM(char, n, cset), RTRIM(char, n, cset)
- REPLACE(char, srch, repl)
- SOUNDEX(char)
- SUBSTR(char, m, n)
- UPPER(char)
21Character Function returning numeric values
- ASCII(char)
- INSTR(char1, char2)
- LENGTH(char)
- BIT_LENGTH(str)
- CHAR_LENGTH(str)
- LOCATE(substr,str)
- LOCATE(substr,str,pos)
- and many other variants.
22Date functions
- ADDDATE(dt, INTERVAL expr unit) or ADDDATE(dt,
days) - ADDTIME(dttm, time)
- LAST_DAY(dt)
- MONTH(dt) YEAR(dt) DAY(dt)
- MONTHNAME(dt)
- NOW()
- NEW_TIME(d, z1, z2) -- PST, AST, etc.
- NEXT_DAY(d, dayname)
- STR_TO_DATE(str,format)
- SYSDATE()
23Demo
- Setting up Diveshop on MySQL
- SQL Queries for Assignment 3
- MySQL and XML