Introducción a la práctica de SQL para principiantes: eliminación de datos: instrucción DELETE (1)
Eliminar datos Declaración DELETE ( )
Eliminar información innecesaria es tan importante como ingresar la información en primer lugar. En el ejemplo de la base de datos BIBLIOTECA, un libro puede perderse o venderse. Entonces esta La información de este libro ya no necesita guardarse en la base de datos. SQL proporciona la declaración DELETE para manejar la situación de eliminar registros. Para eliminar todos los registros en una tabla, puede usar la siguiente declaración. p> DELETE FROM myLibrary;
p>En algunos RDBMS, no es necesario utilizar la palabra clave FROM y solo es necesario proporcionar el nombre de la tabla. Sin embargo, algunos RDBMS insisten en utilizar la palabra clave FROM para ejecutar. la declaración DELETE anterior. Todos los registros de la tabla se eliminarán de la base de datos. Solo queda una tabla vacía. Los lectores pueden descargar el mismo script INSERT de wrox o agilitator para volver a llenar los registros de la tabla. ¿Se pueden recuperar los registros eliminados? Depende de la situación. Para cancelar las operaciones realizadas en los datos en el RDBMS, todas las operaciones deben realizarse dentro de un contexto de transacción. Finalmente, todos los cambios deben confirmarse (haciéndolos permanentes) o las operaciones deben revertirse (. devolver los datos a su estado original). El capítulo analizará cuestiones relacionadas con el soporte de transacciones
Si combina la declaración DELETE con la cláusula WHERE introducida anteriormente, puede hacer que la operación de eliminación sea más compleja. selectivo Para eliminar específico La colección de registros solo necesita definir los criterios para eliminar registros en la cláusula WHERE. La siguiente consulta eliminará indiscriminadamente todos los registros que cumplan las condiciones de eliminación en la cláusula WHERE.
WHERE editor = Wiley;
Después de ejecutar la instrucción DELETE anterior, se eliminarán todos los libros publicados por Wiley Publishing House en la tabla, pero es posible que esta no sea la operación que necesitamos. ¿Cómo podemos eliminar cientos o miles de registros de la tabla? ¿Qué pasa si eliminamos un registro específico? Esto requiere especificar un conjunto de condiciones coincidentes para que los registros que cumplan todas las condiciones sean únicos en la tabla. Por ejemplo, el siguiente ejemplo
DELETE FROM myLibrary
WHERE Publisher = Wiley AND Pages. = ;
¿Esta condición de filtrado es necesariamente única? De hecho, aunque es poco probable, no es imposible que una base de datos más grande tenga más de un registro que cumpla las dos condiciones anteriores al mismo tiempo. Una mejor manera es utilizar el número ISBN porque es único.
BORRAR DE miBiblioteca
WHERE i *** n= ;
¿Qué hacer si no hay un identificador único en el registro? Hay varias otras formas de garantizar la unicidad de un registro en una tabla (consulte los Capítulos 1 y 2), pero aquí primero presentamos el concepto de columna especial. En comparación con otras columnas, la función de una columna especial es identificar de forma única. un registro en la tabla. Un registro también se denomina clave primaria. Si los registros están numerados cuando se ingresan en la tabla, estos números son una forma conveniente de hacer referencia a un registro específico si no se permiten números duplicados para casos especiales. columnas, entonces no será posible eliminar un solo registro. Desafortunadamente, definir dicha columna requiere modificar la estructura de la tabla.
Intente eliminar registros en la tabla.
A continuación se eliminarán algunos registros en la tabla creada por Microsoft SQL Server. Repita los pasos ( ) a ( ) del primer ejercicio de prueba de este capítulo para prepararse para ingresar y ejecutar comandos SQL.
( ) Lo siguiente. La consulta eliminará la tabla MYLIBRARY. Todos los registros
USE biblioteca
DELETE myLibrary
(filas afectadas).
)
( ) Haga clic en el botón Ejecutar ubicado en la barra de herramientas superior como se muestra en la figura anterior
( ) Vuelva a insertar el registro a continuación
USE biblioteca;
INSERTAR EN myLibrary (título autor idioma_libro editor páginas autor
fecha_publicación i *** n) VALORES (Biblia SQL Alex Kriegel Inglés Wiley
Boris M Trukhnov Abril )
INSERT INTO myLibrary (título autor libro_idioma editor páginas fecha_publicación
i *** n) VALORES (Curso intensivo de fin de semana de Microsoft SQL Server Alex Kriegel
Inglés Wiley Octubre )
INSERTAR EN myLibrary (título autor libro_idioma editor páginas fecha_publicación
i *** n) VALORES (Mindswap Robert Sheckley English Orb Books mayo
)
INSERT INTO myLibrary(título autor libro_idioma editor páginas fecha_publicación
i *** n) VALORES (Jonathan Livingston Gaviota Richard Bach Inglés MacMillan
)
INSERT INTO myLibrary (título autor libro_idioma editor páginas fecha_publicación
i *** n) VALORES (Una breve historia de casi todo Bill Bryson
Octubre en Broadway en inglés)
? Volver al índice Una introducción al SQL práctico para principiantes
? Recomendación del editor
? ¿Alto rendimiento? MySQL lishixinzhi/Artículo/programa/SQL /201311/16480