BORRAR DATOS EN TABLAS CON PHP Y MySQL. DIFERENCIA ENTRE DELETE Y TRUNCATE. SELECT CON WHERE. (CU00844B)



Documentos relacionados
PHP INSERT INTO VALUES. INSERTAR DATOS (REGISTROS O FILAS) EN BASE DE DATOS MySQL. EJEMPLOS Y EJERCICIO RESUELTO (CU00843B)

TIPOS DE BUCLES O CICLOS DE REPETICIÓN EN PHP: WHILE, DO WHILE Y FOR. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00822B)

DESCARGAR E INSTALAR EL CLIENTE FTP FILEZILLA. TRABAJAR EN UN SERVIDOR REMOTO. (CU00810B)

MATRICES Y ARRAYS (ARREGLOS) MULTIDIMENSIONALES EN PHP. EJERCICIOS RESUELTOS. EJEMPLOS (CU00824B)

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

EJEMPLO DE CONSULTA PHP MYSQL. SELECT. USO DEL BUCLE WHILE CON MYSQLI_FETCH_ARRAY PARA EXTRAER LOS RESULTADOS DE UNA CONSULTA.

CONSULTAS BÁSICAS A BASE DE DATOS CON PHP. mysqli_connect, select_db, query, data_seek, fetch_array, free_result. EJEMPLOS.

CONFIGURACIÓN BÁSICA DE NOTEPAD++ PARA CREAR PÁGINAS PHP. ALGUNAS VENTAJAS DE ESTE EDITOR COMO SUS EXTENSIONES O PLUGINS.

CONFIGURACIÓN BÁSICA DE NOTEPAD++. AUTOCOMPLETAR Y OTRAS VENTAJAS DE NOTEPAD++. (CU00709B)

CONDICIONALES EN PHP: IF ELSE, IF ELSE IF. CONDICIONAL TERNARIO. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00817B)

QUÉ ES Y PARA QUÉ SIRVE JAVASCRIPT? EMBEBER JAVASCRIPT EN HTML. ALTERNATIVAS. EJEMPLO SENCILLO. (CU00730B)

Creación de una Base de datos

PROCESAR DATOS DE UN FORMULARIO HTML EN PHP CON $_POST. EJERCICIOS RESUELTOS Y EJEMPLOS. (CU00834B)

DESCARGAR E INSTALAR EL NAVEGADOR. VENTAJAS DE GOOGLE CHROME. VISUALIZAR PÁGINAS PHP. (CU00811B)

La ayuda y referencia de Visual Basic y otros recursos como herramientas para los programadores. (CU00306A)

Configuración de módulos con Joomla: orden, acceso, asignación. Ejemplo con un menú. (CU00416A)

QUÉ ES JAVASCRIPT? PRINCIPALES USOS. SERVIDOR Y CLIENTE. HTML, CSS Y PROGRAMACIÓN. EFECTOS DINÁMICOS (CU01103E)

Uso de centinelas para la toma de decisiones. Esquemas y diagramas de flujo. Ejemplos resueltos. (CU00167A)

TUTORIAL PARA CREAR UNA PHPWEBQUEST

PHP/Mysql Pasos fundamentales

OPERADORES LÓGICOS JAVASCRIPT. EJEMPLOS. RELACIONALES MAYOR, MENOR, IGUAL, DISTINTO. AND, OR, NOT. CORTO- CIRCUITO (CU01117E)

Moodle, plataforma de aprendizaje

OPERADORES ARITMÉTICOS EN PHP: OPERADORES BÁSICOS Y RESTO (MÓDULO). INCREMENTO Y DECREMENTO. (CU00819B)

CÓMO CREAR UNA BASE DE DATOS MySQL PARA PRACTICAR CON PHP. ACCESO AL GESTOR phpmyadmin. (CU00839B)

EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B)

REPASO ARRAYS MULTIDIMENSIONALES EN JAVA. DECLARACIÓN Y USO. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00905C)

DaVinciTEXTIL. Codificación de artículos

Gestión y organización de artículos Clasificación en secciones, categorías y subcategorías Joomla. Ejemplos. (CU00422A)

EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F)

Configuración de protocolos TCP/IP

Ayuda. Mensajes del sistema. Iniciar/Cerrar sesión. Iconos del panel de control

EJERCICIOS BÁSICOS DE PROGRAMACIÓN EN C RESUELTOS. VARIABLES, PRINTF, SCANF, CÁLCULOS. (CU00527F)

Características del lenguaje SQL

Una hoja de cálculo es un tipo de documento en el que

Í n d i c e d e t a l l a d o

EJERCICIOS RESUELTOS. EJEMPLOS CON NÚMEROS ALEATORIOS EN JAVA. RANDOM NEXTINT, NEXTDOUBLE, ETC. (CU00909C)

Utilización del menú Formato de Celdas

Despega Recarga. MANUAL DE USUARIO Cómo realizar una recarga?

APÉNDICE D. INTRODUCCIÓN A SQL

FUNCIONES PHP PARA CADENAS: STR_REPLACE, STRTOLOWER, TOUPPER, COUNT_CHARS, STRPOS, TRIM, STR_REPEAT, STRSTR, CHR. EJEMPLOS.

LABORATORIO Nº 5 FORMULARIOS EN EXCEL

EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO.

Uso de plantillas y documentos Office

EJERCICIO 2 DE ACCESS ACCESS EJERCICIO 2 CONSULTAS SENCILLAS. Una consulta en Access sólo tiene sentido cuando se quiere:

Organización de los contenidos en Joomla!

formato condicional en Excel formato condicional en Excel

CERTIKIN IBERICA. l i e n t e s. contenido. - Introducción - Página Inicio - Conexión - Información de la cuenta - Navegación

Práctica 2 Estadística Descriptiva

Crea una tabla para los ingredientes. No olvides añadir la clave principal. Recuerda también añadir el prefijo con el nombre de la tabla a los campos.

SQL Server Definición de los índices

Módulos Joomla Flash noticias de actualidad, contenido más leído o más popular y artículos archivados. (CU00433A)

PRUEBA DE NIVEL DE ACCES

BASE DE DATOS ARTICULOS DE COMPUTACION.

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

GUIA PRACTICA PARA LA APLICACIÓN DE MS EXCEL TECNOLOGIA/ INFORMATICA

CREACIÓN DE SOBRES, ETIQUETAS Y CARTAS PERSONALES

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)

Tutorial para enviar artículos revista d innovació educativa

PANEL DE CONTROL DE WINDOWS

Introducción a las sentencias de control

LECTURA Y ESCRITURA (fwrite) DE ARCHIVOS DE TEXTO CON PHP. MODOS DE ACCESO. EJERCICIOS RESUELTOS Y EJEMPLOS. (CU00837B)

Select Case Visual Basic. Palabras clave To, Is. Instrucción Según (Caso) Hacer. Ejemplos y ejercicios resueltos (CU00325A)

Media Manager o Gestor Multimedia Joomla. Configuración y opciones. Aspectos de seguridad. (CU00438A)

Manual de Sentencias Básicas en SQL

UNIDAD 3 FUNCIONES, FÓRMULAS Y MANIPULACIONES

Instituto Tecnológico de Altamira

Importante Recuerda que el espacio en disco asignado a las carpetas IMAP está limitado. Sólo podrás subir mensajes si queda espacio suficiente.

PERIODO 2 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS BASICOS DE MICROSOFT ACCESS

Instalar componentes, Insertar videos en PowerPoint, subir videos a Youtube.com Ing.Esp. Gustavo Sánchez Rodríguez

UNIVERSIDAD TECNOLOGICA IZUCAR DE MATAMOROS TICSI SISTEMAS OPERATIVOS LIC. EDITH VARGAS MORALES ALUMNA: DURÁN VARGAS CLAUDIA MATRICULA:

Capítulo 2. Cómo utilizar la ayuda

EVALUACIÓN DE DIAGNÓSTICO GUÍA PARA LA APLICACIÓN ON LINE

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

Manual Blogger. Introducción

AJAX: EJEMPLOS EFECTOS Y USO EN DESARROLLOS WEB CON HTML, CSS, JAVASCRIPT VENTAJAS E INCONVENIENTES (CU01205F)

FORMULARIOS EN HTML. ETIQUETAS FORM Y LABEL. NAME, VALUE, ID. CONTROLES: CHECKBOX, OPTION BUTTON (RADIO) Y COMBOBOX. (CU00720B)

5.1 Modos de visualización de la Biblioteca

ACTIVIDAD PRÁCTICA 5 BASES DE DATOS

CONCEPTO O DEFINICIÓN DE HERENCIA EN JAVA Y EN PROGRAMACIÓN ORIENTADA A OBJETOS. QUÉ ES? EXTENDS. EJEMPLOS. (CU00684B)

FUNCIONES DE CADENAS DE CARACTERES (STRINGS) EN PHP. CONCATENACIÓN. STRLEN (LONGITUD) Y SUBSTR (EXTRAER SUBCADENA). (CU00821B)

Calidad del software. Métricas y fiabilidad de aplicaciones (2ª parte) (DV00104A)

MANUAL DE SYMBALOO Autor: Javier Prieto Pariente

SUBCONSULTAS SQL. Cuando se ejecuta una consulta que contiene una subconsulta, la subconsulta se ejecuta por cada fila de la consulta principal.

MATRICES, ARREGLOS O ARRAYS DE ELEMENTOS GRÁFICOS EN JAVA. EJEMPLO CON JLABEL Y JTEXTFIELD. (CU00930C)

1.- CREACIÓN DE CONSULTAS.

Dirección de Operaciones. SESIÓN # 5: El método simplex. Segunda parte.

Creación de una base de datos de Videojuegos con Access

Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información.

departamento NUMBER(3) FK (DEPARTAMENTOS.CODIGO) salario NUMBER(3) NOT NULL fecha_alta DATE NOT NULL jefe NUMBER(5) FK (EMPLEADOS.

1. Actividades previas: Actualizar el perfil personal

Índice Introducción Acceso al portal Spontania... 4 Descarga cliente de Mensajería Instantánea... 8 Acceso a Encuestas...

Configuración correo en Oficinas Locales

1.1 CONFIGURACIÓN DE LAS OPCIONES DE WORD

SI ERES COLABORADOR DE PALAU NO DEBES CREAR TU CUENTA G-MAIL, SINO USAR TU E- MAIL MANGO. PINCHA AQUÍ PARA DIRIGIRTE DIRECTAMENTE AL ALTA DEL PORTAL

LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B)

GENERAR NÚMEROS O SECUENCIAS ALEATORIOS EN C. SRAND Y RAND. TIME NULL. RAND_MAX. (CU00525F)

INSTRUCCIONES DE USO DE LA BASE DE DATOS DE EXPERTOS EN SEGURIDAD ALIMENTARIA Y NUTRICIÓN

INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL

Transcripción:

APRENDERAPROGRAMAR.COM BORRAR DATOS EN TABLAS CON PHP Y MySQL. DIFERENCIA ENTRE DELETE Y TRUNCATE. SELECT CON WHERE. (CU00844B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha revisión: 2029 Resumen: Entrega nº44 del Tutorial básico PHP desde cero. Autor: Enrique González Gutiérrez y César Krall

BORRADO DE DATOS CON PHP Y MySQL. Una tarea habitual con bases de datos será el tener que borrar cierta información. Vamos a ver cómo realizar el borrado de ciertos registros que cumplan una condición y el borrado completo de todos los registros (filas) de una tabla. Para ello utilizaremos dos expresiones para operaciones (consultas) sobre bases de datos que describiremos a continuación: delete y truncate. SENTENCIA DELETE Y CLÁUSULA WHERE La sentencia DELETE se suele usar para borrar unos registros de una tabla que cumplen una o varias condiones. Vamos a utilizar una sintaxis de este tipo: mysqli_query($link, " DELETE FROM nombretabla WHERE columna (>, <, =, etc.) valorespecificado "); Aquí estamos empleando la cláusula WHERE que nos sirve para indicar una condición. Por ejemplo DELETE FROM agenda WHERE altura > 1.90 significa borrar todas las filas de la tabla agenda en las que en la columna altura exista un valor mayor que 1.90. Fíjate que al indicar mayor (y no mayor o igual) una fila donde la altura sea exactamente 1.90 no será borrada. La cláusula WHERE también puede ser aplicada cuando hacemos consultas de tipo SELECT. Por ejemplo en entregas anteriores del curso usamos SELECT * FROM agenda como consulta que nos devolvía todas las filas de la tabla agenda. Si escribiéramos SELECT * FROM agenda WHERE edad <= 35 obtendríamos como resultado todas las filas de la tabla agenda donde la columna edad contiene un valor menor o igual a 35. En una cláusula where podemos establecer una condición de igualdad (=) pero también podremos usar otras condiciones como mayor (>), menor(<), mayor o igual (>=), menor o igual (<=), y también condiciones múltiples y condiciones más complejas, pero no vamos a entrar en detalles sobre esto ahora. Igual que podemos hacer una consulta para obtener todas las filas de una tabla, también podremos borrar todos los registros de una tabla en concreto y, para ello, sólo basta con omitir las condiciones, es decir, hacer una consulta escribiendo lo siguiente: DELETE FROM nombretabla Obviamente es peligroso hacer consultas de borrado de datos con bases de datos importantes, ya que un error a la hora de escribir la consulta puede dar lugar a la pérdida de datos. Nosotros estamos trabajando con una base de datos de pruebas, por lo que no nos preocuparemos por esta cuestión.

EJEMPLO Partiremos de nuestra base de datos donde tenemos una tabla denominada agenda con los siguientes datos: nombre apellidos direccion telefono edad altura Manuel Jesús López de la Rosa C/Juan Bautista Nº 3 658954875 32 1.80 María Manzano Cabezas C/Arco del triunfo Nº 7 695001002 19 1.99 Pedro Somoza Castro C/Solera nº88, B 88834321 44 1.66 Juana Pérez Rozas Avda. Luarcato nº22 888111222 22 1.77 Pedro Gómez Gómez C/Buenaventura 54 699887766 35 1.98 Antonio Delgado Folken C/ El Milagroso 77 699667744 88 1.71 Para no afectar a esta tabla, vamos a duplicar la tabla. Esto lo podemos hacer manualmente, pero también podemos hacerlo de forma automática con phpmyadmin. Para ello accede al panel de administración de tu servidor, luego a phpmyadmin, pulsa sobre el nombre de la base de datos y luego sobre la tabla. Ahora vete a la pestaña Operaciones y busca la opción Copiar la tabla a:. Pon como nombre agenda2 y elige la opción Copiar estructura y datos. Pulsa en continuar. Una vez hecho esto podrás comprobar que en la base de datos tienes dos tablas: agenda y agenda2 (tabla que acabamos de copiar con los mismos datos que teníamos en agenda). Escribe este código en un editor y guárdalo en un archivo con un nombre como ejemplo1.php. Ten en cuenta que deberás introducir los datos de tu propia base de datos (nombre, user, etc.). <?php //Ejemplo curso PHP aprenderaprogramar.com $link = mysqli_connect("sql203.byethost7.com", "b7_10356956", "*****"); mysqli_select_db($link, "b7_10356956_mibasededatos"); mysqli_query($link, "DELETE FROM agenda2 WHERE altura > 1.90"); mysqli_close($link); // Cerramos la conexion con la base de datos echo 'Se ha ejecutado la consulta sobre la base de datos';?> Ejecuta el código. Con este ejercicio borraremos los registros de la tabla agenda cuya altura sea mayor que 1.90, es decir, en la tabla agenda dejará de haber personas con altura superior a 1.90 porque habrán sido borrados. Comprueba con phpmyadmin que la tabla ha quedado así: nombre apellidos direccion telefono edad altura Manuel Jesús López de la Rosa C/Juan Bautista Nº 3 658954875 32 1.80 Pedro Somoza Castro C/Solera nº88, B 88834321 44 1.66 Juana Pérez Rozas Avda. Luarcato nº22 888111222 22 1.77 Antonio Delgado Folken C/ El Milagroso 77 699667744 88 1.71

SENTENCIA TRUNCATE La sentencia TRUNCATE sirve para borrar todos los registros de una tabla, al igual que hacíamos con la función DELETE sin condiciones, pero tiene algunas diferencias con ésta que explicaremos más adelante. La sintaxis a emplear es: mysqli_query($link, " TRUNCATE TABLE nombretabla"); Al igual que las operaciones de tipo DELETE, esta operación es peligrosa en el sentido de que si se ejecuta erróneamente puede dar lugar a la pérdida de datos. EJEMPLO Escribe este código en un editor y guárdalo en un archivo con un nombre como ejemplo2.php. Ten en cuenta que deberás introducir los datos de tu propia base de datos (nombre, user, etc.). Ejecuta el código sobre la tabla agenda2 para proceder al borrado de todas las filas de esta tabla. <?php //Ejemplo curso PHP aprenderaprogramar.com $link = mysqli_connect("sql203.byethost7.com", "b7_10356956", "*****"); mysqli_select_db($link, "b7_10356956_mibasededatos"); mysqli_query($link, "TRUNCATE TABLE agenda2"); mysqli_close($link); // Cerramos la conexion con la base de datos echo 'Se ha ejecutado la consulta TRUNCATE';?> Con este código borraremos todos los registros de la tabla agenda. Accede a la tabla a través de phpmyadmin y comprueba que no existen registros. Cuál es la diferencia entre usar delete sin condiones y usar truncate? Vamos a explicarla a continuación.

DIFERENCIAS ENTRE DELETE Y TRUNCATE a) Ambas eliminan los datos, no la estructura de la tabla. b) Sólo DELETE permite la eliminación condicional de los registros (es decir, borrar sólo ciertas filas), TRUNCATE no lo permite. c) TRUNCATE es más rápida que DELETE. d) TRUNCATE reiniciará el contador para una tabla que contenga una clave autoincrementada. Si en nuestra tabla agenda tuviéramos un campo id autoincremental 1, 2, 3, 4, 5 n (hasta el número de registros existentes) al hacer TRUNCATE el contador volverá a empezar en 1. En cambio DELETE mantendrá el contador de la tabla para una clave autoincrementada. Es decir, si borramos todos los registros de una tabla que tenía un campo contador autoincremental cuyo último valor era 3257, al insertar un dato después del borrado el valor del contador será 3258 en lugar de 1. e) TRUNCATE recrea una tabla, es decir, la tabla desaparece completamente y luego es creada de nuevo, mientras que DELETE no hace que desaparezca la tabla, sólo elimina sus registros. CUÁNDO USAR DELETE Y TRUNCATE Usar TRUNCATE es más rapido que DELETE si vas a borrar toda una tabla y no te importan los indices (claves autoincrementadas) o bien quieres resetearlos (hacer que vuelvan a empezar desde 1). Usar DELETE para borrados selectivos (borrar determinados registros manteniendo otros). Hay otras cuestiones que se deben tener en cuenta, pero no te preocupes por esto ahora, lo irás descubriendo a medida que avances en conocimientos de programación y bases de datos. EJERCICIO 1 Realiza una consulta y muestra por pantalla los datos correspondientes a filas de la tabla agenda donde la edad sea mayor o igual que 20 y la altura sea mayor o igual que 1.75. Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com. EJERCICIO 2 Crea una tabla que sea copia de agenda a la que denomines agenda3 y un archivo php que al ejecutarlo realice los siguientes procesos:

a) Mostrar el contenido inicial de la tabla agenda3 por pantalla. b) Eliminar todos los registros de la tabla agenda3 cuyo campo edad sea mayor o igual a 34 y mostrar el contenido actual de la tabla por pantalla. c) Insertar dos nuevos registros en la tabla agenda3 (elige tú unos datos cualquiera) y mostrar el contenido actual de la tabla por pantalla. d) Eliminar todos los registros de la tabla agenda3 usando TRUNCATE y mostrar el contenido actual de la tabla por pantalla. e) Insertar tres nuevos registros en la tabla agenda3 (elige tú unos datos cualquiera) y mostrar el contenido actual de la tabla por pantalla. f) Eliminar todos los registros de la tabla agenda usando DELETE sin condiciones y mostrar el contenido actual de la tabla por pantalla. Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com. Próxima entrega: CU00845B Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente: http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&itemid=193