Transcript for:
Understanding SQL Basics for IT Careers

SQL. It's more than an injection outta here. It's the love language of our databases. You know, the massive Excel spreadsheets that run the world. You need to learn SQL probably right now, especially if you want this job or this job, or this job are pretty much any job in it. And it's a skill I've actually had to use a lot, almost too much, too much more. My comfort. Cameron, have you had to use SQL? Yeah. Whenever I was a AWS cloud engineer, I dealt with databases all the time. So whether you're an aspiring hacker looking to do some SQL injections, get outta here, or you're a cloud engineer wanting to query all your qualms away. See that 10 times fast query all your qualms away query. I can't do it one time, two times. Oh my gosh. This is definitely a skill you want to add to your toolbox right now. Now before you freak out, we're not going too deep here. You don't need to become a SQL expert unless you wanna become a DBA or something. You pour brave, stupid soul, but you're making bank and you're rich. But knowing the basics like, Hey, what even is a database that goes a long way in pretty much every area of it. So in this video, I'm going to teach you SQL, not too much like a Goldilocks amount of sequel, just enough to make you dangerous, but not too dangerous. I don't want you dropping elbows on some poor unsuspecting tables. So by the end of this video, you will know how to create your own, my sequel or my SQL database. And you're gonna add some stuff into it or remove some stuff, query some things. So get your coffee ready. Mine is right here and let's learn some sequel. Now while you're sipping that coffee, getting all fueled up, ready to go to learn some sequel. Let me tell you a scary story. Did you know that your usernames and your passwords they're often stored inside a sequel database and sometimes these databases spring a leak, spilling your username and password all over the dark web David Bumble. I'm disappointed. You gotta protect yourself. This is where our sponsor Dashlane comes in. Dashlane does a great job at protecting you from yourself. Come on John Hammond. I love their password health feature, which obviously I got some work to do. I got 28 compromised passwords and two weak ones, no weakness allowed. And I also love their dark web monitoring, cuz I wasn't kidding these databases full of your passwords and emails and all kinds of stuff. Get hacked and leaked all the time in the dark web. They monitor that stuff for you. And they'll tell you, Hey, change your day and password. And then right here is my favorite feature of Dashlane. It's got two factor built right into it. So it'll log into network Chuck academy. I've got my security code right here. Oh, don't copy that. Nah, it's gonna change. So I pretty much use Dashlane for everything, including my business. I force all of my employees to use Dashlane cuz they're crazy. And they still write their passwords down on post-it notes. Come on. So if you have a business use Dashlane, they've got a great admin section, little admin console where you can manage all your passwords for your employees. Gotta keep them suckers in line. And it's not just passwords. You can put secure notes. You can put your payments in here. I use this all the time. It makes paying for things so much easier. So don't let someone else's bad database put you at risk. Get yourself the password manager. I recommend Dashlane go out to dashlane.com/network Chuck 50. And you do get a discount. Let me double check what that is. I forgot. Oh sweet. You get 50% off. So use that code. You can use it on pretty much any device you have, which I do on every device. Thank you to Dashlane for sponsoring this video. Now let's get back to SQL. Here we go. So SQL or SQL, it stands for structured query language. Focus on that term language because it is kind of like a programming language, similar to Python, except the primary use of SQL is to talk to databases. I told you it's their love language. They love it. That's my database. By the way, I'm gonna label it using this query language. We'll talk to our database. We'll create things. We'll read things. We'll update things. We'll delete things. Crud. You've heard a crud, right? Well you just did. So here we go. We are gonna learn some sequel here in a bit. But first let's talk about what's a database I joked earlier how it's just one big giant Excel spreadsheet. That's kind of true. You've probably seen an Excel spreadsheet before, right? It has columns or fields. It has rows or we might call those records and these rows or records contain our data. And while Excel might work for carrying the accountant, keeping track of your budget, you bought 45 raspberry pies for bigger sets of data. Like websites might have companies, even network Chuck coffee. They won't store these in Excel. They'll store them inside a database which will function very similarly to an Excel spreadsheet. Cuz we're still working with this, which we'll call a table, but we might need more than one and we might need a lot more data. So in my network, Chuck coffee database, I might have three Excel spreadsheets or three tables, one for all my customers, which did you know that Marvel characters love my coffee. Thor can't get enough of the help desk. He loves it. And they don't have a table of all the coffees I offer. And then of course an order table tracking all the orders that are placed. And this is a very, very small abbreviated example of all the data. My network, Chuck coffee database might have, which it does have. So the takeaway here is that databases are used to store large amounts of data, data that Karen and her spreadsheet in Excel couldn't even dream about. Now these databases, they need a manager. They need someone to control them, to get them in line cuz they can act pretty crazy if they don't have someone watching him. That's why we have DBMS at David Bumble management system. No, I'm just kidding. I pick out him a lot in this video. Love you. David DBMS stands for database management system and actually you probably heard of a few of them. Microsoft SQL server, my SQL or I'm sorry, my SQL that post gray SQL. Am I saying that right? I don't know Oracle. There's a lot out there, but just know that whatever DBMS you choose, whether it be my SQL, SQL Oracle, whatever their job is to manage your databases. They will have different ways. They do that. But they're all going to use sequel. The structured query Lang I can't even say it structured query language. There we go. 10 times fast on that one. This is actually a standard that's been ratified by the ISO ISO. So if you learn SQL, you can pretty much approach most databases with relative ease. Now there are some nuances, some differences going from like Microsoft SQL to my SQL, but it's nothing you can't Google. As long as you understand the concepts. Now, just so you know, we're going to create these three databases ourselves. We're gonna install one and actually make it happen with my, but before we do that, there are two database types. You have to know about this one. We're talking about here. This is a relational. Database. You might see it abbreviated as R D BMS. And they by far are the most popular. It's what I drew out here. And what makes it relational is these tables here are kind of like they're related they're cousins or brothers. I don't know they're in the family. And what I mean is like when in this table here on my orders table, it says for order 0, 0 1, the coffee was one. And you're like, what is, what does that mean? Well, it's actually tying back to the coffee database. And then when it says customer is three, you probably guessed, it's looking back at the customer database saying, Hey, Tony stark ordered the default route. He loves that stuff. Now again, we're gonna zero in on the relational database. But the other type you wanna know about is the non relational. This one doesn't have any family or any friends. He's very sad. We're not gonna cover what it is here. But one type or one DBMS you might hear about is no sequel, which fire ship did a great joke on Twitter. When I asked you guys if you know SQL well plate, sir, but a non relational. It's not like this. It's not related. It's kind of unstructured data. And it definitely has its use case and purpose, but we're not gonna cover that right here. Okay. Enough about databases. Let's actually make one right now. It's completely free and completely fun. Now here's what you need. You won't need much, pretty much any computer <laugh> that's it. We're gonna be playing with my sequel or my SQL. And you can pretty much install that anywhere for free, including windows. Now I will be walking you through Linux because I love Linux and it's so easy. So if you wanna follow along with me exactly from the beginning, from the start, I'm gonna be running the latest version of a BTU desktop inside a virtual box VM. If you're like, wait, what what's he doing? I've got a video right here on how to set up virtual machines and what they are and why they're incredible. You should go watch that if you haven't already. And it's completely free to run this and yeah, that's it. Oh, I forgot you need coffee because everything in it, it requires coffee never checked out coffee. So here in new BTU, we're going to launch our terminal first. Like always we'll get our repositories updated, pseudo PT update and quick sip of coffee while it does its thing. Next we'll install SQL server with one command pseudo P T install. My SQL dash server. We'll do a tick Y at the end and that's it. It'll take just a few moments and perfect time for a, a coffee break. We can never have too much. Now at this point, you're pretty much running my SQL. Let's verify it real quick though. Let's make sure the service is up and running. We'll do a pseudo system, CTL status. My SQL and fingers crossed. You should see active and running. That means it's healthy. Good to go. And just hit hu to get outta there. Now go ahead and play with your database. Just go crazy. <laugh> you're like, wait, where is it? <laugh> to access it. All you have to do is type in my sequel. That's it. Well not it you're gonna have to do pseudo my SQL. Let's try it now. Yeah. We're there. Look at, look at that. We got a nice little, my SQL command prompt down here. Just waiting for us. The cur is blinking. Ready to go. Now just so you know, the command mind without any parameters at all worked for us because we're connecting to our local host. It also worked because we don't have a password set, which is fine for us as we're just playing around. But often you might see something like this, specifying a username, a remote server. You wanna connect to the port and then saying dash P for password. But we don't have to do that here. So we're not gonna worry about it. So here in SQL, let's get the lay of the land first. What's happening right now. We're first do a show databases command. Now just know every time you type a command at my SQL, you have to end it with a semicolon. Otherwise it's like what? You're not done yet. Come on. So do that and boom, some good old default databases. What do you say? We create our own. Let's do that right now. We'll create the database for a network. Chuck coffee. This one's very hard. I'm just kidding. It's gonna be so easy. Simply type in create database. The name of your database, which will name N C underscore coffee and then semicolon. That's it done? <laugh> and how hard was that? Right? You just created a database. That's awesome. If we do show databases once more, there it is our very own database, but he's just sitting there doing nothing. He's got nothing going on. Let's change that now to play with our database, to do things with it, to use it. We're gonna type in the command use and then the name of our database and see underscore coffee semicolon. And that's it. Database change. Now we're interacting with that guy right now. Now remember a database. We'll have a bunch of tables assuming you created them, but right now ours won't have any and I can prove it to you. Let's type in the command show tables with a semicolon empty set, nothing there. So let's change that. Let's create our first table and this is so cool. This is gonna be fun. The first table we'll create is our coffee table. But, um, and right now I want you to just ignore the rose. Don't worry about the rose, the, the data. All right here, all I want you to focus on are the columns ID, name, and region and roast. We're gonna deal with that right now. So to create a table, we're gonna type in create table crazy. Right? And then right after that, we'll name our table. Of course we gotta name it. Coffee table. Don't wanna miss that opportunity. And then right after that, we'll do an open parenthesis and go ahead and hit enter it. It'll be fine because we didn't put a semicolon. Semicolon means you're done doing anything else means like I'm not done yet. That's that's what it means. Now here, inside these parentheses, we'll be defining our columns. What we saw before ID name, blah, blah. You know, you got it. So our first column will simply call ID. And then right after that, I'm gonna type in I N T no. What is that? So here with our column, we're defining the name of a column, that guy right there, but then we also have to define what type of data is gonna be in that column or in the rows that we're gonna have underneath it here. We're saying we want it to be an integer or a number. That's the type of data that we'll live in that column. And that's pretty much all there is to it. We'll type in a column to tell them that, Hey, we're not done with our columns just yet hit enter. Our next column will be name. And then we'll define what type of data we want inside that column here. I'm gonna type in V R C H a R or variable character, which is an end determinant length string data type. <laugh> basically, it's just letters <laugh> and stuff. It's a string. I can also define how long I want that to be how many characters are allowed. So I'll just say 255 and parentheses just like that. And let's keep going. Comma, next thing or column it was region. This will also be a string or variable character. It'll keep going until we're done. Oh, we'll have one more roast. Now my last column here, I'm not going to add a comma. You only add a comma when you're saying, Hey, I have more to say, we don't have more to say we're done. I'll hit enter. I'll do a closing parenthesis. And then to end our command like we do in all my SQL stuff, we're gonna type in a semicolon. That's it. We're about to create our first table and set our database. Ready? Set, enter, go. Let's take a look at it. Show tables. There it is. There's our coffee table. Now that's just the name of it. What do you say? We look inside and see the actual columns we made. We can type in and describe coffee table. And that'll give us some more info. We got our field and our type, and we'll cover more on this stuff here in a minute on, by the way, when we're defining our table and defining that columns and everything, the fields that's part of defining our schema or how our databases are arranged and, and organized. We're not gonna go too deep into that. Just know that when people say schema, that's pretty much what they mean. Now there's nothing on our coffee table. Let's ask some stuff to it, looking at our database, let's add the default route. Let's insert a row into our table and my sequel we'll type in insert in two. And then we'll specify our table, which was coffee table. Then we'll say, here are the values. We'll actually use the word, the command values. And we'll define our values inside parentheses. The first one's an en integer, and I'm just gonna put it in as one. That's the first ID. Second one was name, which will be a string default wrap. Then origin, Ethiopia, also a string and finally roast, which was light. So what's happening here. We have the insert into command. So we're telling my sequel, we're inserting into <laugh> the coffee table table. And it's like, what are you inserting? Well, here are our values, bam. And notice we're going in order of our columns. And we have to do that. Got the ID, the name, the region, and the roast. Then once we're done, what do we do? We type in semicolon to say we are done and awesome. Now what I love about my SQL and most SQL things is, uh, it'll tell us, Hey, the query it's okay. We got this. It's good. And it tells us there was one row affected, which row? Well, the one we just added now, I know you want to see that data inside your database, but so far, I haven't shown you how to do that. Cause if we do show tables or describe coffee table, it doesn't show us the data inside yet. So I guess I can go ahead and show you your first select statement. Um, ah, should I wait? Yeah, no, let's do it right now. I know you can't wait. <laugh> so here's how we look inside of our table. Let's pull some data out of there. We'll type in select. We'll do an asterisk and I'll explain this here in a second. And we'll say from our table coffee table semicolon. Now what's happening here. We're telling my sequel, I wanna select some data. And it's like, well, what data from what column? And we're saying all of it <laugh> I want everything. That's what the asterisk means. And then it's like, okay, fine. From what table? Where are you getting this from? Well, we're getting it from our coffee table. I wanna see my coffee stuff. And that's what we're doing here. It's a very basic select statement. You'll see this one all the time. But if you just wanna pull all the info from a table, that's how you do it. Let's take a look. There it is. How cool is that? So if you just did this clap, pat yourself on the back, that's a big deal. You created a database, you created a table inside the database and you added some data to it, simple, but killer. Now here's a challenge for you. What I want you to do is fill out the rest of this database, all the rest of our coffees. Go ahead and pause the video. Pause, UN pause. Let's see how you did. Let's do our select statement once more, select everything from coffee table and we should see a lot more things. <laugh> yes, it's so nice and neat. I love it. If yours looks like this, congrats, that's awesome. Now, another challenge for you. I want you to select only the names of the coffee from that table. That's all I wanna see. Can you do that? Let's try it out. Select, instead of saying everything, let's just select the name from coffee table. Bam just got the names of our coffee. That's it. Now here's the next challenge for you. I want you to create our next table and do this by yourself. I'm not gonna show you, create our customer table with all of our Marvel customers and also name your table. Avengers, just like this. Okay? Pause the video. Go and pause. Let's see how you did now. Again, I wanted you to create this table and if you haven't already go ahead and fill it out with all this information. It'll take about two minutes, but it gives you practice. But if you did it right, it should look like this. Let's go ahead and select everything from that table. Select all columns from Avengers. Let's see how it looks. <laugh> oh, nice. Clean, tidy data. I love it. Now here with our Marvel characters, let me show you some of the power <laugh> of SQL and how we can find or query our data. So let's try this. Let's do a select statement, just like we did before everything from Avengers. But let's say we only wanna see the Avengers that are from earth. That's all we wanna see. How do we do that with where? No, I'm not losing my mind. <laugh> watch this. I can add another filter saying where origin equals the string earth semicolon. So let's break it down. I'm selecting all columns from the table, Avengers, but I only wanna see where the column origin equals earth. That's it let's see what happens. Bam. I only got the earthlings, check it out. <laugh> isn't that cool though. If you had a large amount of data, being able to just select, pinpoint the data you want, like that is killer. And that's just a basic SQL statement. Let me show you a few more quick ones. Let's pull up that same statement. Let's say we wanted to see all the Avengers from earth and Asguard how we do that. It's pretty simple. Actually. All I have to do is add one more filter to it. I'll just say, or, or, or a G equals Asgard. So my filter says, Hey, origin can be earth or, or origin can be Asgard. Let's see what happens. Bam. Just add a Thor. Let's try this one. Maybe I wanna see all the Avengers that are under the age of 30. Let's try that. In fact, actually pause the video. See if you can do this pause, UN pause. We'll select the alias column from a vendors where age is less than 30. We can do stuff like that. Bam. How cool is that? I just got the aliases Spider-Man and well tree. And that's pretty much an endless combination of how you can filter things. I can say where not origin equals earth. I wanna see everyone. That's not from earth using our not statement. So you can go crazy with queries. And often you may be typing in a terminal doing these queries, or it could be a, a gooey application or it's programmatic. You're programming things in Python to search for data with queries like this. It's super powerful. Now so far, I've shown you how to add data to a table, but what if you wanna remove stuff? Cuz did you notice this? Look at this. Some dude named Jeff snuck into my table. He's not in Avenger. How do you even get in there? So real quick, um, go ahead and add Jeff, add this data to your table and then let's remove him. So pause the video real quick, Adam, and then let's remove him. We can remove the records from our tables, with the delete command. We'll say delete from we'll specify our table Avengers and we'll tell them what we're wanting to delete. We could delete a lot of things all at once. Gotta be careful, but all we care about is Jeff. So we'll say where we'll use our filtering again, where we'll say first name equals Jeff. That should do it. That should take out Jeff goodbye. Jeff. And he is gone. I think let's do our select statement once more. Woo. Okay. Jeff is gone. Now we can also update these stuff in our table. For example, I was informed of this grot. Doesn't have a last name. Let's just Groot my bad. So let's change that. Let's delete that we can update entries in our table with the update command. We're gonna update Avengers and we'll use the set command to set a certain column equal to something. So we'll set last name equal to null, to nothing. That's how we do that empty. And because we don't wanna set every last name to Noel will say where first name equals group. That should do it. Let's try it out. Awesome. So actually I, I didn't test this before. I wanna make sure it works. Excellent. GT is now accurate and you guys can stop yelling at me. Now, last thing on this before we get kind of crazy, let's go ahead and select all the Avengers. Once more, all the columns let's say we wanna see them in order of their age, youngest to oldest, let's see that we can do that by typing in order, by the column age. And we'll say, because we're going from younger to older, it'll be ascending. So we'll do a S C let's try it out. Perfect. Look at that. 17, 18 35 to 42 5000. That's a big jump. Let's do it in reverse. Let's do oldest to youngest. We'll change that to D S or <laugh> sorry. D E S C descending. Awesome. Okay. Last thing I'm gonna show you. Maybe I, I might get too excited and show you something else, but we'll see. Okay. Let's try this right now. Our tables looking pretty amazing. All the Avengers are here. Well, some of them, well, let's say we wanna know one more thing about them. I wanna know if they have a beard, so it'll be beard. It'll be yes or no. We're actually true or false. Let's do that. So here in our database, our table, we're gonna alter the table to have another column after it's already created. Let's do it right now. Pretty simple. Actually the command is alter. We wanna alter it. We gotta tell SQL what we wanna alter. We're gonna alter a table, specifically the Avenger table. We're going to add a new column. We'll name it, beard. And then we'll tell it what type of data it's going to be now because I want it to be true. False. I'm gonna type in bullion. Cuz bullion is true or false. That's a special data type. So here we're telling SQL we wanna alter the table of vendors and the way we're altering it is by adding the column, beard with the ion data type at enter done. Now let's select and see what it looks like right now. <laugh> look at that new information, new column. Now here's a challenge for you. I want you to go in and update the record for the beard column for each of these Avengers, whether or not they have a beard, you should know that already. Right? So go ahead and do it real quick. Pause the video on pause. Here's how you would do that. Like we just covered with the update command. We'll update the table of Avengers. We'll set beard equal to true where let's just say first name equals Thor. Cuz we know a Thor has a beard. Bam. Let's see what happens. Perfect. And for group, he doesn't have a beard. So we'll set beard to false where first name equals groups. Let's see what happened. Noticing that one is true. Zero is false. Okay, we're gonna stop here. I could keep going. There are things I have not covered, but I don't wanna make this video too long. But I hope in this video I gave you enough to make you like feel semi CT. Like I know what a database is. I create one. I can select things, but also I wanna give you that hunger that drive to learn just a bit more, go beyond what I'm showing you here because there are things I didn't cover. Like look here. We did build these two tables inside our database, but we never built the orders table. And more importantly, we never. Built the relationships between all these tables, which would involve making the ID field of both our customers, our Avengers and our coffee, the primary key. And then when we reference those fields in our order table, those will be foreign keys. And that unlocks the full power of relational databases, allowing us to do things like joins and creating views, which basically is pulling data from all these tables and only seeing what we want to see, like how many times does Spider-Man order the dark roast. We could find stuff like that. So I'm not gonna cover that here. If you want me to create a video on that, let me know below. But anyways, that's all I got for today. Thank you for taking some time to have some coffee with me and talk about SQL or SQL. Well.