Skip to main content

SQL Command Magic for IPython

An IPython magic extension for executing SQL queries against Microsoft SQL Server using the sqlcmd utility.

Features

  • Execute SQL queries directly from IPython/Jupyter notebooks
  • Connect to Microsoft SQL Server using simple parameters or connection strings
  • Execute SQL in batches separated by GO statements
  • Execute external SQL files using EXECUTE_SQL_FILE
  • Substitute Python variables in SQL queries
  • Debug mode for troubleshooting

Installation

pip install ipython-sqlcmd

Requirements

  • Python 3.7+
  • IPython 7.0+
  • Pandas 1.0+
  • Microsoft SQL Server
  • sqlcmd utility installed and available in PATH

Usage

Load the extension

%load_ext sqlcmd

Set connection using simplified syntax

# Connect using just the database name (uses defaults for other parameters)
%sqlcmd AdventureWorks

# Connect with custom server, username and password
%sqlcmd AdventureWorks --server=myserver --username=myuser --password=mypassword

# Connect using password from environment variable
%sqlcmd AdventureWorks --password-env=MY_SQL_PASSWORD

# Connect with additional connection options
%sqlcmd AdventureWorks --driver="ODBC Driver 18 for SQL Server" --no-encrypt

Set connection using full connection string (advanced)

%sqlcmd 'mssql+sqlcmd:///?odbc_connect=SERVER=myserver;DATABASE=mydb;UID=myuser;PWD=mypassword'

Execute SQL

%%sqlcmd
SELECT TOP 10 *
FROM MyTable
WHERE Column1 = 'Value'

Execute SQL with variable substitution

value = "SomeValue"

%%sqlcmd
SELECT TOP 10 *
FROM MyTable
WHERE Column1 = '$value'

Debug mode

%%sqlcmd --debug
SELECT TOP 10 *
FROM MyTable

Execute SQL from file

%%sqlcmd
EXECUTE_SQL_FILE 'path/to/query.sql'

Connection Parameters

When using the simplified connection syntax, the following parameters are available:

Parameter Short Flag Default Value Description
--server -s localhost SQL Server instance
--username -u sa SQL Server username
--password -p None SQL Server password
--password-env -e SSMS_PASSWORD Environment variable containing password
--driver -d ODBC Driver 17 for SQL Server ODBC driver name
--encrypt True Encrypt connection (default)
--no-encrypt Do not encrypt connection
--trust-certificate True Trust server certificate (default)
--no-trust-certificate Do not trust server certificate
--encoding -c utf-8 Output and SQL database encoding (e.g., utf-8, latin-1, cp1252)
--show-execution-time -t False Print execution time of SQL queries

License

MIT

Metadata

Release files for ipython-sqlcmd 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ipython-sqlcmd 0.1.3
File Size Uploaded
ipython_sqlcmd-0.1.3.tar.gz 13.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ipython-sqlcmd 0.1.3
File Interpreter ABI Platform
ipython_sqlcmd-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 28.0 kB

Release files / ipython_sqlcmd-0.1.3.tar.gz

Download URL ipython_sqlcmd-0.1.3.tar.gz
Size 13.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e8d9bb528d02a250dc5847ea6f95e910eaf0acf8f0443dfe86ebf1f5c765a3f5
BLAKE2b-256 checksum
How to use checksums
28752153da3bdd6926a0ff117716548f72585427064d993a06be98dbd405d407
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release files / ipython_sqlcmd-0.1.3-py3-none-any.whl

Download URL ipython_sqlcmd-0.1.3-py3-none-any.whl
Size 14.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
157a494d0e5bf95611379291a6014b451eb50a8a182619acdbdaa5cfd47b968e
BLAKE2b-256 checksum
How to use checksums
3dee84481dfe13d2e691d3373080b1d9db2792b5da92dd6321c81f1787b54f9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page