__init__.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # pysqlite2/__init__.py: the pysqlite2 package.
  2. #
  3. # Copyright (C) 2005 Gerhard Häring <gh@ghaering.de>
  4. #
  5. # This file is part of pysqlite.
  6. #
  7. # This software is provided 'as-is', without any express or implied
  8. # warranty. In no event will the authors be held liable for any damages
  9. # arising from the use of this software.
  10. #
  11. # Permission is granted to anyone to use this software for any purpose,
  12. # including commercial applications, and to alter it and redistribute it
  13. # freely, subject to the following restrictions:
  14. #
  15. # 1. The origin of this software must not be misrepresented; you must not
  16. # claim that you wrote the original software. If you use this software
  17. # in a product, an acknowledgment in the product documentation would be
  18. # appreciated but is not required.
  19. # 2. Altered source versions must be plainly marked as such, and must not be
  20. # misrepresented as being the original software.
  21. # 3. This notice may not be removed or altered from any source distribution.
  22. """
  23. The sqlite3 extension module provides a DB-API 2.0 (PEP 249) compliant
  24. interface to the SQLite library, and requires SQLite 3.7.15 or newer.
  25. To use the module, start by creating a database Connection object:
  26. import sqlite3
  27. cx = sqlite3.connect("test.db") # test.db will be created or opened
  28. The special path name ":memory:" can be provided to connect to a transient
  29. in-memory database:
  30. cx = sqlite3.connect(":memory:") # connect to a database in RAM
  31. Once a connection has been established, create a Cursor object and call
  32. its execute() method to perform SQL queries:
  33. cu = cx.cursor()
  34. # create a table
  35. cu.execute("create table lang(name, first_appeared)")
  36. # insert values into a table
  37. cu.execute("insert into lang values (?, ?)", ("C", 1972))
  38. # execute a query and iterate over the result
  39. for row in cu.execute("select * from lang"):
  40. print(row)
  41. cx.close()
  42. The sqlite3 module is written by Gerhard Häring <gh@ghaering.de>.
  43. """
  44. from sqlite3.dbapi2 import *
  45. from sqlite3.dbapi2 import (_deprecated_names,
  46. _deprecated_version_info,
  47. _deprecated_version)
  48. def __getattr__(name):
  49. if name in _deprecated_names:
  50. from warnings import warn
  51. warn(f"{name} is deprecated and will be removed in Python 3.14",
  52. DeprecationWarning, stacklevel=2)
  53. return globals()[f"_deprecated_{name}"]
  54. raise AttributeError(f"module {__name__!r} has no attribute {name!r}")