Eliminar datos de la tabla de MySQL

En este tutorial, aprenderá cómo utilizar MySQL DELETEcomunicado 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 DELETEcomunicado. El siguiente ejemplo ilustra la DELETEsintaxis de la instrucción:

DELETE FROM table_name
WHERE condition;
SQL

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 WHEREfilas cláusula de borrado. Si la línea condición de coincidencia, se eliminarán estas filas.

Tenga en cuenta que WHEREla cláusula es opcional. Si se omite la WHEREcláusula, la DELETEdeclaración será eliminar todas las filas de la tabla.

Además de los datos de borrado de la tabla, los DELETErendimientos de los estados el número de registros borrados.

Para utilizar una sola DELETEdeclaració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 employeesmesa 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 
SQL

Tenga en cuenta que una vez que se eliminan datos, desaparecerá para siempre. Por lo tanto, la implementación de DELETElas 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 officeNumbera 4los empleados, utilizar las DELETEdeclaraciones y WHEREcláusulas como la siguiente consulta:

DELETE FROM employees 
WHERE
    officeCode = 4; 
SQL

Para eliminar employeestodas las filas de la tabla, el uso sin DONDE cláusula de DELETEdeclaración de la siguiente manera:

DELETE FROM employees;
SQL

Después de ejecutar la consulta anterior, employeestodas 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; 
SQL

Tenga en cuenta que la línea no especifica el orden en la tabla, por lo que cuando se utiliza LIMITcuando la cláusula siempre debe utilizar la ORDER BYcláusula, o registros de borrado puede no ser lo que usted espera.

DELETE FROM table_name
ORDER BY c1, c2, ... LIMIT row_count; 
SQL

Tenga en cuenta la base de datos de ejemplo (yiibaidb) en la customerstabla, 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 
SQL

Por ejemplo, la siguiente declaración del nombre del cliente ordenada alfabéticamente al cliente y eliminar los primeros 10clientes:

DELETE FROM customers
ORDER BY customerName
LIMIT 10; 
SQL

Del mismo modo, la siguiente DELETEinstrucción selecciona Francia ( Francia clientes), y con el fin de ascender por el crédito ( creditLimit) para ordenar y eliminar los primeros 5clientes:

DELETE FROM customers
WHERE country = 'France' ORDER BY creditLimit LIMIT 5; 
SQL

En este tutorial, que ha aprendido cómo utilizar MySQL DELETEdeclaración para eliminar datos de la tabla.



Supongo que te gusta

Origin www.cnblogs.com/borter/p/12452684.html
Recomendado
Clasificación