Skip to main content

Database connection library for SQL Server

Project description

BasicConnect

Introduction

The BaseConnect library simplifies database operations for SQL Server by providing an easy-to-use Python interface. It abstracts repetitive tasks like connecting to the database, executing queries, and fetching data into pandas DataFrames. This package is built using pyodbc and pandas.

Installation

To use BaseConnect, ensure you have the following dependencies installed:

pyodbc: For database connection pandas: For data manipulation Install the dependencies using pip:

pip install pyodbc pandas

Include the BaseConnect package in your Python project structure.

Database Class

The Database class is the core component of the BaseConnect package. It provides methods for connecting to SQL Server, executing queries, and managing data.

Initialization

from my_database_lib.database import Database

db = Database( server="server_name", database="database_name", user="username", # Optional, for SQL authentication password="password", # Optional, for SQL authentication driver="ODBC Driver 17 for SQL Server" # Default driver )

  • server (str): The SQL Server hostname or IP address.
  • database (str): The database name to connect to.
  • user (str): (Optional) The username for SQL authentication. Leave empty for Windows Authentication.
  • password (str): (Optional) The password for SQL authentication.
  • driver (str): (Optional) The ODBC driver to use. Defaults to "ODBC Driver 17 for SQL Server."

Methods

  1. connect() Establishes a connection to the SQL Server database.

db.connect()

Output: Prints a success or error message.

  1. close() Closes the database connection.

db.close()

Output: Prints a confirmation message when the connection is closed.

  1. insert_row(row_data, table) Inserts a new row into the specified table.

row_data = {"column1": value1, "column2": value2, ...} table = "table_name"

db.insert_row(row_data, table)

Parameters:

row_data (dict): Dictionary where keys are column names and values are the respective data. table (str): The table name where the row should be inserted.

Output: Prints a success or error message.

  1. update_row(keys, updates, table) Updates a row in the specified table.

keys = {"primary_key_column": value} updates = {"column_to_update": new_value, ...} table = "table_name"

db.update_row(keys, updates, table)

Parameters:

keys (dict): Dictionary of key-value pairs used in the WHERE clause. updates (dict): Dictionary of column-value pairs to update. table (str): The table name where the update should occur.

Output: Prints a success or error message.

  1. execute_query(query) Executes a custom SQL query.

query = "SELECT * FROM table_name WHERE column_name = 'value'"

results = db.execute_query(query)

Parameters:

query (str): The SQL query to execute.

Returns: List of tuples containing query results (if any).

  1. get_table(table) Fetches all rows from the specified table and returns them as a pandas DataFrame.

table = "table_name"

table_df = db.get_table(table)

Parameters:

table (str): The table name to fetch.

Returns: A pandas DataFrame containing all rows from the table.

  1. query(query_string) Executes a custom SQL query and returns the results as a pandas DataFrame.

query_string = "SELECT * FROM table_name WHERE column_name = 'value'"

query_df = db.query(query_string)

Parameters: query_string (str): The SQL query to execute.

Returns: A pandas DataFrame containing the query results.

Best Practices
    Always close the database connection using close() to release resources.
    Handle exceptions for invalid queries or data input to prevent SQL injection.
    Use environment variables to store sensitive information like database credentials.

Error Handling
    The Database class includes basic error handling, which prints error messages 
    for connection failures or query errors.

Conclusion
    BaseConnect is a flexible and efficient library for managing SQL Server databases in Python. 
    With its intuitive interface and pandas integration, it is ideal for applications requiring data manipulation 
    and analytics.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

baseconnect-0.4.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

baseconnect-0.4-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file baseconnect-0.4.tar.gz.

File metadata

  • Download URL: baseconnect-0.4.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for baseconnect-0.4.tar.gz
Algorithm Hash digest
SHA256 c0c1f01cc0afba1d48dd68db57448030c2e8e01e6be9edac1b5f7ea83f74ba6f
MD5 6d6ea85a597139f022fe0b65be5d897a
BLAKE2b-256 5ca8d293d8e4ebad31d0292cc89d32899f4e98b6fc374f75cd1eb75fdc473980

See more details on using hashes here.

File details

Details for the file baseconnect-0.4-py3-none-any.whl.

File metadata

  • Download URL: baseconnect-0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for baseconnect-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f4d3f5ed6fb7e47b0fb3951c6d488ad7788d52c3533af5c16801316c5aec9045
MD5 6129318fc4d7790a1c6e49e367a08548
BLAKE2b-256 13943d08108cc568db7cae680356c9b72ba8578a9714ce7be7c0765db88bf787

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page