prepared statements using psycopg












2














I'm a beginner at python. We use this code to execute SQL commands.



cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (100, "abcdef"))


I wonder is this prepared statement or just a client side quoting?










share|improve this question






















  • See here: stackoverflow.com/questions/6775497/…
    – socketpair
    Oct 26 '14 at 18:00
















2














I'm a beginner at python. We use this code to execute SQL commands.



cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (100, "abcdef"))


I wonder is this prepared statement or just a client side quoting?










share|improve this question






















  • See here: stackoverflow.com/questions/6775497/…
    – socketpair
    Oct 26 '14 at 18:00














2












2








2







I'm a beginner at python. We use this code to execute SQL commands.



cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (100, "abcdef"))


I wonder is this prepared statement or just a client side quoting?










share|improve this question













I'm a beginner at python. We use this code to execute SQL commands.



cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (100, "abcdef"))


I wonder is this prepared statement or just a client side quoting?







postgresql python-3.x prepared-statement psycopg






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 26 '12 at 3:45









Majid Azimi

2,50764789




2,50764789












  • See here: stackoverflow.com/questions/6775497/…
    – socketpair
    Oct 26 '14 at 18:00


















  • See here: stackoverflow.com/questions/6775497/…
    – socketpair
    Oct 26 '14 at 18:00
















See here: stackoverflow.com/questions/6775497/…
– socketpair
Oct 26 '14 at 18:00




See here: stackoverflow.com/questions/6775497/…
– socketpair
Oct 26 '14 at 18:00












3 Answers
3






active

oldest

votes


















11














No, it does not, not for psycopg2 at least. The "Prepare" in the docs refers to a "PREPARE TRANSACTION" which is entirely different than a prepared statement.



You can emulate a prepared statement, by overriding the methods or executing extra statements, however. See: An example of psycopg2 cursor supporting prepared statements



Please see: relevant blog entry for psycopg.



More information:



http://www.postgresql.org/docs/9.2/static/sql-prepare.html
http://www.postgresql.org/docs/current/static/sql-prepare-transaction.html






share|improve this answer































    0














    I just want to ask if this prepare() method of psycopg2 sends the statement as prepared statement or not.



    import psycopg2

    con = psycopg2.connect(...)
    cur = con.cursor()
    cur.prepare(“insert into person(name, email) values(%s, %s)”)
    cur.execute(“aaa”, “email@company.com”)





    share|improve this answer





























      -3














      According to the docs the execute method will "Prepare and execute a database operation (query or command).". So yes, it is a prepared statement.






      share|improve this answer

















      • 10




        Actually it currently does not. The "Prepare" in this documentation refers to a "PREPARE TRANSACTION" call required for two-phase commit, not a precompiled SQL statement.
        – Brian
        Apr 15 '13 at 18:16











      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f9866350%2fprepared-statements-using-psycopg%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      11














      No, it does not, not for psycopg2 at least. The "Prepare" in the docs refers to a "PREPARE TRANSACTION" which is entirely different than a prepared statement.



      You can emulate a prepared statement, by overriding the methods or executing extra statements, however. See: An example of psycopg2 cursor supporting prepared statements



      Please see: relevant blog entry for psycopg.



      More information:



      http://www.postgresql.org/docs/9.2/static/sql-prepare.html
      http://www.postgresql.org/docs/current/static/sql-prepare-transaction.html






      share|improve this answer




























        11














        No, it does not, not for psycopg2 at least. The "Prepare" in the docs refers to a "PREPARE TRANSACTION" which is entirely different than a prepared statement.



        You can emulate a prepared statement, by overriding the methods or executing extra statements, however. See: An example of psycopg2 cursor supporting prepared statements



        Please see: relevant blog entry for psycopg.



        More information:



        http://www.postgresql.org/docs/9.2/static/sql-prepare.html
        http://www.postgresql.org/docs/current/static/sql-prepare-transaction.html






        share|improve this answer


























          11












          11








          11






          No, it does not, not for psycopg2 at least. The "Prepare" in the docs refers to a "PREPARE TRANSACTION" which is entirely different than a prepared statement.



          You can emulate a prepared statement, by overriding the methods or executing extra statements, however. See: An example of psycopg2 cursor supporting prepared statements



          Please see: relevant blog entry for psycopg.



          More information:



          http://www.postgresql.org/docs/9.2/static/sql-prepare.html
          http://www.postgresql.org/docs/current/static/sql-prepare-transaction.html






          share|improve this answer














          No, it does not, not for psycopg2 at least. The "Prepare" in the docs refers to a "PREPARE TRANSACTION" which is entirely different than a prepared statement.



          You can emulate a prepared statement, by overriding the methods or executing extra statements, however. See: An example of psycopg2 cursor supporting prepared statements



          Please see: relevant blog entry for psycopg.



          More information:



          http://www.postgresql.org/docs/9.2/static/sql-prepare.html
          http://www.postgresql.org/docs/current/static/sql-prepare-transaction.html







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jun 25 '13 at 12:15









          Richard Gomes

          3,4052430




          3,4052430










          answered Apr 15 '13 at 18:02









          Brian

          716816




          716816

























              0














              I just want to ask if this prepare() method of psycopg2 sends the statement as prepared statement or not.



              import psycopg2

              con = psycopg2.connect(...)
              cur = con.cursor()
              cur.prepare(“insert into person(name, email) values(%s, %s)”)
              cur.execute(“aaa”, “email@company.com”)





              share|improve this answer


























                0














                I just want to ask if this prepare() method of psycopg2 sends the statement as prepared statement or not.



                import psycopg2

                con = psycopg2.connect(...)
                cur = con.cursor()
                cur.prepare(“insert into person(name, email) values(%s, %s)”)
                cur.execute(“aaa”, “email@company.com”)





                share|improve this answer
























                  0












                  0








                  0






                  I just want to ask if this prepare() method of psycopg2 sends the statement as prepared statement or not.



                  import psycopg2

                  con = psycopg2.connect(...)
                  cur = con.cursor()
                  cur.prepare(“insert into person(name, email) values(%s, %s)”)
                  cur.execute(“aaa”, “email@company.com”)





                  share|improve this answer












                  I just want to ask if this prepare() method of psycopg2 sends the statement as prepared statement or not.



                  import psycopg2

                  con = psycopg2.connect(...)
                  cur = con.cursor()
                  cur.prepare(“insert into person(name, email) values(%s, %s)”)
                  cur.execute(“aaa”, “email@company.com”)






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 23 '18 at 8:24









                  Ahmed Kamal ELSaman

                  115




                  115























                      -3














                      According to the docs the execute method will "Prepare and execute a database operation (query or command).". So yes, it is a prepared statement.






                      share|improve this answer

















                      • 10




                        Actually it currently does not. The "Prepare" in this documentation refers to a "PREPARE TRANSACTION" call required for two-phase commit, not a precompiled SQL statement.
                        – Brian
                        Apr 15 '13 at 18:16
















                      -3














                      According to the docs the execute method will "Prepare and execute a database operation (query or command).". So yes, it is a prepared statement.






                      share|improve this answer

















                      • 10




                        Actually it currently does not. The "Prepare" in this documentation refers to a "PREPARE TRANSACTION" call required for two-phase commit, not a precompiled SQL statement.
                        – Brian
                        Apr 15 '13 at 18:16














                      -3












                      -3








                      -3






                      According to the docs the execute method will "Prepare and execute a database operation (query or command).". So yes, it is a prepared statement.






                      share|improve this answer












                      According to the docs the execute method will "Prepare and execute a database operation (query or command).". So yes, it is a prepared statement.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Mar 26 '12 at 3:49









                      SpliFF

                      28.9k1569103




                      28.9k1569103








                      • 10




                        Actually it currently does not. The "Prepare" in this documentation refers to a "PREPARE TRANSACTION" call required for two-phase commit, not a precompiled SQL statement.
                        – Brian
                        Apr 15 '13 at 18:16














                      • 10




                        Actually it currently does not. The "Prepare" in this documentation refers to a "PREPARE TRANSACTION" call required for two-phase commit, not a precompiled SQL statement.
                        – Brian
                        Apr 15 '13 at 18:16








                      10




                      10




                      Actually it currently does not. The "Prepare" in this documentation refers to a "PREPARE TRANSACTION" call required for two-phase commit, not a precompiled SQL statement.
                      – Brian
                      Apr 15 '13 at 18:16




                      Actually it currently does not. The "Prepare" in this documentation refers to a "PREPARE TRANSACTION" call required for two-phase commit, not a precompiled SQL statement.
                      – Brian
                      Apr 15 '13 at 18:16


















                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f9866350%2fprepared-statements-using-psycopg%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Trompette piccolo

                      Slow SSRS Report in dynamic grouping and multiple parameters

                      Simon Yates (cyclisme)