SQL para principiantes (SELECT, FROM, WHERE)

imported_Jhonnyf Seguir

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Sep 2008
Mensajes
959
Primera que nada el SQL quiere decir Structured Query Language (siempre pensé que la S era Standard) que fue creado para Standarizar las consultas a los diferentes motores de base de datos es asi, que sabiendo SQL, puedes usarlo en SQL Server de Microsoft, Oracle, Access, MySql, incluso en tablas de FOX de D.O.S de la antiguas :D


Para poder usar SQL con nuestros Foros, lo podemos hacer entrando al MyPhpAdmin o desde el AdminCP de vBulletin en Mantenimiento -> Ejecutar Consultas SQL, previamente dandonos permisos en el config.php


lo más básico que uno debe saber en SQL son el uso del SELECT, FROM, WHERE

el SELECT indica que queremos visualizar, obtener registros y/o resultados
con el FROM le indicamos de donde, básicamente es de que tabla
y finalmente el WHERE que es opcional, para indicar algun condicion en especial

PD: Select = Selecciona; FROM = desde, de este lugar; WHERE = donde, que cumpla, (condicion)





Supongamos que queremos saber todos los usuarios baneados, para eso debemos saber como se guardan esos datos...

  • si abres la tabla user,veras que tiene una columna que se llama usergroupid (puedes hacer un select * from user para verlo)
  • Sabemos que el Grupo de Usuario baneado es el 8
  • Por tanto, si el grupo primario es 8 en la tabla user es porque esta baneado


La Consulta seria:

Insertar CODE, HTML o PHP:
[B]SELECT [/B]* [B]FROM [/B]user [B]WHERE [/B]usergroupid=8
como nosotros no hemos hecho la base de datos, ni sabemos como fue planificada ni porque de los campos, solo podemos observar su comportamiento... es asi como en esa misma tabla podemos ver que tambien existe un campo llamado posts que contiene el numero de posts actuales de cada usuario.

si queremos saber todos los usuarios con 10 posts o menos la consulta seria:

Insertar CODE, HTML o PHP:
 [B]SELECT [/B]* [B]FROM [/B]user WHERE [B]posts [/B]<=10
Observación:
No tengan miedo de usar el SELECT, FROM, WHERE esto solo obtiene datos y los muestra, no hace modificaciones ni nada, asi que no hay peligro de borrar algo, o hacer que deje de funcionar la base de datos ;)

Un link por si quieren aprender más
http://sql.1keydata.com/es/sql-select.php
 

coleccionocromo

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
8 Abr 2005
Mensajes
589
Mi bueno este tutorial Jhonnyf pero tengo una pregunta.

Esto se podria aplicar al cambio de caracteres?,es decir.

Yo tengo en mi foro problemas con los caracteres suponiendo que la Ñ saliera con este simbolo ñ .Se podria aplicar esto para cambiar todas las Ñ del foro.

Gracias
 

imported_Jhonnyf

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Sep 2008
Mensajes
959
Mi bueno este tutorial Jhonnyf pero tengo una pregunta.

Esto se podria aplicar al cambio de caracteres?,es decir.

Yo tengo en mi foro problemas con los caracteres suponiendo que la Ñ saliera con este simbolo ñ .Se podria aplicar esto para cambiar todas las Ñ del foro.

Gracias
uhm... con 1 consulta SQL... me parece que si ya que permite hacer condiciones y tiene funciones de reemplazo, pero va a tener que ser bien pensada para no meter las 4.

lo ideal (y más seguro) seria hacer un PHP que lea los registros y haga ese cambio... además que se harian todos los cambiós de golpe
 

coleccionocromo

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
8 Abr 2005
Mensajes
589
uhm... con 1 consulta SQL... me parece que si ya que permite hacer condiciones y tiene funciones de reemplazo, pero va a tener que ser bien pensada para no meter las 4.

lo ideal (y más seguro) seria hacer un PHP que lea los registros y haga ese cambio... además que se harian todos los cambiós de golpe

Perfecto! No pensaba en arriesgarme y estropear mi base de datos pero queria sacarme de esta duda para al menos intentarlo.

Gracias!
 

imported_Jhonnyf

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Sep 2008
Mensajes
959
pero si tu base de datos no es muy grande (menos de 70 megas) bajala, editala con el word o algun editor que maneje archivos de texto grande, haz el reemplazo y vuelvelo a subir.

eso me parece lo más seguro
 

coleccionocromo

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
8 Abr 2005
Mensajes
589
pero si tu base de datos no es muy grande (menos de 70 megas) bajala, editala con el word o algun editor que maneje archivos de texto grande, haz el reemplazo y vuelvelo a subir.

eso me parece lo más seguro

uf!.Me temo que pesa mucho más de eso Jhonnyf,no te preocupes que ya les dije a los usuarios que si quieren que se entiendan sus mensajes que los cambien ellos.

De aqui a unos dias voy a hacer limpieza de post,el foro lleva 4 años en marcha y hay mucha tela que cortar.
 

Carrega

Zeta
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 Ago 2008
Mensajes
1.881
pero estas seguro que esos símbolos también se ven así en la BD?
 
I

iyad

Solo quería agrerar que el uso de UNION para mi se hace imprescindible, asi que también considero sea para principiantes. Este comando nos sirve para obtener en una sola tabla el resultado de la unión de dos o más consultas. Me parece muy útil cuando me hace falta obtener la unión de todos los datos, cuyos datos se encuentran en tablas diferentes y necesito hacer consultas por separado sobre ellas. En este sitio p2pFinder me he encontrado un ejemplo que me ha ayudado con el entendimiento del uso de UNION, TransactSQL-UNION está muy bueno.
 
Arriba