Está en la página 1de 4

SQL

1.CREAR TABLA

CREATE TABLE nom-tabla(


nom-columna Tipo-datos[DEFAULT][restric-columna],...(todas las columnas), [restric-tabla]);

Nombre de la columna: Unico en la tabla

Tipo de datos:
– CHAR(n): Cualquier carácter,de longitud fija.
– VARCHAR(n): Cualquier carácter,de longitud variable
– LONG: mas long max que VARCHAR
– NUMBER(n,m): Campos numericos, n digitos y m digitos decimales.
– DATE: Siglo,año,mes,dia,minutos,segundos.
– RAW(n): Datos binarios, de longitud fija.

Default: Valor de atributo por defecto:EJ: DEFAULT 5.

Restricción columna: (si se le quiere dar un nombre se nomrestric y luego restric)


– No valores nulos: NOT NULL (Obligatorio clave primaria y alterna)
– Clave primaria: PRIMARY KEY
– Clave alternativa: UNIQUE
– Clave externa: REFERENCES Nom-tab (Nom-col) [ON DELETE CASCADE](cascade si
se especifica...)
– Restriccion sobre valor: CHECK (Nom-col operador valor)

Restriccion tabla:
– Clave primaria compuesta: PRIMARY KEY (col1,col2...) (cuando en una tabla hay mas de
una PK)
– Clave alternativa compuesta: UNIQUE
– Clave externa compuesta: FOREIGN KEY (col1,col2...) REFERENCES nom-tab
(col1,col2) ON DELETE CASCADE (cuando hay mas de una FK que proviene de una
misma tabla)
2.MODIFICAR LA ESTRUCTURA DE UNA TABLA
Una vez creada una tabla, se puede modificar su estructura:
– Añadir nuevas columnas:
ALTER TABLE nom-tabla
ADD (nom-col tipo-datos...,...)
– Modificar caracteristicas columnas:
ALTER TABLE nom-tabla
MODIFY (nom-col tipo-datos...,...)
– Eliminar columnas:
ALTER TABLE nom-tabla
DROP COLUMN (col1,col2...)

3.DESTRUCCION DE UNA TABLA


No se pueden borrar tablas principales sin haber eliminado tablas dependientes, a menos de
especificar la opcion de borrado en cascada en la creacion de la tabla.

DROP TABLE nom-tab

4.INDICES
– Crear indices:
CREATE UNIQUE INDEX Nom-indice
ON Nom-tab
(Nom-col[ASC/DEC]);
– Borrar indices:
DROP INDEX nom-indice

5.FILAS
– Insertar filas:
INSERT INTO nom-tab [(col1,col2...)]
VALUES ('val1','val2'...) //numeros sin comillas
– Modificar fila:
UPDATE Nom-tab SET Columna = Valor,...
[WHERE Condicion]
– Eliminar fila: Se pueden borrar filas pero no columnas ni campos individuales de una fila.
DELETE FROM nom-tab
[WHERE condicion (de las PK=valor and Pk=...)]

6.RECUPERACION DE DATOS
– Seleccion de columnas:
SELECT nom-col FROM nom-tab //con * todas las columnas

SELECT DISTINCT nom-col FROM nom-tab //sin valores repetidos


– Seleccion de filas:
SELECT * FROM nom-tab WHERE condicion
Operadores:
= igual,
<> o ¬= no igual
> mayor
>= mayor o igual
< menor
<= menor o igual
OR
AND
() agrupar y orden
BETWEEN/NOT BETWEEN entre
LIKE '%' cadena de n caracteres
LIKE '_' una posicion de carácter
– Calculos:
.En el SELECT : ej: SELECT ,PESO*2 FROM P (la coma hace de and en select)
.Fecha actual: sysdate
.Para encadenar cadenas de caracteres cadena1||cadena2

7.Funciones estandar
– Funcion de columna: SELECT
COUNT: Da el número de valores.
COUNT (col): nº de filas donde exp<>NULL
COUNT (*): nº de filas incluyendo NULLs
SUM(col): Da la suma de valores.
AVG(col): Da el promedio de los valores
MAX(col): Da el valor máximo.
MIN(col): Da el valor mínimo.
FROM nom-tab
– Función escalar: SELECT
• TO_CHAR (f): Convierte una fecha a un valor CHAR.
• TO_DATE (s): Crea una fecha DD-MON-AA a partir de una cadena de caracteres.
• TO_NUMBER(s): Convierte una cadena a valor numérico.
• UPPER(s): Devuelve una cadena con letras mayúsculas.
• SQRT (n): Devuelve la raíz cuadrada.
FROM NOM-TAB

8.ORDENAR FILAS
ORDER BY col1{ASC,DESC}, col2 {ASC,DES},... //poner asc o desc en funcion de si lo quere
//ascendente o descendente
Si tengo un calculo en select
ej: SELECT pintxos,precio*cant “Importe”
FROM pintxurrios_fumada_uni
ORDER BY 2 DESC //ordena importe en descendente ORDER BY posicion

9.CONSULTAS DICCIONARIO DE DATOS


- USER_TABLES: información sobre las tablas, vistas y sinónimos definidos por el usuario (TAB)
- USER_CONSTRAINTS: información sobre las restricciones de integridad definidas
-USER_INDEXES: información sobre los índices definidos en las tablas del usuario (IND)

.Mostrar tabla de indices completa


Select * from ind

.La estructura de la table de índices


Desc ind

.Muestra el contenido de dos columnas escogidas de la tabla de índices


Select index_name, table_name from ind

(sustituir ind por el USER_ que necesites ej de arriba indice ind=USER_INDEXES)

También podría gustarte