En este tutorial, aprenderá cómo utilizar MySQL DELETE
comunicado a los datos de borrado de una sola tabla.
1. MySQL BORRAR presentación de los estados
Para los datos de borrado de una tabla, utilice el MySQL DELETE
comunicado. El siguiente ejemplo ilustra la DELETE
sintaxis de la instrucción:
DELETE FROM table_name
WHERE condition;
En la instrucción de consulta más arriba -
- En primer lugar, especificar los datos de tabla eliminada (
table_name
). - En segundo lugar, para especificar las condiciones de uso en las
WHERE
filas cláusula de borrado. Si la línea condición de coincidencia, se eliminarán estas filas.
Tenga en cuenta que
WHERE
la cláusula es opcional. Si se omite laWHERE
cláusula, laDELETE
declaración será eliminar todas las filas de la tabla.
Además de los datos de borrado de la tabla, los DELETE
rendimientos de los estados el número de registros borrados.
Para utilizar una sola DELETE
declaración para eliminar datos de varias tablas, la próxima leer un tutorial introductorio BORRAR JOIN .
Para eliminar todas las filas de la tabla, sin la necesidad de saber cuántos registros se borran, se debe utilizar TRUNCATE TABLE declaración para obtener un mejor rendimiento de ejecución.
Para una restricción de clave externa mesa, cuando se eliminan las filas de la tabla primaria, las filas sub-tabla mediante la CASCADE en Eliminar automáticamente la opción de borrar.
2. MySQL ejemplos DELETE
Vamos a utilizar la base de datos de muestra (yiibaidb) en la employees
mesa de presentación.
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | emp_id | int(11) | NO | PRI | NULL | auto_increment | | emp_name | varchar(255) | NO | | NULL | | | performance | int(11) | YES | MUL | NULL | | | salary | float | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+ 4 rows in set
Tenga en cuenta que una vez que se eliminan datos, desaparecerá para siempre. Por lo tanto, la implementación de
DELETE
las declaraciones anteriores, debe copia de seguridad de la base de datos , en caso de que desee recuperar borrados o datos.
Supongamos que usted quiere eliminar officeNumber
a 4
los empleados, utilizar las DELETE
declaraciones y WHERE
cláusulas como la siguiente consulta:
DELETE FROM employees
WHERE
officeCode = 4;
Para eliminar employees
todas las filas de la tabla, el uso sin DONDE cláusula de DELETE
declaración de la siguiente manera:
DELETE FROM employees;
Después de ejecutar la consulta anterior, employees
todas las filas de la tabla se elimina.
MySQL BORRAR y cláusula LIMIT
Si desea limitar el número de filas que desea borrar, utilice el LÍMITE cláusula, de la siguiente manera:
DELETE FROM table
LIMIT row_count;
Tenga en cuenta que la línea no especifica el orden en la tabla, por lo que cuando se utiliza LIMIT
cuando la cláusula siempre debe utilizar la ORDER BY
cláusula, o registros de borrado puede no ser lo que usted espera.
DELETE FROM table_name
ORDER BY c1, c2, ... LIMIT row_count;
Tenga en cuenta la base de datos de ejemplo (yiibaidb) en la customers
tabla, que la mesa está estructurado como sigue:
mysql> desc customers;
+------------------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+---------------+------+-----+---------+-------+ | customerNumber | int(11) | NO | PRI | NULL | | | customerName | varchar(50) | NO | | NULL | | | contactLastName | varchar(50) | NO | | NULL | | | contactFirstName | varchar(50) | NO | | NULL | | | phone | varchar(50) | NO | | NULL | | | addressLine1 | varchar(50) | NO | | NULL | | | addressLine2 | varchar(50) | YES | | NULL | | | city | varchar(50) | NO | | NULL | | | state | varchar(50) | YES | | NULL | | | postalCode | varchar(15) | YES | | NULL | | | country | varchar(50) | NO | | NULL | | | salesRepEmployeeNumber | int(11) | YES | MUL | NULL | | | creditLimit | decimal(10,2) | YES | | NULL | | +------------------------+---------------+------+-----+---------+-------+ 13 rows in set
Por ejemplo, la siguiente declaración del nombre del cliente ordenada alfabéticamente al cliente y eliminar los primeros 10
clientes:
DELETE FROM customers
ORDER BY customerName
LIMIT 10;
Del mismo modo, la siguiente DELETE
instrucción selecciona Francia ( Francia clientes), y con el fin de ascender por el crédito ( creditLimit
) para ordenar y eliminar los primeros 5
clientes:
DELETE FROM customers
WHERE country = 'France' ORDER BY creditLimit LIMIT 5;
En este tutorial, que ha aprendido cómo utilizar MySQL DELETE
declaración para eliminar datos de la tabla.