Está en la página 1de 2

Resumen sentencias SQL

Lenguaje de definición de datos (DDL):


Definición de tablas relacionales (CREATE TABLE):
CREATE TABLE nombre_tabla (
atributo_1 dominio_1 [NOT NULL] [UNIQUE] [PRIMARY KEY] [DEFAULT valor],
...,
atributo_n dominio_n [NOT NULL] [UNIQUE] [PRIMARY KEY] [DEFAULT valor],
[PRIMARY KEY (atributo, ...)],
[FOREIGN KEY (atributodemitabla_i,...,atributomitabla_j)
REFERENCES otra_tabla (atributootratabla_i,...atributo_otratabla_j)]*
)

Eliminación de tablas (DROP TABLE):


CREATE [UNIQUE] INDEX nombre_indice ON nombre_tabla (nombre_atributo)

Eliminación de tablas (DROP TABLE):


DROP TABLE nombre_tabla

Moficiación de la definición de tablas (ALTER TABLE):


ALTER TABLE nombre_tabla acción
Siendo acción una de las siguientes:
 RENAME TO nuevo_nombre
 ADD [COLUMN] nombre_atributo definición_atributo
 DROP [COLUMN] nombre_atributo
 MODIFY nombre_atributo definición_atributo
 CHANGE nombre_atributo nuevo_nombre nueva_definición
 ALTER COLUMN nombre_atributo nuevo_nombre nueva_definición

Nota: MODIFY y CHANGE en MySQL/Oracle, ALTER COLUMN en SQL


Server/Access/PostgreSQL. El subconjunto más reducido lo encontramos en SQLite.

Tipos de datos
Pese a la pretensión de SQL como estándar, que define una serie de tipos, que podemos
encontrar en diversos recursos: W3Schools, SQL for dummies, etc. La realidad es que
dependiendo del SGBD que empleemos se dan cambios sustanciales: SQLite, Access, MySQL,
SQL Server, PostgreSQL, Oracle, etc. Por ejemplo, en SQLite solemos almacenar las fechas
como TEXT, de modo que trabajemos con ellas con instrucciones del tipo:

 CREATE TABLE T (ts TEXT)


 INSERT INTO T VALUES ('12/05/2010 15:54:32');
 SELECT * FROM T WHERE ts BETWEEN '12/05/2010 00:00:00' AND
'12/05/2010 23:59:59';
Lenguaje de manipulación de datos (DML):
Inserción de registros/filas en tablas (INSERT):
INSERT INTO nombre_tabla [(atributo_1,...,atributo_m)]
VALUES [(valor_1,...,valor_m)]

Actualización de registros (UPDATE):


UPDATE nombre_tabla
SET [atributo_1 = valor_1,..., atributo_r = valor_r]
[WHERE condición]
/* atributo = valor, atributo LIKE '<>' , o cualesquiera otras condiciones válidas*/

Eliminación de registros (DELETE):


DELETE FROM nombre_tabla
[WHERE condición]
/* atributo = valor, atributo LIKE '<>' , o cualesquiera otras condiciones válidas*/

Selección de información (SELECT):


SELECT [DISTINCT] datos_a_seleccionar
FROM tablas_y_relaciones
[WHERE condiciones]
[GROUP BY atributos_agrupación]
[HAVING condiciones_por_grupos]
[ORDER BY atributo_ordenación [DESC] [, atributo_2 [DESC]...]];

Algunas referencias:

 Tech on the Net


 W3Schools
 SQLzoo
 Muy buena documentación sobre SQL de la UoC

También podría gustarte