mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# pysqlite2/__init__.py: the pysqlite2 package.
 | 
						|
#
 | 
						|
# Copyright (C) 2005 Gerhard Häring <gh@ghaering.de>
 | 
						|
#
 | 
						|
# This file is part of pysqlite.
 | 
						|
#
 | 
						|
# This software is provided 'as-is', without any express or implied
 | 
						|
# warranty.  In no event will the authors be held liable for any damages
 | 
						|
# arising from the use of this software.
 | 
						|
#
 | 
						|
# Permission is granted to anyone to use this software for any purpose,
 | 
						|
# including commercial applications, and to alter it and redistribute it
 | 
						|
# freely, subject to the following restrictions:
 | 
						|
#
 | 
						|
# 1. The origin of this software must not be misrepresented; you must not
 | 
						|
#    claim that you wrote the original software. If you use this software
 | 
						|
#    in a product, an acknowledgment in the product documentation would be
 | 
						|
#    appreciated but is not required.
 | 
						|
# 2. Altered source versions must be plainly marked as such, and must not be
 | 
						|
#    misrepresented as being the original software.
 | 
						|
# 3. This notice may not be removed or altered from any source distribution.
 | 
						|
 | 
						|
"""
 | 
						|
The sqlite3 extension module provides a DB-API 2.0 (PEP 249) compliant
 | 
						|
interface to the SQLite library, and requires SQLite 3.7.15 or newer.
 | 
						|
 | 
						|
To use the module, start by creating a database Connection object:
 | 
						|
 | 
						|
    import sqlite3
 | 
						|
    cx = sqlite3.connect("test.db")  # test.db will be created or opened
 | 
						|
 | 
						|
The special path name ":memory:" can be provided to connect to a transient
 | 
						|
in-memory database:
 | 
						|
 | 
						|
    cx = sqlite3.connect(":memory:")  # connect to a database in RAM
 | 
						|
 | 
						|
Once a connection has been established, create a Cursor object and call
 | 
						|
its execute() method to perform SQL queries:
 | 
						|
 | 
						|
    cu = cx.cursor()
 | 
						|
 | 
						|
    # create a table
 | 
						|
    cu.execute("create table lang(name, first_appeared)")
 | 
						|
 | 
						|
    # insert values into a table
 | 
						|
    cu.execute("insert into lang values (?, ?)", ("C", 1972))
 | 
						|
 | 
						|
    # execute a query and iterate over the result
 | 
						|
    for row in cu.execute("select * from lang"):
 | 
						|
        print(row)
 | 
						|
 | 
						|
    cx.close()
 | 
						|
 | 
						|
The sqlite3 module is written by Gerhard Häring <gh@ghaering.de>.
 | 
						|
"""
 | 
						|
 | 
						|
from sqlite3.dbapi2 import *
 | 
						|
from sqlite3.dbapi2 import (_deprecated_names,
 | 
						|
                            _deprecated_version_info,
 | 
						|
                            _deprecated_version)
 | 
						|
 | 
						|
 | 
						|
def __getattr__(name):
 | 
						|
    if name in _deprecated_names:
 | 
						|
        from warnings import warn
 | 
						|
 | 
						|
        warn(f"{name} is deprecated and will be removed in Python 3.14",
 | 
						|
             DeprecationWarning, stacklevel=2)
 | 
						|
        return globals()[f"_deprecated_{name}"]
 | 
						|
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
 |