CVJ531: Intro to MySQL

307 views
224 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
307
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CVJ531: Intro to MySQL

  1. 1. MySQLLet’s Get Relational
  2. 2. Tables• Think of each table as a spreadsheet• We define columns, also known as fields, which classify our data• Each record in the table is a row
  3. 3. Data Types• Varchar – Variable Characters, specify up to how many characters something will be• Char – A set number of characters, good for things like state abbreviations• Int – Whole numbers, positive or negative
  4. 4. Data Types• Float – Floating Point, also known as a decimal• Text – A huge blob of text, like a paragraph or more• TinyInt / Bit / Boolean – 0 or 1, True or False• DateTime – A date and time 0000-00-00 00:00:00
  5. 5. Data Types• Depending on the flavor of SQL (Oracle, MySQL, MSSQL, PostgreSQL, etc) there are many more• Don’t get overwhelmed, just think of what will be best in terms of sorting and lookups
  6. 6. User Table Example• Username – Varchar• Password – Varchar• ID – Integer• AccountCreated – DateTime
  7. 7. PHPMYADMIN
  8. 8. CRUD• Create• Retrieve• Update• Delete
  9. 9. Create• INSERT is used to create a new record in the database• INSERT VALUES (username, password) INTO users (‘fluffybunny’, ‘123456’)
  10. 10. Retrieve• SELECT is used to retrieve a record in the database• SELECT username, password FROM users WHERE ID = 1
  11. 11. Anatomy of SELECT• SELECT [column] – The command• FROM [table] – The table you want to select from• WHERE *column+ = ‘value’ – Specifics• ORDER BY [column] [ASC/DESC] – Sort by column• LIMIT [Number] – Limit the number of records returned
  12. 12. UPDATE• UPDATE is used to change record(s) in the database• UPDATE users SET username = ‘FluffyBuns’ WHERE ID = 1
  13. 13. DELETE• DELETE is used to remove records from the database• DELETE FROM users WHERE ID = 1** if you do not specify anything in the WHEREclause, it will delete everything in that table
  14. 14. Users and GroupsUsers Groups UserGroupsID User ID Group UserID GroupID1 John 1 Sharks 1 22 Jane 2 Ducks 2 23 Sally 3 Lemurs 3 14 Ryan 4 15 Joe 5 3
  15. 15. Joins• SELECT User, Group FROM Users JOIN UserGroups ON Users.ID = UserGroups.UserID JOIN Groups ON UserGroups.GroupID = Groups.ID WHERE Group = ‘Sharks’
  16. 16. IN• SELECT User FROM Users WHERE ID IN (1,2)• SELECT User FROM Users WHERE ID IN (SELECT UserID FROM UserGroups WHERE GroupID = 2)
  17. 17. BETWEEN• SELECT User FROM Users WHERE ID BETWEEN 3 AND 5
  18. 18. Conditions and Operators• WHERE can also use wildcards for text – WHERE Column IS LIKE ‘%something%’• WHERE can use more than = – WHERE ID < 4 – WHERE ID <= 4• WHERE can combine conditions – WHERE Column = ‘A’ AND Column2 = ‘B’ – WHERE Column = ‘A’ OR Column2 = ‘B’ – WHERE (Column = ‘A’ OR Column2 = B’) AND Other = ‘C’
  19. 19. Nerding Out• SQL has functions, like COUNT and SUM• SELECT Customer, SUM(Amount) FROM Orders GROUP BY Customer• SELECT COUNT(Customer) FROM Orders GROUP BY Customer
  20. 20. Indexes• It’s a good habit to create a column for each table that acts as an ID• We can put an index on the ID and it can speed up the query time• Unless you’re dealing with really big datasets, you probably won’t have to worry about this
  21. 21. Database Design• Design a schema for a social network – I’m cool with stretching this to something else• At a minimum it must contain: – Users – Posts – Friend Relationships – Likes• You will create a web interface for this database later

×