Cómo conectarse a SQL Server usando Python

Cómo conectarse a SQL Server usando Python

Python es un lenguaje de programación utilizado para análisis de datos y aplicaciones de aprendizaje automático. Al conectar Python con el servidor SQL utilizando la biblioteca "PYODBC", podemos manipular fácilmente los datos en la base de datos de SQL Server desde Python.

En este artículo, cubriremos los conceptos básicos de conectarse a la base de datos de SQL Server utilizando la biblioteca de Python y "Pyodbc", incluida la configuración de una instancia de SQL Server y realizar operaciones básicas de CRUD en una tabla.

Creación de una tabla en SQL Server

Antes de que podamos conectarnos al servidor SQL usando Python, necesitamos crear una tabla en el servidor SQL con el que podamos trabajar. Creemos una tabla simple llamada tienda que contiene dos columnas: ID (entero) y elementos (cadena).

Crear mesa de mesa (
Id int null,
Elementos nchar (10) nulo
);
IR
Insertar en los valores de la tienda (ID, elementos) (1, 'Fútbol')
Insertar en los valores de taller (ID, elementos) (2, 'gelpen')
Insertar en los valores de taller (ID, elementos) (3, 'Copiar')
Insertar en los valores de la tienda (ID, elementos) (4, 'Libro')
Insertar en los valores de taller (ID, elementos) (5, 'máscara')
IR
Seleccionar * de la tienda


Este código crea la tabla del taller, inserta algunos datos de muestra y selecciona todas las filas de la tabla del taller. Podemos ejecutar este código en SSMS para crear una tabla.

Producción:

Artículos de identificación
1 1 fútbol
2 2 gelpen
3 3 copia
4 4 Libro
5 5 máscara

Uso de Python para conectarse a SQL Server

Una vez que creamos la tabla de taller en SQL Server, podemos conectarnos a ella usando Python y el módulo PYODBC. El módulo pyodbc es un módulo Python que nos permite conectarnos al servidor SQL y ejecutar las consultas SQL.

Podemos instalar "Pyodbc" ejecutando el siguiente comando en el símbolo del sistema o el terminal:

PIP install Pyodbc


Una vez que instalamos el PYODBC, podemos usar el siguiente código de Python para conectarse al servidor SQL:

importar pyodbc
conn = pyodbc.Connect ('Driver = ODBC Driver 17 para SQL Server; Server = Desktop-0nhntab; Database = School; Trusted_Connection = YES; UID = UserName; PWD = Password')


Este código crea una conexión con el servidor SQL utilizando el PyODBC.Función Connect (). El nombre de la base de datos, el nombre del servidor y la información de autenticación son necesarios para conectarse al servidor SQL.

Realizar operaciones básicas de CRUD usando Python

1. Leer los datos del servidor SQL

Una vez que establecemos una conexión con el servidor SQL, podemos realizar las operaciones RUD (Crear, leer, actualizar, eliminar) usando Python y el módulo PYODBC.

Para leer los datos de la tabla del taller, use el siguiente código de Python:

Def Read (Conn):
Imprimir ("Leer")
cursor = Conn.cursor()
cursor.ejecutar ("Seleccionar * de DBO.COMERCIO")
Para la fila en el cursor:
print (f'row = fila ')
imprimir()

2. Creación de datos en el servidor SQL

También podemos usar Python para crear datos en la base de datos de SQL Server. En este ejemplo, usamos la función "Insertar en" para agregar una nueva fila a la mesa de la tienda.

Def Crear (Conn):
Imprimir ("Crear")
cursor = Conn.cursor()
cursor.ejecutar(
'Insertar en DBO.Tienda (ID, artículos) Valores (?,?); ',
(123, 'gato')
)
conn.comprometerse()
Leer (Conn)

3. Actualización de los datos en el servidor SQL

Podemos usar Python para actualizar los datos existentes en la base de datos de SQL Server. En este ejemplo, utilizamos la instrucción de actualización para actualizar la columna de elementos para una fila con una ID que es igual a 123.

AFCUNTARIO DE DEF (CONN):
Imprimir ("Actualización")
cursor = Conn.cursor()
cursor.ejecutar(
'Actualizar DBO.Shop Set Artems = ? donde id = ?; ',
('perro', 123)
)
conn.comprometerse()
Leer (Conn)

4. Eliminar los datos del servidor SQL

También podemos usar Python para eliminar los datos de la base de datos de SQL Server. Se requiere la declaración "Eliminar" para eliminar todas las filas de la mesa de la tienda donde la identificación es mayor que 5.

Def Delete (Conn):
Imprimir ("Eliminar")
cursor = Conn.cursor()
cursor.ejecutar(
'Eliminar de DBO.Comprar donde id> 5; '
)
conn.comprometerse()
Leer (Conn)


Podemos llamar a las funciones anteriores para realizar las operaciones deseadas en la base de datos de SQL Server. Aquí está el código de Python completo que se conecta a la base de datos de SQL Server, lee los datos de la tabla del taller, crea nuevos datos, actualiza los datos existentes, elimina los datos y cierra la conexión a la base de datos.

importar pyodbc
conn = pyodbc.Connect ('Driver = ODBC Driver 17 para SQL Server; Server = Desktop-0nhntab; Database = School; Trusted_Connection = YES; UID = UserName; PWD = Password')
Def Read (Conn):
Imprimir ("Leer")
cursor = Conn.cursor()
cursor.ejecutar ("Seleccionar * de DBO.COMERCIO")
Para la fila en el cursor:
print (f'row = fila ')
imprimir()
Def Crear (Conn):
Imprimir ("Crear")
cursor = Conn.cursor()
cursor.ejecutar(
'Insertar en DBO.Tienda (ID, artículos) Valores (?,?); ',
(123, 'gato')
)
conn.comprometerse()
Leer (Conn)
AFCUNTARIO DE DEF (CONN):
Imprimir ("Actualización")
cursor = Conn.cursor()
cursor.ejecutar(
'Actualizar DBO.Shop Set Artems = ? donde id = ?; ',
('perro', 123)
)
conn.comprometerse()
Leer (Conn)
Def Delete (Conn):
Imprimir ("Eliminar")
cursor = Conn.cursor()
cursor.ejecutar(
'Eliminar de DBO.Comprar donde id> 5; '
)
conn.comprometerse()
Leer (Conn)
Leer (Conn)
Crear (Conn)
Actualización (Conn)
Eliminar (Conn)
conn.cerca()


Producción:

leer
fila = (1, 'fútbol')
fila = (2, 'gelpen')
fila = (3, 'copiar')
fila = (4, 'libro')
fila = (5, 'máscara')
crear
fila = (1, 'fútbol')
fila = (2, 'gelpen')
fila = (3, 'copiar')
fila = (4, 'libro')
fila = (5, 'máscara')
fila = (123, 'gato')
actualizar
fila = (1, 'fútbol')
fila = (2, 'gelpen')
fila = (3, 'copiar')
fila = (4, 'libro')
fila = (5, 'máscara')
fila = (123, 'perro')
borrar
fila = (1, 'fútbol')
fila = (2, 'gelpen')
fila = (3, 'copiar')
fila = (4, 'libro')
fila = (5, 'máscara')

Conclusión

El lenguaje de secuencias de comandos de Python se puede usar para conectarse a una base de datos de SQL Server. Usando "Pyodbc", podemos conectarnos fácilmente y manipular los datos en una base de datos de SQL Server desde Python. Cubrimos los conceptos básicos de configurar una instancia de SQL Server, crear una tabla en SSMS y realizar las operaciones CRUD en la mesa usando Python. Con el conocimiento obtenido de este artículo, ahora debería tener una base para crear una aplicación de gestión de datos más avanzada utilizando Python y SQL Server.