tabla

Creación de tabla dentro de MySQL con migración de Laravel

CRUD de Laravel con MySQL: administrador de canciones

CRUD de Laravel con MySQL o MariaDB

Hoy toca el turno de Laravel (un framework de PHP) para conectarse a la base de datos más popular: MySQL.

Creación de tabla dentro de MySQL con migración de Laravel

Creación de tabla dentro de MySQL con migración de Laravel

En este post voy a explicar cómo conectar Laravel con MySQL o MariaDB, comenzando por configurar la base de datos, pasando a través de las rutas, repasando el motor de plantillas de Blade y tocando un poco el tema de los mensajes flash.

Al final vamos a tener un CRUD o ABC, en donde se verán las operaciones básicas de Laravel con MySQL: insert o insertar, update o actualizar, select o seleccionar y finalmente delete o eliminar.

Continue reading…

Eliminar y vaciar tablas de una base de datos de MySQL

Eliminar todas las tablas de una base de datos de MySQL

En este post veremos cómo eliminar todas las tablas de una base de datos en MySQL. Estos comandos también deberían funcionar correctamente en MariaDB.

Vamos a ver más de una forma de vaciar una base de datos; porque en algunos casos no tenemos permisos para realizar determinada acción (por ejemplo, crear y eliminar bases de datos) o no queremos tocar otra estructura de la base de datos, sino únicamente quitar las tablas.

Continue reading…

Eliminar todos los datos de una tabla en CodeIgniter

En un trabajo que estoy realizando intenté hacer un delete de este tipo en CodeIgniter:

$this->db->delete("la_tabla");

Cosa que permitiría eliminar todos los elementos de una tabla, pero no fue así y en su lugar salió el mensaje:

Deletes are not allowed unless they contain a “where” or “like” clause.

Que quiere decir que las eliminaciones no están permitidas si no les pones un where o un like. Pero si ejecutamos:

delete from mi_tabla;

En una consola de MySQL, todo va bien. Bueno, no importa, el problema fue con CodeIgniter y la solución es realmente sencilla.

Continue reading…

Obtener columnas de una tabla de MySQL con PHP

Introducción

Acabamos de ver cómo obtener un listado de tablas de MySQL a través de PHP usando PDO. Pues bien, ahora veamos algo más preciso o específico y es: cómo obtener un listado de las columnas que tiene una tabla usando PHP y PDO.

Es decir, obtener la estructura o campos de una tabla, no sus datos. Para ello igualmente usaremos una consulta.

Lo que traerá la consulta será el tipo de dato y el nombre del campo o columna, pero podemos modificarla para que traiga más o menos datos.

Continue reading…

¿Qué son los alias en MySQL? (Uso de AS en MySQL)

Introducción

Tal vez hemos escuchado el término “alias” cuando usamos MySQL u otros motores de bases de datos.

Un alias es como su nombre lo dice, un apodo o forma alternativa de llamar a algo. Explicaremos hoy el uso de AS en MySQL.

Estos alias en MySQL son usados para renombrar o para evitar conflictos con campos repetidos. La cláusula para un alias es AS y su sintaxis es:

SELECT nombre_original AS nuevo_nombre_que_ponemos FROM tabla;

Veamos algunos ejemplos

Continue reading…

Ejemplo de tabla en HTML con bordes CSS

Introducción

Hoy veremos cómo crear una tabla en HTML pero de la manera correcta, porque incluso en estos tiempos es un poco confuso la manera de crear una tabla, o al menos la sintaxis a seguir para tener un lugar de donde copiar y pegar, o un ejemplo simple.

Veremos cómo ponerle bordes, poner encabezados y otras cosas.

Continue reading…

Obtener índice de elemento en v-data-table de VuetifyJS

Introducción

VuetifyJS es un framework que añade estilos material design a nuestras apps creadas con VueJS. Existe un componente para mostrar datos en forma de tabla: v-data-table.

Podemos acceder a los elementos que se repiten con props.item pero habrá ocasiones en las que necesitaremos el índice del elemento.

Por ejemplo, si nuestros elementos son un arreglo y queremos quitar uno, necesitaríamos el índice para hacer un splice.

Acceder a index o índice en v-data-table

Es muy sencillo. Si tenemos una tabla más o menos así:

  <v-data-table
    :headers="headers"
    :items="desserts"
    hide-actions
    class="elevation-1"
  >
    <template slot="items" slot-scope="props">
      <td>{{ props.item.name }}</td>
      <td class="text-xs-right">{{ props.item.calories }}</td>
      <td class="text-xs-right">{{ props.item.fat }}</td>
      <td class="text-xs-right">{{ props.item.carbs }}</td>
      <td class="text-xs-right">{{ props.item.protein }}</td>
      <td class="text-xs-right">{{ props.item.iron }}</td>
    </template>
  </v-data-table>

Podemos acceder al índice a través de la propiedad props.index.

Si ponemos un botón y queremos mandar el índice como argumento, lo hacemos así:

  <v-data-table
    :headers="headers"
    :items="desserts"
    hide-actions
    class="elevation-1"
  >
    <template slot="items" slot-scope="props">
      <td>{{ props.item.name }}</td>
      <td class="text-xs-right">{{ props.item.calories }}</td>
      <td class="text-xs-right">{{ props.item.fat }}</td>
      <td class="text-xs-right">{{ props.item.carbs }}</td>
      <td class="text-xs-right">{{ props.item.protein }}</td>
      <td class="text-xs-right">{{ props.item.iron }}</td>
      <td class="text-xs-right">
        <v-btn icon class="mx-0" @click="quitar(props.index)">
          <v-icon color="red">delete</v-icon>
        </v-btn>
      </td>
    </template>
  </v-data-table>

Así podemos acceder al índice. Esto lo encontré en un reporte de bug, el cual fue solucionado aquí.

Truncar tabla en SQLite3

Introducción

SQLite3 es una base de datos que no necesita servidor. Todo es guardado en un único archivo. Si queremos truncar la tabla (para borrar todo y resetear la tabla) no podemos realizarlo así de fácil.

En MySQL se hace algo así:

TRUNCATE TABLE tu_tabla;

Pero en SQLite3 no existe ese comando. De todos modos, podemos emular ese comportamiento.

TRUNCATE TABLE en SQLite

Lo que hace truncate es borrar todo y reiniciar autoincremento si lo tenemos. Hay 2 formas de simular este comportamiento.

Método 1

Borrar toda la tabla con:

DROP TABLE tu_tabla;

Y luego volver a crearla:

CREATE TABLE tu_tabla(
  un_campo TEXT NOT NULL
);

Con ello habremos reseteado o truncado nuestra tabla. Fácil y rápido.

Método 2

También podemos eliminar todo el contenido de la tabla:

DELETE FROM tu_tabla;

Y luego hacer un VACUUM con:

VACUUM;

Con esto podemos truncar, aplicar truncate o resetear una tabla en SQLite3.

Listar las tablas en SQLite 3 a través de consulta

Introducción

Habrá ocasiones en las que necesitemos listar las tablas en SQLite a través de una consulta, no de su shell interactiva.

En este post veremos cómo listar las tablas de una base de datos SQLite. Algo similar al comando de MySQL para listar tablas:

SHOW TABLES;

Pero en este caso lo haremos en una consulta y en SQLite3 para poder consumirlo desde cualquier lenguaje de programación compatible.

Listar tablas de base de datos SQLite

En este caso lo probé con Python, pero la consulta funciona igual para cualquier lenguaje. Básicamente tenemos que ejecutar esta consulta:

SELECT * FROM sqlite_master WHERE type = "table";

Lo que devolverá la sentencia de creación de la tabla. Ya con eso podemos darnos una idea de cuáles tablas existen en nuestra base de datos.

Si quieres aprender Python y SQLite3 te invito a leer este post. También prueba un script para consumir una base de datos en Python de forma interactiva.