7. Column Properties
• Index
• Key
• 2 types of keys: primary & foreign
• 3 rules:
Must have a value
Never change
Unique
8. Key Constraint
• Auto increment
• Not null
• Default
• Timestamp
• Enum
• Unsigned
• Zerofill
9. Rules for defining column
• Identify primary key
• Identify column-not null
• Identify column-unsigned
• Default value
• Confirm final column definition
10. Accessing MySQL
• Client applications: mysql client & phpMyAdmin
• Mysql client:
Command-line prompt
To start: type ‘mysql’
Xampp-C:xamppmysqlbinmysql
Mamp-/Applications/MAMP/Library/bin/mysql
To establish the connection: mysql -u username -h hostname –p
Steps to use mysql client: access, invoke, enter password, select DB, quit
mysql, quit terminal.
11. Accessing MySQL
• phpMyAdmin:
Best and most popular
Easy to use
Access: http://localhost/phpMyAdmin
Steps: access, select DB, select table, perform task, execute SQL commands
20. Rules
• Numeric value shouldn’t be quoted.
• String values must always be quoted.
• Date and time values must always be quoted.
• Functions cannot be quoted.
• The word NULL must not be quoted.
21. Selecting data
• Syntax: SELECT which_columns FROM which_table;
• SELECT * FROM tablename;
• SELECT column1, column3 FROM tablename;
• SELECT NOW();
• Can select the order & can display multiple times.
24. Using Conditionals
Syntax: SELECT which_columns FROM which_table WHERE condition(s);
Example:
• SELECT name FROM people WHERE birth_date = '2011-01-26’;
• SELECT * FROM items WHERE (price BETWEEN 10.00 AND 20.00) AND
(quantity > 0)
SELECT * FROM cities WHERE (zip _code = 90210) OR (zip _code =90211);
• SELECT * FROM cities WHERE zip_code IN (90210, 90211)
28. Example
SELECT first_name, last_name FROM
users WHERE user_id
NOT BETWEEN 10 and 20;
SELECT first_name, last_name FROM
users WHERE user_id NOT IN
(10, 11, 12, 13, 14, 15, 16, 17, 18,
➝19, 20);
29. LIKE & NOT LIKE
• SELECT * FROM users WHERE last_name = 'Simpson’;
• SELECT * FROM users WHERE last_name LIKE 'Smith%’;
Eg: SELECT * FROM users WHERE last_name LIKE 'Bank%';
30. Example
• SELECT first_name, last_name FROM users WHERE email NOT LIKE
'%@authors.com’;
• SELECT * FROM users WHERE last_name LIKE ' _smith%'
31. Sorting Query
• Syntax :
1.SELECT * FROM tablename ORDER BY column;
2.SELECT * FROM tablename ORDER BY column DESC;
3.SELECT * FROM tablename WHERE conditions ORDER BY column;
4. SELECT * FROM tablename ORDER BY column1, column2
• Eg: SELECT * FROM orders ORDER BY total;
34. Limiting Query results
• Syntax:
1. SELECT * FROM tablename LIMIT x;
2. SELECT * FROM tablename LIMIT x, y;
3. SELECT which_columns FROM tablename WHERE conditions ORDER
BY column LIMIT x;
Eg:
SELECT * FROM tablename LIMIT 3;
SELECT * FROM tablename LIMIT 10, 10;
35. Example
SELECT first_name, last_name
FROM users ORDER BY
registration_date DESC LIMIT 5;
SELECT first_name, last_name
FROM users ORDER BY
registration_date ASC LIMIT 1, 1;
36. Updating data
• Syntax:
1. UPDATE tablename SET column=value;
2. UPDATE tablename SET column1=valueA, column5=valueB;
3. UPDATE tablename SET column2=value WHERE column5=value;
37. Example
SELECT user_id FROM users
WHERE first_name = 'Michael'
AND last_name='Chabon';
UPDATE users
SET email='mike@authors.com'
WHERE user_id = 18;
38. Deleting Data
• Syntax:
1. DELETE FROM tablename;
2. DELETE FROM tablename WHERE condition;
3. TRUNCATE TABLE tablename;
4. DROP TABLE tablename;
5. DROP DATABASE databasename;
42. Example
• SELECT CONCAT(t1, t2) FROM tablename;
• SELECT CONCAT(last_name, ', ‘, first_name) FROM users;
• SELECT CONCAT(last_name, ', ', first_name) AS Name FROM users
ORDER BY Name;
• SELECT LENGTH(last_name) AS L, last_name FROM users ORDER BY L
DESC LIMIT 1;
• SELECT CONCAT_WS(' ', first, middle, last) AS Name FROM tablename;
44. Example
• SELECT * FROM tablename ORDER BY RAND( );
• SELECT CONCAT('$', FORMAT(5639.6, 2)) AS cost;
• SELECT email FROM users ORDER BY RAND( ) LIMIT 1;
• SELECT MOD(9,2) == SELECT 9%2
46. Example
• SELECT DATE(registration_date) AS Date FROM users ORDER BY
registration_date DESC LIMIT 1;
• SELECT DAYNAME(registration_date) AS Weekday FROM users ORDER
BY registration_date ASC LIMIT 1;
• SELECT CURDATE( ), CURTIME( );
• SELECT LAST_DAY(CURDATE( )), MONTHNAME(CURDATE( ));
• ADDDATE( ), SUBDATE( ), ADDTIME( ), SUBTIME( ), and DATEDIFF( ).
48. Example
• Time (11:07:45 AM)
= TIME_FORMAT(the_date, '%r')
• Time without seconds (11:07 AM)
= TIME_FORMAT(the_date, '%l:%i %p')
• Date (April 20th, 1996)
=DATE_FORMAT(the_date, '%M %D, %Y’)
• SELECT DATE_FORMAT(NOW( ),'% M % e, % Y %l:%i’);
• SELECT TIME_FORMAT(CURTIME( ),'% T’);
• SELECT email, DATE_FORMAT (registration_date, '%a %b %e %Y’) AS Date
FROM users
• ORDER BY registration_date DESC LIMIT 5;