SINTAXIS DE LAS SUBCONSULTAS
Enviado por vanessaangarita • 7 de Junio de 2015 • Síntesis • 1.373 Palabras (6 Páginas) • 265 Visitas
SINTAXIS DE LAS SUBCONSULTAS
Los subselects o subconsultas se utilizan normalmente dentro de una sentencia SELECT.
La sintaxis básica es la siguiente:
SELECT column_name [, column_name ]
FROM table1 [, table2 ]
WHERE column_name OPERATOR
(SELECT column_name [, column_name ]
FROM table1 [, table2 ]
[WHERE])
EJEMPLO DE UNA SUBCONSULTA (SUBQUERIES)
A continuación tenemos nuestra tabla "authors";
Vamos a seleccionar el autor más joven utilizando la siguiente consulta:
SELECT * FROM eli.authors where birthday= (select max(birthday) from eli.authors);
Y este es el resultado;
Para ejemplos más complicados no dude en ver el video tutorial al comienzo de esta página.
Una forma simple de acceder a bases de datos
import MySQLdb
DB_HOST = 'localhost'
DB_USER = 'root'
DB_PASS = 'mysqlroot'
DB_NAME = 'a'
def run_query(query=''):
datos = [DB_HOST, DB_USER, DB_PASS, DB_NAME]
conn = MySQLdb.connect(*datos) # Conectar a la base de datos
cursor = conn.cursor() # Crear un cursor
cursor.execute(query) # Ejecutar una consulta
if query.upper().startswith('SELECT'):
data = cursor.fetchall() # Traer los resultados de un select
else:
conn.commit() # Hacer efectiva la escritura de datos
data = None
cursor.close() # Cerrar el cursor
conn.close() # Cerrar la conexión
return data
12.2.1.1. Insertar datos
dato = raw_input("Dato: ")
query = "INSERT INTO b (b2) VALUES ('%s')" % dato
run_query(query)
12.2.1.2. Seleccionar todos los registros
query = "SELECT b1, b2 FROM b ORDER BY b2 DESC"
result = run_query(query)
print result
12.2.1.3. Seleccionar solo registros coincidentes
criterio = raw_input("Ingrese criterio de búsqueda: ")
query = "SELECT b1, b2 FROM b WHERE b2 = '%s'" % criterio
result = run_query(query)
print result
12.2.1.4. Eliminar registros
criterio = raw_input("Ingrese criterio p7 eliminar coincidencias: ")
query = "DELETE FROM b WHERE b2 = '%s'" % criterio
run_query(query)
12.2.1.5. Actualizar datos
b1 = raw_input("ID: ")
b2 = raw_input("Nuevo valor: ")
query = "UPDATE b SET b2='%s' WHERE b1 = %i" % (b2, int(b1))
run_query(query)
Insertar, cambiar y borrar datos de una tabla MySQL
INTRODUCCIÓN
En el capítulo anterior ya vimos cómo crear nuestra base de datos y creamos una tabla. Ahora vamos a ver cómo introducir datos en esa tabla, como borrarlos, como cambiarlos si nos hemos equivocado y pos supuesto cómo conseguir que mysql nos muestre los datos.
CÓMO INSERTAR DATOS EN UNA TABLA
Para meter datos en una tabla utilizamos la orden INSERT
INSERT INTO nombre_de_la_tabla (
Columna1, columna 2, …. )
VALUES (
Valor1, valor2, ….);
En nuestro caso sería así:
INSERT INTO refranero ( refran , fecha )
VALUES (
' Más vale pájaro en mano que ciento volando', '2003-06-01'
);
Nota: Recordemos que mysql está en inglés, luego el formato en que tenemos que meter la fecha es en inglés: AÑO-MES-DIA.
Los valores que vamos a introducir, van en comillas simples (‘), en el caso del ID, cómo no queremos introducir ningún valor (preferimos que lo asigne mysql), dejamos el valor vacío.
Practicar metiendo los siguientes refranes:
No por mucho madrugar amanece más temprano, 2003-06-03
Quien a buen árbol se arrima buena sombra le cobija, 2003-08-15
CÓMO VER LOS DATOS QUE TENEMOS EN UNA TABLA
Para extraer los datos y que nos los presente en pantalla, utilizamos la orden SELECT. SELECT, sirve para hacer casi cualquier cosa, así que os cansaréis de utilizarla
SELECT * FROM refranero;
En cristiano: Selecciona todo de la tabla refranero; * significa todo.
Las selects pueden llegar a complicarse mucho, pero de momento, para nuestros fines, ha sido fácil ¿no?
Si el texto de nuestro refrán es muy largo, se nos puede descabalar un poco la tabla y no quedarnos las cosas tan claras.
Pero ¿y si queremos seleccionar sólo un campo?
SELECT nombre_del_campo FROM nombre_de_la_tabla;
Para nuestra tabla sería;
SELECT ID FROM refranero;
+——-+
| ID |
+——-+
| 1 |
| 2 |
| 3 |
+——-+
ó SELECT fecha FROM refranero;
+——-+—————————+
| ID | fecha |
+——-+—————————+
| 1 | 2003-06-01 |
| 2 | 2003-06-01 |
| 3 | 2003-06-01 |
+——-+—————————+
FUNCIONES BÁSICAS
...