Python MySQL Tutorial - Creating Tables, Inserting & Selecting

Поделиться
HTML-код
  • Опубликовано: 8 июл 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

Комментарии • 120

  • @arielmaritano6470
    @arielmaritano6470 4 года назад +39

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

  • @allegra13
    @allegra13 2 года назад +1

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

  • @thilokeshjain6767
    @thilokeshjain6767 4 года назад +2

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

  • @oscargarciahinde4247
    @oscargarciahinde4247 2 года назад +10

    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 3 года назад +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

  • @cusematt23
    @cusematt23 8 месяцев назад +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!

  • @StraitBizness
    @StraitBizness 3 года назад

    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.

  • @TheShadyStudios
    @TheShadyStudios 4 года назад

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

  • @Atheawesome45
    @Atheawesome45 4 года назад +4

    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!

  • @MrSith-yp3yq
    @MrSith-yp3yq Год назад

    Excellent as always, Tim!

  • @datofficial6062
    @datofficial6062 Год назад

    Very basic. LOVE IT!

  • @EricRosenberg
    @EricRosenberg 2 года назад

    Fantastic tutorial, thanks! 👍

  • @mouhannadal-hmedi1501
    @mouhannadal-hmedi1501 4 года назад

    Great python courses 😍😍😍
    countinue

  • @caolanmaguire9874
    @caolanmaguire9874 Год назад

    Great tutorial! Helped me with a project!

  • @sebastiengagneux2561
    @sebastiengagneux2561 2 года назад

    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 2 года назад

    Excellent. Thank you

  • @hosseindr.askari6161
    @hosseindr.askari6161 Год назад

    Thanks for your great explanation 🙂

  • @arnavkhandelwal30
    @arnavkhandelwal30 2 года назад

    Thank you !! ur help has been helpful

  • @jayamankrah4328
    @jayamankrah4328 4 года назад

    Thanks for this video

  • @saikoushik7626
    @saikoushik7626 Год назад

    Thank you so much bro

  • @darnellhill143
    @darnellhill143 3 года назад +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!!!

  • @hindustaniMemer565
    @hindustaniMemer565 3 года назад

    thanks buddy it helped a lot...

  • @post_nut_clarity
    @post_nut_clarity 3 года назад

    you are a genius.

  • @shreyasreedhar2068
    @shreyasreedhar2068 4 года назад +4

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

  • @thenaturelover5737
    @thenaturelover5737 2 года назад

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

  • @Alan-yg8wc
    @Alan-yg8wc 4 года назад +1

    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!

  • @geethanjaliravichandhran8109
    @geethanjaliravichandhran8109 3 года назад

    Thankyou tim

  • @kasyapdharanikota8570
    @kasyapdharanikota8570 3 года назад

    very helpful video

  • @dasigkatama029
    @dasigkatama029 4 года назад

    Simple and helpful :-)

  • @muhammedfadhi789
    @muhammedfadhi789 2 года назад

    the way you explain... amazing...

  • @rediscover.themystery
    @rediscover.themystery 2 года назад

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

    • @TechWithTim
      @TechWithTim  2 года назад

      Really appreciate that! Thanks :)

  • @Blu3_Spac3
    @Blu3_Spac3 Год назад +1

    Only 1m subs??? you deserve more

  • @victorlefeu
    @victorlefeu 3 года назад

    thanks you!!!

  • @dinonppa1
    @dinonppa1 4 года назад +2

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

    • @soulninjadev
      @soulninjadev 3 года назад

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

  • @jagadishs1086
    @jagadishs1086 4 года назад

    Sir awesome

  • @johnygrits
    @johnygrits 3 года назад

    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!

  • @Ricqua
    @Ricqua 4 года назад +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

  • @sainco3036
    @sainco3036 4 года назад

    thanks.

  • @kclonh4517
    @kclonh4517 4 года назад

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

  • @MOHAMMADFARIHANABDULLAH
    @MOHAMMADFARIHANABDULLAH 3 года назад

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

  • @pedrotorres5539
    @pedrotorres5539 4 года назад +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).

  • @Tirik00
    @Tirik00 9 месяцев назад

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

  • @ayushpurohit8266
    @ayushpurohit8266 Год назад

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

  • @uncommoncharlie7
    @uncommoncharlie7 3 года назад

    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.

  • @pjb4764
    @pjb4764 6 месяцев назад

    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 4 года назад

    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

  • @Sam-tg4ii
    @Sam-tg4ii 5 месяцев назад

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

  • @gandalfgrey91
    @gandalfgrey91 2 года назад

    how do you get that CLEAN syntax highlighting for mysql?

  • @youtubepanda8238
    @youtubepanda8238 Год назад

    You saved my hassssssssssssssss 🤕🤕❤❤❤❤

  • @jean-paulzimmermann6366
    @jean-paulzimmermann6366 9 месяцев назад

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

  • @sarthakkavidayal4968
    @sarthakkavidayal4968 3 года назад

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

  • @johnylanckriet3377
    @johnylanckriet3377 9 месяцев назад

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

  • @captainyaptin5811
    @captainyaptin5811 2 года назад

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

  • @kailashrathod1089
    @kailashrathod1089 4 года назад +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 3 года назад

      try from mosh sql tutorial . perfect

  • @krokkozerro7582
    @krokkozerro7582 4 года назад +1

    make video about opencv pls

  • @wilbertraymundrayos4175
    @wilbertraymundrayos4175 4 года назад

    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.

  • @TheAmazingpower
    @TheAmazingpower 4 года назад

    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  4 года назад +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 4 года назад

      ​@@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.

  • @vietndk5437
    @vietndk5437 4 года назад

    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 3 года назад

      But there is no semicolon.

  • @jamesgoforth5644
    @jamesgoforth5644 16 дней назад

    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

  • @ProSpase
    @ProSpase Год назад

    is it possible to do this in pycharm community edition?

  • @deanemarks8611
    @deanemarks8611 Год назад

    How about dfs to dba and vice versa

  • @radio_electronics4047
    @radio_electronics4047 3 года назад

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

  • @JustaNormalGuy115
    @JustaNormalGuy115 4 года назад +2

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

    • @andrewn211
      @andrewn211 4 года назад +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 4 года назад

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

  • @shanksharma5117
    @shanksharma5117 2 года назад

    can you provide tutorial for Sqlite3?

  • @SatishKumar-mn6bi
    @SatishKumar-mn6bi 6 месяцев назад

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

  • @samuelpurple
    @samuelpurple 3 года назад

    What software is this please?

  • @abinayas6221
    @abinayas6221 3 года назад

    Or any compiler

  • @fernandohood5542
    @fernandohood5542 3 года назад

    Why do some people use ; after the commit?

  • @INSANE_-nj4xh
    @INSANE_-nj4xh 2 года назад

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

  • @neilzietsman4220
    @neilzietsman4220 4 года назад

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

    • @abhiencoded
      @abhiencoded 4 года назад

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

    • @Kig_Ama
      @Kig_Ama 3 года назад

      @@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 2 года назад

      @@Kig_Ama 11:10🙃

  • @rankzkate
    @rankzkate 4 года назад

    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

  • @twinbook9025
    @twinbook9025 4 года назад

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

  • @hassanprinceoftheyes9365
    @hassanprinceoftheyes9365 2 года назад +2

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

  • @ayooshsharma529
    @ayooshsharma529 Год назад

    Where are you writing these commands????

  • @masterludovicus802
    @masterludovicus802 3 года назад

    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 8 месяцев назад

      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 2 года назад

    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

  • @datasciencewithcharaf4206
    @datasciencewithcharaf4206 Год назад

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

  • @DGMDevGamingAndMore
    @DGMDevGamingAndMore 3 года назад

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

  • @brucescott7156
    @brucescott7156 2 года назад

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

  • @Kig_Ama
    @Kig_Ama 3 года назад

    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_ 3 года назад

      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 3 года назад

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

    • @Dalt0nik_
      @Dalt0nik_ 3 года назад +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 3 года назад +1

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

  • @soumya9895
    @soumya9895 4 года назад

    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  4 года назад +1

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

    • @maarcoo97
      @maarcoo97 4 года назад

      maybe there's other people doing want you like

    • @soumya9895
      @soumya9895 4 года назад

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

  • @Rbourk252
    @Rbourk252 3 года назад

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

  • @abinayas6221
    @abinayas6221 3 года назад

    Ur using mysql appa

  • @aradog3213
    @aradog3213 3 года назад

    2.35

  • @johnhupperts
    @johnhupperts 4 года назад +2

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

  • @avik5052
    @avik5052 4 года назад

    Why is there one dislike?

  • @cinquecento1985
    @cinquecento1985 3 года назад

    Screw this. I want a pizza now.

  • @akshatrawat3943
    @akshatrawat3943 3 года назад

    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.!!!!

  • @Alphabet_-_
    @Alphabet_-_ 4 года назад

  • @stephenfulmer8646
    @stephenfulmer8646 2 года назад

    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 11 месяцев назад

    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 11 месяцев назад +1

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

    • @MrPelastus
      @MrPelastus 11 месяцев назад

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