Python MySQL Tutorial - Creating Tables, Inserting & Selecting

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • This video discusses how to create tables, insert data and select information from a MySQL database with python. It will show how to insert data into a MySQL database, Select and show the information.
    Playlist: • Python MySQL Tutorial ...
    ◾◾◾◾◾
    💻 Enroll in The Fundamentals of Programming w/ Python
    tech-with-tim.teachable.com/p...
    📸 Instagram: / tech_with_tim
    🌎 Website techwithtim.net
    📱 Twitter: / techwithtimm
    ⭐ Discord: / discord
    📝 LinkedIn: / tim-rusci. .
    📂 GitHub: github.com/techwithtim
    🔊 Podcast: anchor.fm/tech-with-tim
    💵 One-Time Donations: www.paypal.com/donate/?token=...
    💰 Patreon: / techwithtim
    ◾◾◾◾◾◾
    ⚡ Please leave a LIKE and SUBSCRIBE for more content! ⚡
    Tags:
    - Tech With Tim
    - Python Tutorials
    - MySQL Python Tutorial
    - Python MySQL Tutorial
    - Python MySQL Connector
    - SQL Python
    #Python #PythonMySQL #SQL

Komentáře • 121

  • @arielmaritano6470
    @arielmaritano6470 Před 4 lety +40

    I've been watching your videos for a while now, and I've learnt a ton from them. I can't thank you enough! 🙏🏻

  • @thilokeshjain6767
    @thilokeshjain6767 Před 4 lety +2

    I thought it would be very complicated but thanks to you sir feel like I can master this.
    Thanks a lot 👍.

  • @oscargarciahinde4247
    @oscargarciahinde4247 Před 2 lety +9

    I'm getting into SQL after neglecting it for years (didn't really need it in my job as an academic researcher) and your tutorials got me up and running in no time. Cheers mate!

  • @jj342
    @jj342 Před 3 lety +10

    absolute great tutorial! so simple and easy to understand! Could you number your videos in the playlist? Might make it easier for people to follow along

  • @allegra13
    @allegra13 Před 2 lety +1

    tim you have no idea how much you've saved me with your videos, THANK YOU SO SO SO MUCH

  • @Atheawesome45
    @Atheawesome45 Před 4 lety +5

    Hey Tim! I’ve recently downloaded sublime text and was having issues installing the packages. I’ve checked your uploads and couldn’t find any video on your channel having to do with this subject. I’m certain that I’m not the only one who would be interested in seeing this kind of content.
    Nevertheless, keep up the great work and thank you for the educational content!

  • @StraitBizness
    @StraitBizness Před 3 lety

    Thanks for the videos on this. It helped me out quite a bit with linking up mySQL and Python for a project I am working on.

  • @cusematt23
    @cusematt23 Před 9 měsíci +1

    TIM, I used to think you weren't the greatest at explaining things and spoke a bit too generally. But I think I was absolutely wrong and just needed a slightly better base in computer science to follow along. Your videos are mastery (this series and the one on GIT I think in particular). Keep up the great work!

  • @TheShadyStudios
    @TheShadyStudios Před 4 lety

    you’re choosing the best things to work on m8 thank you

  • @MrSith-yp3yq
    @MrSith-yp3yq Před rokem

    Excellent as always, Tim!

  • @caolanmaguire9874
    @caolanmaguire9874 Před rokem

    Great tutorial! Helped me with a project!

  • @EricRosenberg
    @EricRosenberg Před 2 lety

    Fantastic tutorial, thanks! 👍

  • @datofficial6062
    @datofficial6062 Před rokem

    Very basic. LOVE IT!

  • @mouhannadal-hmedi1501
    @mouhannadal-hmedi1501 Před 4 lety

    Great python courses 😍😍😍
    countinue

  • @sebastiengagneux2561
    @sebastiengagneux2561 Před 2 lety

    Hello TIm! Your videos are very helpful in my daily work. Thanks.
    There is one topic that I am sure you can answer and will be very usefull for the community (and me as well :) ). it is about reading data from SQL in GO. Ex: I cannot find any answer about using the join method in sql for reading 2 tables, but in GOLANG. always based on 1 table.

  • @wsanders669
    @wsanders669 Před 2 lety

    Excellent. Thank you

  • @hosseindr.askari6161
    @hosseindr.askari6161 Před rokem

    Thanks for your great explanation 🙂

  • @arnavkhandelwal30
    @arnavkhandelwal30 Před 2 lety

    Thank you !! ur help has been helpful

  • @hindustaniMemer565
    @hindustaniMemer565 Před 3 lety

    thanks buddy it helped a lot...

  • @jayamankrah4328
    @jayamankrah4328 Před 4 lety

    Thanks for this video

  • @thenaturelover5737
    @thenaturelover5737 Před 2 lety

    nice work bro...thank u sooo much...👌👌👌👌👍👍👍

  • @darnellhill143
    @darnellhill143 Před 3 lety +1

    Video super helpful!!! I am using the pymysql library, and I could not figure out why my inserts weren't reflecting on my MySQL DB.... I forgot to commit the changes. I made use of the autocommit expression. Thanks!!!

  • @dasigkatama029
    @dasigkatama029 Před 4 lety

    Simple and helpful :-)

  • @Blu3_Spac3
    @Blu3_Spac3 Před rokem +1

    Only 1m subs??? you deserve more

  • @saikoushik7626
    @saikoushik7626 Před rokem

    Thank you so much bro

  • @shreyasreedhar2068
    @shreyasreedhar2068 Před 4 lety +5

    this is very helpful,.. just one thing: at 13:23, i get three such rows

  • @muhammedfadhi789
    @muhammedfadhi789 Před 2 lety

    the way you explain... amazing...

  • @kasyapdharanikota8570
    @kasyapdharanikota8570 Před 3 lety

    very helpful video

  • @dinonppa1
    @dinonppa1 Před 4 lety +2

    Can you do a series like this but for sql server? Keep up the good work. Love all of your videos!

    • @soulninjadev
      @soulninjadev Před 3 lety

      its very similar
      just google one or two things for the setup, rest everything is the same

  • @geethanjaliravichandhran8109

    Thankyou tim

  • @johnygrits
    @johnygrits Před 3 lety

    hello, I've been following your channel for sometime now. thanks for the uploads and great explanations.
    Where did you learn how to code? I am starting out on my own and would like some recommendations if you dont mind! Thanks again!

  • @post_nut_clarity
    @post_nut_clarity Před 3 lety

    you are a genius.

  • @victorlefeu
    @victorlefeu Před 3 lety

    thanks you!!!

  • @Alan-yg8wc
    @Alan-yg8wc Před 4 lety +2

    Hi Tim, what if I want to pass in a list with 2 elements with a name and age instead. How would that change the code? BTW I love your videos!

  • @jagadishs1086
    @jagadishs1086 Před 4 lety

    Sir awesome

  • @rediscover.themystery
    @rediscover.themystery Před 2 lety

    I really love you brother. I feel comfortable when I heard you. Best explanation...

  • @Ricqua
    @Ricqua Před 4 lety +1

    Great tutorial!!! Please let me know how to change my text to change color dynamically. Can't seem to figure it out x_x

  • @pedrotorres5539
    @pedrotorres5539 Před 4 lety +1

    Hi Tim, I have been trying to replicate your tutorial, however whwnever i run mycursor.execute("DESCRIBE Person") or mycursor.execute("SELECT * FROM Person") it doesn´t seem to store anything in my cursor in fact if i try to fetch it it sends an error saying there is nothing to fetch... Any ideas what might be happening (I already checked and the data base with the table and the info are created).

  • @MOHAMMADFARIHANABDULLAH

    Thank you..Hope you can do it video for Telegram Bot with mySql run on pc.

  • @sainco3036
    @sainco3036 Před 4 lety

    thanks.

  • @youtubepanda8238
    @youtubepanda8238 Před rokem

    You saved my hassssssssssssssss 🤕🤕❤❤❤❤

  • @kailashrathod1089
    @kailashrathod1089 Před 4 lety +1

    Make different video where you can just explain sql querries(in oracle or something like that) and then continue this series so that it will be easier for the people with no database knowlege that how querries actually works! Great video though!!!

    • @SS-xt5ul
      @SS-xt5ul Před 3 lety

      try from mosh sql tutorial . perfect

  • @Sam-tg4ii
    @Sam-tg4ii Před 6 měsíci

    If I am doing multiprocessing and workers are writing rows to the same table concurrently, d I need to initiate cursor for each worker?

  • @kclonh4517
    @kclonh4517 Před 4 lety

    Hey what code font do you use? I really want to try it out.

  • @jean-paulzimmermann6366
    @jean-paulzimmermann6366 Před 10 měsíci

    Which version of mysql-connector should one use?Because on september 23 it doesn't work. thanks

  • @pjb4764
    @pjb4764 Před 7 měsíci

    Great video! Could you please explain the “VALUES (%s, %s)”, (“Joe”, 22)? If I try formatting a string in this way the string is not formatted. Is there any resource online that explains this method?

  • @outdated7742
    @outdated7742 Před 4 lety

    what would be nice is you can make a video and connect your voice assistant with a database and when someone first run it it should ask for name,age ... and then use that info for e.x say hello + name

  • @uncommoncharlie7
    @uncommoncharlie7 Před 3 lety

    Hi Tim , This video is really good. I'm stuck in one spot. When I tried to create the table I got an error that I have a reference error: weakly referenced object no longer exists. Do you know how to fix this? I've looked everywhere but nothing seems to be working.

  • @wilbertraymundrayos4175

    Hello,
    I have a question regarding inserting.
    Is it possible to do this?
    "INSERT INTO %s (%s) VALUES (%s)"
    I tried it, but it gives me error. MySQL does not tell the exact error, it just says check the mysql version regarding the syntax.
    My theory is that the tuple automatically assigns a quotations in the values that are being passed in the %s.
    Since the table name must not contain quotations, it returns an error.
    My question is... Is there a way to do what i want to do? Which is to dynamically assign table name and column name.

  • @Tirik00
    @Tirik00 Před 10 měsíci

    Great Video ! The code works but how is it possible to highlight the code and activate autofill like in the video ?

  • @krokkozerro7582
    @krokkozerro7582 Před 4 lety +1

    make video about opencv pls

  • @ayushpurohit8266
    @ayushpurohit8266 Před rokem

    is there a difference between using %s, .format() and f-strings?

  • @captainyaptin5811
    @captainyaptin5811 Před 2 lety

    Is there any way you could make a quick video explaining how to do this with a Django project? Thank you!

  • @hassanprinceoftheyes9365
    @hassanprinceoftheyes9365 Před 3 lety +2

    For your information a pizza has 2,269 calories, idk what pizzas you eating, but like hand em over

  • @JustaNormalGuy115
    @JustaNormalGuy115 Před 4 lety +2

    Pls do a video on Json files and how to use them with python!!!

    • @andrewn211
      @andrewn211 Před 4 lety +1

      www.programiz.com/python-programming/json this seems to be a good article on it but i think he has a video on JSON already i think so i may be wrong so s0rry

    • @JustaNormalGuy115
      @JustaNormalGuy115 Před 4 lety

      @@andrewn211 thx but I already figured it out myself. It was 9 months ago...

  • @TheAmazingpower
    @TheAmazingpower Před 4 lety

    Nice video, only thing I would not recommend is using string commands on the execute function. SQL offers own ways for that. Otherwise your software/application will get vulnerable for a sql injection attack because users can insert malicious commands.

    • @TechWithTim
      @TechWithTim  Před 4 lety +1

      What string commands would you not recommend? I believe I did it properly with the formatting and the variables inserted in a tuple passed as a second argument to the execute method.

    • @TheAmazingpower
      @TheAmazingpower Před 4 lety

      ​@@TechWithTim
      Edit: Seems like I've been working with sqlite too long. I did some research and noted that the paramstyle for mysql is 'pyformat' which is %s in this case, whilst it is a '?' for sqlite for, %s should be legit here and sanitize the input. Sorry for the confusion. It also also good to mention that in this case the %s is not similar to the regular %s for string formation in a non sql string you would usually use for printing or for the generating a standard output string.
      The best method is to use parameterized querries, for example in Python sqlite you use the '?' sign: db.execute("INSERT INTO staff (person_id, lastname) VALUES (?, ?)", (51, "Mc'Donald")) You could use any predefined variables instead the number and string in the bracket as well.
      I think therefore the module got some build in protection other than using the regular string format option like %s, string templates or f-strings. In the worst case (with some user input in the programm) input like 'password' OR 1=1' could potentially break your querry. If you are more interested in that, you can look up the topic "SQL Injection" as well.

  • @johnylanckriet3377
    @johnylanckriet3377 Před 9 měsíci

    How do wet get all those different colors in the the query string?

  • @gandalfgrey91
    @gandalfgrey91 Před 2 lety

    how do you get that CLEAN syntax highlighting for mysql?

  • @SatishKumar-mn6bi
    @SatishKumar-mn6bi Před 7 měsíci

    nice guidance by you. Hey I am also learning python for fun!

  • @sarthakkavidayal4968
    @sarthakkavidayal4968 Před 3 lety

    why are we using %s for integer value as well?
    %d is used for the integer value.

  • @jamesgoforth5644
    @jamesgoforth5644 Před měsícem

    13:24 my print statement after cursor is not executing only output is a mysql command prompt, I put a print statement before mycursor is initialized, and that one prints

  • @deanemarks8611
    @deanemarks8611 Před rokem

    How about dfs to dba and vice versa

  • @shanksharma5117
    @shanksharma5117 Před 2 lety

    can you provide tutorial for Sqlite3?

  • @ProSpase
    @ProSpase Před rokem

    is it possible to do this in pycharm community edition?

  • @amanshrivastava2231
    @amanshrivastava2231 Před 7 dny

    Three words
    Let him cook ❤

  • @rankzkate
    @rankzkate Před 4 lety

    how do I show tables from a database that I can only read from?It is not my database but was given for practice? Please help am stuck.I tried "show tables" but it failed

  • @radio_electronics4047
    @radio_electronics4047 Před 3 lety

    How can I insert "curdate()"? It says Incorrect date value...

  • @vietndk5437
    @vietndk5437 Před 4 lety

    the string query in method execute() does not need the semi-colon ";". For me, the semi-colon is like a sign for user to know where the statement ends.

    • @Kig_Ama
      @Kig_Ama Před 3 lety

      But there is no semicolon.

  • @neilzietsman4220
    @neilzietsman4220 Před 4 lety

    Thank you for your video Tim. What is the purpose of "%s" at 11:20?

    • @abhiencoded
      @abhiencoded Před 4 lety

      Neil Zietsman %s is like a variable whose value is defined after the string

    • @Kig_Ama
      @Kig_Ama Před 3 lety

      @@abhiencoded But what's the advantage of it in this case? At the end he still types his name Tim again. I didn't get the point.

    • @firstname8078
      @firstname8078 Před 2 lety

      @@Kig_Ama 11:10🙃

  • @brucescott7156
    @brucescott7156 Před 2 lety

    For some reason the commit isn't working for me, I'm not getting errors, but my db is not being updated.

  • @ayooshsharma529
    @ayooshsharma529 Před rokem

    Where are you writing these commands????

  • @INSANE_-nj4xh
    @INSANE_-nj4xh Před 2 lety

    Bro I can't create 2 table in a single prog.
    Can u give a small example on how to do it.

  • @datasciencewithcharaf4206

    How can I make SQL scripts colored like yours please (I'm using PyCharme) !!

  • @abinayas6221
    @abinayas6221 Před 3 lety

    Or any compiler

  • @fernandohood5542
    @fernandohood5542 Před 3 lety

    Why do some people use ; after the commit?

  • @samuelpurple
    @samuelpurple Před 3 lety

    What software is this please?

  • @masterludovicus802
    @masterludovicus802 Před 4 lety

    I'm trying to follow along and writing the exact code on Sublime and run it and I get an authentication plugin not supported
    The exact line I get is mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password" is not supported
    What am I missing?

    • @ParkesBench
      @ParkesBench Před 9 měsíci

      I had the same problem and passing auth_plugin='mysql_native_password' did not work, because I accidentally installed mysql-connector instead of mysql-connector-python (via pip3). Just leaving this here in case it helps someone.

  • @geogaddi84
    @geogaddi84 Před 2 lety

    SELECT * FROM Person is only returning the first tuple for me. Not sure why. If I were to use MySQL directly, that'd work as intended

  • @Rbourk252
    @Rbourk252 Před 3 lety

    String formatting in MySQL requires a minimum of (%s,%s) otherwise this throws an error. A single (%s) will not work.

  • @soumya9895
    @soumya9895 Před 4 lety

    Hey Tim I know sql is very useful/important for getting job but it's kinda boring for people who wants to make interesting projects to show their friends who do not know programming. Maybe you could do some python projects like you have done chat bot and voice assistant alternatively.

    • @TechWithTim
      @TechWithTim  Před 4 lety +1

      Agreed, that being said because if it’s importance I will continue to teach it!

    • @maarcoo97
      @maarcoo97 Před 4 lety

      maybe there's other people doing want you like

    • @soumya9895
      @soumya9895 Před 4 lety

      @@maarcoo97 well yeah i know but i love how Tim explains in an interesting manner

  • @DGMDevGamingAndMore
    @DGMDevGamingAndMore Před 3 lety

    I'm not getting any errors, but the data isn't going to the database (ClearDB)

  • @twinbook9025
    @twinbook9025 Před 4 lety

    Can someone help me in my topic that how i can generate invoice using my sql plz if someone know help me

  • @Kig_Ama
    @Kig_Ama Před 3 lety

    11:08 I don't get it. Why not just type Tim, why use %s and type Tim afterwards anyway? What's the advantage?

    • @Dalt0nik_
      @Dalt0nik_ Před 3 lety

      As i get this, without those "%s" you can only write some hard numbers itself (just as he does in both ways, he right info itself, not a variable), while using them you can write any variable instead of "Tim" and "19". So %s is essential if you want to put there a variable.

    • @Kig_Ama
      @Kig_Ama Před 3 lety

      @@Dalt0nik_ Ty, I understand but at the end doesn't he hard code in this tutorial anyway?

    • @Dalt0nik_
      @Dalt0nik_ Před 3 lety +1

      @@Kig_Ama Yeah, he does, but I guess he just wanted to show us the best way to write it, so we could be able not only hard code. (Like if he couldn't mention this I would definitely think I can write a variable there without any %s)

    • @Kig_Ama
      @Kig_Ama Před 3 lety +1

      @@Dalt0nik_ Uhm ok I guess I understand. Great, ty for your help!

  • @abinayas6221
    @abinayas6221 Před 3 lety

    Ur using mysql appa

  • @aradog3213
    @aradog3213 Před 3 lety

    2.35

  • @johnhupperts
    @johnhupperts Před 4 lety +2

    how many calories is a pizza? like 400 or something lol

  • @avik5052
    @avik5052 Před 4 lety

    Why is there one dislike?

  • @cinquecento1985
    @cinquecento1985 Před 3 lety

    Screw this. I want a pizza now.

  • @Alphabet_-_
    @Alphabet_-_ Před 4 lety

  • @akshatrawat3943
    @akshatrawat3943 Před 3 lety

    i dont understand how the fuck does the database connect to python for him . i use pycharm and have been facing trouble for weeks. please help me out if u can.!!!!

  • @stephenfulmer8646
    @stephenfulmer8646 Před 2 lety

    This video didn't make any sense. The lines of code written for some reason do not work. Why is this so difficult!?

  • @MrPelastus
    @MrPelastus Před rokem

    Excellent video!
    I am having trouble with this code. I am getting an error 1064 message (MySQLInterfaceError: You have an error in your SQL syntax;). I cannot find where the error is. Any help will be appreciated. here is the code:
    create_employees = """CREATE TABLE Employees (
    EmployeeID INT AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR,
    Role VARCHAR,
    Address VARCHAR,
    Contact_Number INT,
    Email VARCHAR,
    Annual_Salary VARCHAR
    );"""
    cursor.execute(create_employees)
    print("Employees table was successfully created.
    ")

    • @thebigmightybattleship
      @thebigmightybattleship Před rokem +1

      I had a problem but it was completely different. Is it because you didn't define the length of each VARCHAR?

    • @MrPelastus
      @MrPelastus Před rokem

      @@thebigmightybattleship Thanks for your comment. Yes that was one of the problems.