Script MySQL/MariaDB para crear una tabla con los estados y abreviaturas de USA

Ejemplo de script que creará una tabla con los nombre de estados y sus respectivas abreviaciones de E.E.U.U, en este script primero se borra la tabla (si existe) y luego se procede a crearla con 3 campos (ID autogenerado, el nombre del estado y su abreviatura) y haciendo del ID la llave y/o índice De ahí procedemos a insertar los 51 estados usando 1 solo INSERT, solo separamos los registros por 1 cosa como se muestra en el ejemplo. este script lo podemos correr en la consola de phpMyAdmin para crear la tabla de ejemplo Archivos adjuntos [download id="979"] DROP…

SHOW TABLES, DESCRIBE, Consultas de Administración MySQL/MariaDB

Los comandos de administración más usados en MySQL/MariaDB son CREATE TABLE, SHOW TABLES, TRUNCATE, DESCRIBE y DROP TABLE, todas trabajan a nivel tablas por tanto son DDL(lenguaje de definición de datos) y se pueden ejecutar desde la consola donde poner las consultas SQL o desde llamadas a un QUERY en un PHP por ejemplo. CREATE TABLE: Nos permite crear una nueva tabla, se pasa la consulta con la estructura deseas y está será creada en la base de datos actual en la que estás trabajando / conectado CREATE TABLE IF NOT EXISTS alumnos ( id int NOT NULL AUTO_INCREMENT, nombre varchar(20),…

Truncate vs Delete en MySQL/MariaDB (Diferencias)

Si lo que deseas es eliminar datos de una tabla, en MySQL tienes 2 formas de hacerlo, normalmente usamos el delete from table para ese tipo de acciones, es un DML ( lenguaje de manipulación de datos) por tanto admite parámetros usando condiciones, es decir soporta la clausula WHERE además que te devuelve el numero de archivos afectados en la operación y puedes incluso usar el LIMIT. recuerden que el DELETE borra registros 1 por 1 además que la tabla recuerda el valor AUTO_INCREMENT en caso la hayas vaciado. En el caso del TRUNCATE lo que se realiza es destruir la tabla y…

Script para cambiar juego de caracteres en la base de datos MySQL

Si tienes problemas con los juegos de caracteres, ya sea porque no coincidan en todas las tablas o porque el formato que usas no es que el necesitabas. tendrías que ir de tabla en tabla y editarla para que tenga el mismo formato (Juego de caracteres). Aquí te doy un script que puede facilitar esa tarea, Advertencia: antes de ejecutar el script, es sumamente recomendable hacer un backup <?php $juegocaracteres= "latin1"; //juego de caracteres $collate = "latin1_general_ci"; //collate $nombre_base_datos = "NOMBRE"; //nombre de la base de datos a modificar $db = mysql_connect('localhost','user','password'); //datos de conexión MySQL if(!$db) echo "Error al…

Select TOP no Funciona en MySQL, ahí es el LIMIT

Para aquellos que hacen sentencias SQL en MySQL y no les sale el TOP, es porque en ese Motor no existe esa función :D, lo que existe es el LIMIT y se usa de esta manera Si tu consulta original es: Select Top 10 * from ventas su equivalente para que funcione en mysql es: select * from Productos LIMIT 10 No he probado si el LIMIT tiene el mismo problema que el TOP en caso de EMPATE, supongo que si porque no puede excluir a uno de los registros empatados

Como conectarse a una base de datos MySQL usando ADO

A diferencia de otras bases de datos, para conectarse a esta, es necesario bajar un DRIVER ODBC desde la Pagina de MySQL aquí la URL: MySQL :: MySQL Connector/ODBC Yo he instalado la versión "MySQL Connector/ODBC 3.51" (al ultima cuando se escribió este tema) Una vez Instalado (Next o Siguiente a todo) ya tendremos el Proveedor instalado :D De ahí es el mismo código que se usa para conectarse a cualquier Motor Usando ADO Paso 1.- Hacer la Referencia a la librería ADO Paso 2.- Escribir el código Dim cn As Connection Dim rs As Recordset Private Sub Form_Load() Const…

Simular la función IsNumeric para MySQL (alternativas)

Si deseas hacer un filtrado de registros, pero que la condición es  que  un campo contenga solo datos numéricos, puedes hacerlo de estás maneras: 1.- Convertir el campo en un valor entero y luego ver que no sea NULO, al hacer la conversión, si era texto, se volverá nulo WHERE CONVERT(campo, SIGNED INTEGER) IS NOT NULL 2.- Usando expresiones regulares WHERE campo REGEXP ('^[0-9]+') para mi es mejor usar la expresión regular.. lo veo más segura de emplear ;), además que es 1 proceso menos Ojo, eso es para numero enteros, no reales :D