Conéctese e interactúe con SQL Server usando Python

Conéctese e interactúe con SQL Server usando Python

import pymssql

def conn():
    # 建立连接
    connect = pymssql.connect(host='host_name',
                              user='user_name',
                              password='password_name',
                              database='database_name')  # 服务器名,用户名,密码,数据库名

    if connect:
        print('Successfully connect!')

    cursor = connect.cursor()  # 创建游标对象,对SQL Server进行的SQL语句操作都需通过游标对象
    cursor.execute('select * from table_name')  # 执行SQL语句,进行相应操作
    result = cursor.fetchall()  # 获取所有查询结果;返回一个由元组组成的列表,每一行数据就是一个元组,如果没有数据可获取,则返回一个空列表
    
    cursor.close()  # 关闭游标
    connect.close()  # 关闭连接,释放资源

    return result

if __name__ == '__main__':
    result = conn()

    for row in result:
        print(row)

Varias formas de obtener datos:

  • cursor.fetchone() # Devuelve un registro como una tupla, o Ninguno si no hay datos
  • cursor.fetchmany(num) # Devuelve varios registros en forma de lista, cada elemento de la lista es una tupla que contiene un registro
  • cursor.fetchall() # Devuelve todos los registros en forma de lista, cada elemento de la lista es una tupla que contiene un registro

El cursor es como un puntero en lenguaje C. Se moverá a una determinada posición cada vez que se opere. Si no se especifica que regrese al principio, continuará moviéndose la próxima vez a lo largo de la posición actual.

cursor = connect.cursor()
cursor.execute('select * from table_name')
result1 = cursor.fetchone()  # 返回表中第一行数据
result2 = cursor.fetchmany(3)  # 游标从第二行开始,返回表中的2、3、4行数据
cursor = connect.cursor()
cursor.execute('select * from table_name')
result1 = cursor.fetchone()  # 返回表中第一行数据
cursor.execute('select * from table_name')  # 让游标回到开头
result2 = cursor.fetchmany(3)  # 返回表中的1、2、3行数据

Sentencias comunes de SQL:

  • CREAR: se usa para crear una nueva base de datos o tabla
    CREAR BASE DE DATOS nombre_base_datos # Crear una base de datos llamada nombre_base_datos
    CREAR TABLA estudiante (id INT, nombre VARCHAR(20), edad INT, sexo VARCHAR(10)) # Crear una base de datos llamada estudiante Tabla, incluyendo cuatro campos de id, nombre, edad y sexo

  • ALTER: se utiliza para modificar la base de datos o la tabla

    ALTER TABLE estudiante AÑADIR COLUMNA correo electrónico VARCHAR(50) # Modificar la tabla llamada estudiante y agregar un campo de correo electrónico

  • ACTUALIZAR: se usa para actualizar registros existentes
    ACTUALIZAR estudiante SET nombre='Lucy' WHERE id=1 # Cambiar el nombre en el registro con id 1 en la tabla de estudiantes a Lucy
    ACTUALIZAR estudiante SET sexo='Masculino' # Sin condiciones Modificar, todos los se modificarán los valores de la columna sexo

  • DELETE: se usa para eliminar registros de la tabla
    DELETE FROM student WHERE id=1 # Elimina el registro con id 1 en la tabla
    DELETE FROM student # Elimina todos los datos de la tabla

  • INSERTAR: Se usa para insertar nuevos registros en la tabla
    INSERTAR EN VALORES del estudiante (nombre, edad) ('Tom', 20) # Insertar un nuevo registro en la tabla del estudiante, incluidos algunos valores de columna
    INSERTAR EN VALORES del estudiante (10, ' Jack ', 25, 'Masculino') # Insertar un nuevo registro en la tabla de estudiantes, incluidos todos los valores de columna

  • SELECCIONAR: se utiliza para recuperar datos de la tabla y devolver los resultados de la búsqueda de acuerdo con las condiciones
    SELECCIONAR * DE estudiante DONDE edad > 18 # Recuperar todos los registros cuya edad es mayor de 18 años de la tabla de estudiantes
    SELECCIONAR nombre, edad DE estudiante # Recuperar nombre , edad de la tabla de estudiantes Lista

  • Consultar registros cuya edad sea mayor o igual a 20 y menor o igual a 30
    SELECT * FROM estudiante WHERE edad >= 20 && edad <= 30
    SELECT * FROM estudiante WHERE edad >= 20 AND edad <= 30
    SELECT * FROM estudiante DONDE edad ENTRE 20 Y 30

  • Consultar registros cuya edad sea 18, 22, 25
    SELECT * FROM estudiante WHERE edad = 18 OR edad = 22 OR edad = 25
    SELECT * FROM estudiante WHERE edad IN (18, 22, 25)

  • Consultar registros cuyas calificaciones en inglés no sean NULL
    SELECCIONE * FROM estudiante DONDE english_score NO ES NULO

  • Consulta aproximada
    SELECT * FROM estudiante WHERE nombre LIKE '马%' # Consultar el registro cuya primera palabra es caballo
    SELECT * FROM estudiante WHERE nombre LIKE '_斯%' # Consultar el registro donde la segunda palabra es 斯
    SELECT * FROM estudiante WHERE nombre LIKE ' ___ ' # Consulta registros cuyo nombre tiene tres caracteres
    SELECT * FROM estudiante WHERE nombre LIKE '%gram%' # Consulta registros cuyo nombre contiene gramos

  • Consulta de deduplicación
    SELECCIONE un nombre DISTINTO DEL n.° de estudiante Consulte la columna de nombre y elimine los registros con valores duplicados

  • Consulta de clasificación
    SELECCIONE * DESDE estudiante ORDENAR POR edad # Orden ascendente predeterminado
    SELECCIONE * DESDE estudiante ORDEN POR edad desc # Orden descendente

Guess you like

Origin blog.csdn.net/weixin_48158964/article/details/131879701