17db96d56Sopenharmony_ci# pysqlite2/__init__.py: the pysqlite2 package. 27db96d56Sopenharmony_ci# 37db96d56Sopenharmony_ci# Copyright (C) 2005 Gerhard Häring <gh@ghaering.de> 47db96d56Sopenharmony_ci# 57db96d56Sopenharmony_ci# This file is part of pysqlite. 67db96d56Sopenharmony_ci# 77db96d56Sopenharmony_ci# This software is provided 'as-is', without any express or implied 87db96d56Sopenharmony_ci# warranty. In no event will the authors be held liable for any damages 97db96d56Sopenharmony_ci# arising from the use of this software. 107db96d56Sopenharmony_ci# 117db96d56Sopenharmony_ci# Permission is granted to anyone to use this software for any purpose, 127db96d56Sopenharmony_ci# including commercial applications, and to alter it and redistribute it 137db96d56Sopenharmony_ci# freely, subject to the following restrictions: 147db96d56Sopenharmony_ci# 157db96d56Sopenharmony_ci# 1. The origin of this software must not be misrepresented; you must not 167db96d56Sopenharmony_ci# claim that you wrote the original software. If you use this software 177db96d56Sopenharmony_ci# in a product, an acknowledgment in the product documentation would be 187db96d56Sopenharmony_ci# appreciated but is not required. 197db96d56Sopenharmony_ci# 2. Altered source versions must be plainly marked as such, and must not be 207db96d56Sopenharmony_ci# misrepresented as being the original software. 217db96d56Sopenharmony_ci# 3. This notice may not be removed or altered from any source distribution. 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci""" 247db96d56Sopenharmony_ciThe sqlite3 extension module provides a DB-API 2.0 (PEP 249) compliant 257db96d56Sopenharmony_ciinterface to the SQLite library, and requires SQLite 3.7.15 or newer. 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ciTo use the module, start by creating a database Connection object: 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci import sqlite3 307db96d56Sopenharmony_ci cx = sqlite3.connect("test.db") # test.db will be created or opened 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ciThe special path name ":memory:" can be provided to connect to a transient 337db96d56Sopenharmony_ciin-memory database: 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci cx = sqlite3.connect(":memory:") # connect to a database in RAM 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ciOnce a connection has been established, create a Cursor object and call 387db96d56Sopenharmony_ciits execute() method to perform SQL queries: 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci cu = cx.cursor() 417db96d56Sopenharmony_ci 427db96d56Sopenharmony_ci # create a table 437db96d56Sopenharmony_ci cu.execute("create table lang(name, first_appeared)") 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci # insert values into a table 467db96d56Sopenharmony_ci cu.execute("insert into lang values (?, ?)", ("C", 1972)) 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci # execute a query and iterate over the result 497db96d56Sopenharmony_ci for row in cu.execute("select * from lang"): 507db96d56Sopenharmony_ci print(row) 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_ci cx.close() 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ciThe sqlite3 module is written by Gerhard Häring <gh@ghaering.de>. 557db96d56Sopenharmony_ci""" 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_cifrom sqlite3.dbapi2 import * 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci# bpo-42264: OptimizedUnicode was deprecated in Python 3.10. It's scheduled 617db96d56Sopenharmony_ci# for removal in Python 3.12. 627db96d56Sopenharmony_cidef __getattr__(name): 637db96d56Sopenharmony_ci if name == "OptimizedUnicode": 647db96d56Sopenharmony_ci import warnings 657db96d56Sopenharmony_ci msg = (""" 667db96d56Sopenharmony_ci OptimizedUnicode is deprecated and will be removed in Python 3.12. 677db96d56Sopenharmony_ci Since Python 3.3 it has simply been an alias for 'str'. 687db96d56Sopenharmony_ci """) 697db96d56Sopenharmony_ci warnings.warn(msg, DeprecationWarning, stacklevel=2) 707db96d56Sopenharmony_ci return str 717db96d56Sopenharmony_ci raise AttributeError(f"module 'sqlite3' has no attribute '{name}'") 72