SQLite Databases With Python - Full Course

Поделиться
HTML-код
  • Опубликовано: 26 янв 2025

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

  • @byleexs1991
    @byleexs1991 2 года назад +89

    Cursors in sqlite3 python are objects that act as a pointer to the results of a query. They enable you to fetch, add, modify or delete data from a database. The cursor can also be used to traverse through the rows of a query result.

  • @redfordwilson5042
    @redfordwilson5042 4 года назад +732

    I didn't know Walter White was also skilled in programming. Cool!

    • @hellelo.5840
      @hellelo.5840 4 года назад +31

      I am the danger, Walter said while talking to his wife about hacking

    • @zl7289
      @zl7289 4 года назад +9

      This comment deserves more likes! 😂

    • @ShaileshKumar-fk8cu
      @ShaileshKumar-fk8cu 4 года назад +4

      Hahahahahahahaha

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

      Maybe he is planning to hack Pentagon. This time

    • @CavanLeeSears
      @CavanLeeSears 4 года назад +5

      You'll notice that almost every skilled programmer is a bald be-speckled goatie (stubble too) wearing guy. Including myself. :)

  • @Ricocase
    @Ricocase 4 года назад +60

    He already created a time outline of specific concepts in the video = instant upvote!
    Down-to-earth explanations > boss move!

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

    Didn't know Walter white was so good at teaching sqlite! Great video!

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

    At 37:21 he mispronounces tuple as "toople" and then corrects himself after immediately remembering the correct pronunciation. As a non-native speaker of English from India, this brings a smile to my face. Because this is exactly what we do at times. When we learn English from textbooks, we have our pronunciation for some words, and then after watching native speakers pronounce it differently we try to remember the correct pronunciation. But still end up pronuncing it the way we first learned it in spite of knowing the correct way. The word that immediately comes to my mind that I personally mispronounce is "environment".

  • @WillNicholson
    @WillNicholson Год назад +2

    Thanks John, this was really helpful. Just want to note something I got hung up on; if you delete the last row in a table, that rowid will be REUSED when you add a new item to the table UNLESS you use the AUTOINCREMENT keyword. In other words, if the last rowid is 6, and you delete it (and all of that person's data)... then the last rowid is 5. But, if you add a new item, the new person's data will be added to a row that ALSO has the rowid of 6. This can cause issues when referencing data by rowid later on.

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

    Wow, just wow. This is one superb course for beginners like myself. I followed the whole instructions and created an employees db. I reached a little far trying to incorporate nulls and blobs which caused me probs at the end. Ha. Had to drop back to the text and email demos but everything worked the first time after I corrected my typos. Ha. Thank you for a marvelous tutorial!

  • @026maheshkumars7
    @026maheshkumars7 Год назад +1

    I have finished this course...I have enjoyed every second in this course and i have learned lot of details... thankyou very much..

  • @MahdeenSky
    @MahdeenSky 4 года назад +7

    this is very easy to understand, good job, very few sqlite3 tutorials actually show the syntax of the sql knowledge and doesn't assume we learned the sql language beforehand, and this is one of them. Fantastic!

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

      may i ask how do i move on from this tutorial into more functional sql?

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

      @@MahdeenSky howd it go

  • @tzwacdastag8223
    @tzwacdastag8223 4 года назад +37

    ⭐️Course Contents ⭐️
    ⌨️ (0:00:00) What Is A Database
    ⌨️ (0:03:39) Install Python
    ⌨️ (0:07:07) Install Git Bash Terminal
    ⌨️ (0:11:52) Connect to Database in Python
    ⌨️ (0:17:39) Create A Table
    ⌨️ (0:28:13) Insert One Record Into Table
    ⌨️ (0:31:25) Insert Many Records Into Table
    ⌨️ (0:34:41) Query and Fetchall
    ⌨️ (0:37:02) Format Your Results
    ⌨️ (0:44:39) Primary Key
    ⌨️ (0:47:51) Use The Where Clause
    ⌨️ (0:51:17) Update Records
    ⌨️ (0:56:42) Delete Records
    ⌨️ (0:58:27) Order Results
    ⌨️ (1:01:37) And/Or
    ⌨️ (1:04:57) Limiting Results
    ⌨️ (1:07:27) Delete (Drop) A Table And Backups
    ⌨️ (1:09:14) Unit 18 Our App - Show All Function
    ⌨️ (1:14:16) Unit 19 Our App - Add A Record Function
    ⌨️ (1:17:51) Unit 20 Our App - Delete a Record Function
    ⌨️ (1:21:23) Unit 21 Our App - Add Many Records Function
    ⌨️ (1:24:57) Unit 22 Our App - Where Clause Function

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

      nice job copying the description

  • @GameKnightOTRT
    @GameKnightOTRT Год назад +4

    This is an older video but i found it very helpful so thank you first off! Secondly, if any of you are using VS Code instead of sublime you will need to make sure you are physically inside of the folder through the explorer tab. Once inside select the sqlite folder then go to git bash and follow his steps from there!

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

      Bro how to run vscode instead of sublime please give proper steps

  • @myriamt6340
    @myriamt6340 3 года назад +6

    WALTER WHITE teaching me SQLITE, what a time to be alive :D

  • @tymothylim6550
    @tymothylim6550 4 года назад +31

    Thank you John for this video! I watched the whole thing and it was really a well-planned lesson! This really helps me grasp the basics for sqlite3!

  • @uucea
    @uucea 4 года назад +90

    This is the type of channel that will mold the next Bill Gates
    Few of us watching will create something revolutionary

  • @aidynskullz4139
    @aidynskullz4139 4 года назад +10

    What kind of witch sorcery is this channel? As soon as I need to learn something for a project, a new course is released on the topic. This is insane and might be the tenth time it's happening.
    Keep up the good work!!!

    • @freecodecamp
      @freecodecamp  4 года назад +27

      When deciding what course to post, our first thought is always "What does Aidyn Skullz need to learn right now?" 😀

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

      @@freecodecamp haha LOL. Thanks for replying though XD.

    • @euphoric-therapeuticmusic5374
      @euphoric-therapeuticmusic5374 3 года назад +1

      @@freecodecamp so you guys have everything ready? why not post all of them.

  • @dragonarch0
    @dragonarch0 4 года назад +93

    Me thinking about learning python
    RUclips : I see you wanna learn python,here you go

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

    Made sense to me, but that was because I already knew SQL and the SQLite command line.
    Might be easier to demonstrate SQLite command line and then ask what if we want to do this as part of a larger Python program? At the SQLite command line one can immediately demonstrate the newly created table with:
    SELECT customers *;
    If a student asks, why not do everything in SQL? Ask the student, "What if you want to graph the data?" SQL doesn't have matplotlib or even the tools to produce a formatted report. So, Python and SQL (SQLite) make a good team.

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

    Hello John,
    I worked on a program that asks the number of records to be inserted:
    import sqlite3
    conn = sqlite3.connect('student.db')
    #create a cursor
    c = conn.cursor()
    vnaam = ' '
    #Inserting records
    aant = int(input('Number of records to be inserted'))
    for x in range(aant):
    vnaam = input("First name? :")
    anaam = input("Surname? :")
    rek = input("Arithmetic score :")
    taal = int(input("Language score :"))
    studenten = [
    (vnaam, anaam, rek, taal)
    ]
    c.executemany("INSERT INTO studenten VALUES (?,?,?,?)", studenten)
    print("Inserted")
    #Commando uitvoeren
    conn.commit()
    #afsluiten!
    conn.close()
    And it works :) (Thanks to your clear way of instructing us :)

  • @Vhoover3609
    @Vhoover3609 4 года назад +20

    Hint: the print function accepts multiple arguments where each one is separated by a space when printed. I.e. print( item[0], item[1]) will print Jon Elders to the screen.

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

    c.execute("INSERT INTO Customers VALUES (?,?,?)", (List))
    sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 3, and there are 2 supplied.
    I've rewound the video like dozens of times now and watched it. Finally I noticed that I'm using execute() instead of executemany(). c.executemany("INSERT INTO Customers VALUES (?,?,?)", List) now it works.

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

    This was awesome. I was trying to figure out sqlite3. Thanks!!!

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

    He is enjoying himself.. he doesn't want the output to be displayed... What a gamer!!!!!

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

    thanks alot that was such an awesome video to learn basics about sql lite with python

  • @junioradi6554
    @junioradi6554 4 года назад +3

    Super and simple course which permits to understand the use of database into an application written using Python. Thank you sir

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

    Learnt a lot from this video. The only thing I didn't get is how to reset your rowid after you have deleted something

  • @medimarsh2376
    @medimarsh2376 3 года назад +1

    in spite of all unfair comments, I have to say perfect video. Thanks!!!

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

    What a CrashCourse man!!
    AWESOME!!

  • @shivangivishwasrao1983
    @shivangivishwasrao1983 2 года назад +6

    Simply loved how crisp and to the point this course was. Thank you so much!

  • @vectoralphaSec
    @vectoralphaSec 11 месяцев назад +2

    I dont know if you would answer any questions here on this specific video, most likely not, but ill ask anyway. I was wondering if SQLite would be ok to use in production as the default database for a small project? Im building a small web app in Django as a reference/ educational site and have a database of at most 50 records. I dont have the option for users or allowing user data so the database wont grow, it will stay at 50 rows. Is this ok for SQLite as my main database for my django project or should it only be used for development and instead use MySQL/ PostgreSQL?

  • @i_am_dumb1070
    @i_am_dumb1070 10 месяцев назад +1

    Really easy to follow along course loved the simple explanation thankyou

  • @espressoshot21
    @espressoshot21 4 года назад +8

    Thank you for this super helpful video! Keep up the awesome work. I've been really enjoying your courses on RUclips. You're such an awesome instructor!

  • @pleabargain
    @pleabargain 3 года назад +5

    I worked through all of the code examples. Thank you! I have learned a lot!

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

    Hi John, I watched all clips. Thx for your full course "Sqlite databases with Python". Well done!!!

  • @benwards7398
    @benwards7398 2 года назад +3

    In the delete section:
    Don''t convert the id to string in the app.py file instead convert it into an iterable by
    c.execute("DELETE FROM customers WHERE rowid = (?)", [id])
    or
    c.execute("DELETE FROM customers WHERE rowid = (?)", (id,))
    Thanks for the good video.

  • @shrishailgharat1964
    @shrishailgharat1964 4 года назад +3

    John hope you are eating well and are healthy. Really loved the course. Thanks for the video and keeping it simple and short.

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

    Hello ,I am starting to learn Data science,so I am beginer and this course it's very good for beginers,thank you very much!!!

  • @draganmilinov7495
    @draganmilinov7495 3 года назад +1

    Thank you very much on this video!
    It helped me.
    I'm beginner in programming.
    Python is my first programming language.

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

    Just started a new project in React-Native this SQLite course will help a lot for mobile dev. Thanks 🙏

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

    I saw his TKinter playlist too. Amazing teacher !

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

    very good instructor, of course you will need to know some python before you watch this video

  • @Lucaischz
    @Lucaischz 4 года назад +12

    As far as I know, docstrings aren't the same as triple quote strings. Docstrings are indeed expressed on tripple quote strings, but it means something more specific, which is the on code documentation for classes and functions, actually working as source code comments, but the syntax accepts this particular case because it's industry standard.
    Edit: also, as far as I know, SQL is case INSENSITIVE, actually, but it's good practice to capitalize reserved words to distinguish it from context defined elements (names, parameters, etc).

    • @pepijnkrijnsen4
      @pepijnkrijnsen4 3 года назад +2

      Six months later but you're absolutely right

  • @vanshatcode
    @vanshatcode 4 года назад +8

    Thanks a lot for this, seriously you are an incredible teacher.

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

    Amazing course! such a big teacher and explanation method!

  • @Meta910
    @Meta910 3 года назад +1

    AMAZING....#just got re-candled again😊

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

    The best video course i will enrol on 👍👍👍👍👍👍

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

    1:29:36 if you use:
    id = str(id) in the delete_one function the input will be converted to an interger

  • @espressobuzz1253
    @espressobuzz1253 3 года назад +2

    Surprised that value passed to query has to be a tuple. This does not work: cursor.execute("SELECT * FROM customers WHERE firstname=?", customer_first_name)

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

    This Course is really easy to follow and super useful for people who want to start using SQLite, but I wanted to understand 'JOIN' concept which is not explained neither mentioned here, so i guess I will look for some more content.

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

    You Rock I roll... Seriously, This guy's videos are most helpful in the entire RUclips!

  • @drendelous
    @drendelous 2 месяца назад

    1:21:03 it worked with '6' as 🐍 doesnt treat 6 as a sequence (and we need to pass a sequence for: .execute(..., here). '6' is iterable and it handled the issue

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

    JESSIE WE NEED TO CREATE A METH CUSTOMER DATABASE

  • @KroRelic
    @KroRelic 10 дней назад

    Thank you so much for the free high quality tutorial!

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

    Very simple and straight forward. Congrats!

  • @johndoe-rq4gf
    @johndoe-rq4gf 3 года назад +2

    Hi! just a remark: contrary to what you say in the first part, SublimeText is free for evaluation but if you do read the little popup window (or the website) you have to buy a license for continuous usage, it's not a donation, it's a license.

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

    I appreciate your work on this tutorial. Thanks mate!

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

    You are amazing and you are way of teaching is brilliant and time saving

  • @ABMA79
    @ABMA79 3 года назад +4

    amazing course and productive.
    Thanks for the wonderful lesson.
    I have learned so many things in one hour from you.
    Expecting more amazing stuff like this in the future
    Thanks a lot

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

    Thank you! The author made me understand to use Python that do CRUD a database incredibly

  • @EpicGamer-ux1tu
    @EpicGamer-ux1tu 2 года назад

    Great video mate, I learned SQL and sqlite3 from you, thanks

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

    Really easy to understand course. Some very useful bits in there. Thanks John!

  • @johannesperez9548
    @johannesperez9548 3 года назад +2

    Thanks John! Super useful! I learned a lot!!!

  • @le_moski
    @le_moski 4 года назад +8

    1:02:43 Epic bruh moment
    Excelent video btw

  • @pkavenger9990
    @pkavenger9990 4 года назад +3

    i love his style of teaching: "So guys what is SQL? I don't know.....................

  • @juanopenx
    @juanopenx 2 года назад +6

    It would be good to show readonly vs read+write connections to the sqlite3 database file, which comes in handy if you're creating a flask web app which will be used by multiple individuals at once.

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

    Clicking the like button at the start of the video is like tipping before you get your food.

  • @amirmohammadyazdani6929
    @amirmohammadyazdani6929 3 года назад +1

    Teacher: Say my name
    We: Heisenberg
    Teacher: YOU GOT DAMN RIGHT !

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

    First helpful tutorial on this topic

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

    Hello John, I followed closely your instructions in using tkinter and making a database. I changed your example a bit, in that I only ask for a first name and underneath that a number of entry boxes in which scores on some test can be filled in.
    Two questions:
    1. How to get the results in some listbox or something like that
    2. How can I send the results to a printer.
    This printer thing a a huge challenge for me :)
    Thank you for your fantastic video's !!

    • @BabaBoota-lg2pq
      @BabaBoota-lg2pq Год назад

      you can execute this query SELECT * FROM [table name]
      and then you can just use this method fetchall() on the cursor while assigning it to a variable and now your variable simply contains a list of tuples and each tuple contains values of each row corresponding to the column names.

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

    at 1:26:15
    took me half a day to understand that little "quirk" of comma in "(email,)"
    and found out that it is also possible to write "[email]" as both cases returns an iterable.

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

      I'm really scratching my head 9n passing rowid as a string, and then it "just works". Stuff like this drives me crazy. I guess it's no worse than perl and the way it used the context of what it was seeing in the code instead of following a strict syntax grammar. perl can produce incredible results, but things written in it are pretty much unmaintainable. A write-only language. ;)

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

      @@tonyfremont I am not sure if your comment should be under mine. but It seems what you mentioned is about parameter type of sqlite's execute function.
      I find it interesting and tried 2 changes, one is the I mentioned in my comment: send an integer rowid, as we normally would do, into delete function use it inside as either "(id,)" or "str(id)" in execute function.

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

    17:44 it seems to me that databases really start making sense when they are comprised of MULTIPLE tables.
    I wish you would have touched this subject. Other than that : fantastic video ; it really helped.

  • @zainabbasmerchant9650
    @zainabbasmerchant9650 3 года назад +1

    Better than my college professor thanks a lot ✌

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

    Really helpful Video
    Made the bridge of knowledge which I needed from a long time
    One more time thank you

  • @RC-qi6hs
    @RC-qi6hs 4 года назад +40

    Thanks to RUclips, im gonna complete my bachelor's before end of my 2nd semester of college 😂😂✌️

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

    Thank you for this Walter!

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

    Thank you so much John for the lesson! Your calm natural way of teaching is great!

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

    Massive respect for these guys

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

    this is sooooo useful. thank you so much. you're an incredible teacher!

  •  4 года назад +53

    Great tutorial You really dont need a college just RUclips is enough✌

    • @Deathwisher069
      @Deathwisher069 4 года назад +6

      Or maybe just the channels like freecodecamp 👍

    • @usamanadeem_404
      @usamanadeem_404 4 года назад +8

      damn true but youtube don't gives degree. hahaha

    • @dearstats6100
      @dearstats6100 4 года назад +3

      @@usamanadeem_404 with a degree if you can't do anything that is worst than not having a degree but skill

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

      @@dearstats6100 and i am thinking what kind of the education system would be of a person if he/she got degree but don't have skills.

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

      @@usamanadeem_404 Well If that degree is gonna cost thousands of dollars . I am better of only with the skills !

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

    Thank you for publishing this video and teaching smoothly .....very practical and useful 👌

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

    Many thanks, great video!

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

    Thank you so much for this video, it was well planned and really helped me!!!

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

    in 42:00 what would be the difference between using print (item [0] + item [1]
    and use print (item [0], item [1]) in formatting?

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

    Ohh man...it feels so great when understand everything!! I like how you teach really smooth and understandable. Soon I will gotta buy some of your courses

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

    Thanks a lot John. In this lecture i m just stucked at 1:10:15. When i tried to import database. I got an error ModuleNotFoundError: No module named 'database'.

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

    1:20:00 Isn't it because you forgot to wrap the id argument in a tuple?
    c.execute("DELETE from customers WHERE rowid = (?)", (id,))
    could be wrong though

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

    Good explanation sir Thnks a lot 😊😊😊😊

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

    Really appreciate everything this channel does!

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

    Great hands on course, thank you John

  • @madeeasy7148
    @madeeasy7148 3 года назад +1

    after i dropped my table, nothing is working, I tried to create a new table from the first lesson, but it says database doesn't exist (even though its in my folder?

  • @justinbeam4233
    @justinbeam4233 3 года назад +1

    does sublime text automatically highlight sqlite3 syntax inside of python strings? I'm using vscode and it doesn't do that. I've found (haven't yet installed) an extension that supposed to do it if you type --sql or something at the beginning of the string

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

      my sublime text3.2.2 seems not highlighting sqlite3 syntax, but in his video it does. I googled but can not figure out how to do so, did you had a better luck?

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

      never mind, it's working now!

  • @shedquality
    @shedquality 3 года назад +2

    If you're having trouble with this part of deleting a query with a rowid over 9 then look below
    c.execute("DELETE from customers WHERE rowid = (?)", id)
    It's because when you call the function
    database.delete_one('10')
    You will get the error " Incorrect number of bindings supplied. The current statement uses 1, and there are 2 supplied."
    to fix this, change
    rowid = (?)", id)
    to
    rowid = (?)", [id])
    allowing
    database.delete_one('10') to work with double digits and more
    You no longer need to pass the function argument as a string - database.delete_one(10) will now work WITH or WITHOUT converting the numbers to string

    • @DiscordCriminal
      @DiscordCriminal 3 года назад +1

      thank you

    •  3 года назад +1

      thx

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

    Just discovered SQLite (Im already familiar with Maria/MySQL, Oracle, PostgreSQL) and im really digging it. Only one very easily portable .db file THATS IT thats the whole database. I love how little and compact and cute it is

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

      You'll never get a job in it

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

      @@KingdomCre8tive I don't need to, I'm a junior DBA i mostly deal with oracle, MySQL and postgres but in my spare time i like to experiment with other stuff and I found SQLite really neat.

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

    Ah, thank you. This video cleared up a lot of things I was confused about.

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

    Hi, about 1:26:15 , Why does it needs to have a coma(email,)? other example like delete_one use only the function var and also rowid is in the tuple so why?

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

    You are a champion if you have any python course I will go for it.
    Thank you for your bright knowledge.

  • @rahulgovindkumar3105
    @rahulgovindkumar3105 3 года назад +1

    Thank you for this super helpful video!

  • @mr.dineshlee
    @mr.dineshlee 4 года назад +1

    Very Easy to Understand this one...🙏🏻

  • @melselvagem
    @melselvagem 5 месяцев назад

    Thank you so much, such a good explanation 😊

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

    Thx for video! I think that best way for use database functions is optional args connection, we just create one connection and use it in all functions

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

    1:20:49
    anyone know how to fix this error, pls
    Incorrect number of bindings supplied. The current statement uses 1, and there are 2 supplied.