SlideShare una empresa de Scribd logo
¿Conoces todos los comandos SQL de Oracle para hacer tus consultas? En este manual vamos a aprender a usar los más comunes. Entre ellos conoceremos los diferentes operadores que podemos utilizar, como eliminar filas duplicadas en nuestras consultas, funciones para trabajar con caracteres, fechas, funciones numéricas, de grupo, etc.<br />En posteriores entregas aprenderemos a crear tablas, usuarios, conceder permisos, modificar y eliminar columnas, etc.<br />Introducción a consultas<br />Consultas simples:<br />SELECT campo FROM tabla;<br />Consulta simple con condición:<br />SELECT campo1, campo2, FROM tablaDeArticulos WHERE precio>10;<br />Consultas con subconsultas:<br />SELECT precio FROM tablaDeArticulos WHERE referencia = (SELECT referencia FROM tablaDeReferencias WHERE nombreArticulo =’ patinete ‘)<br />Operadores: +, -, *, /<br />12*(sal+100)<br />Alias: Renombra encabezado, pone nombres a las columnas resultantes de una consulta<br />{SELECT ename “Nombre trabajador”, sal “Salario” FROM trabajadores;}<br />Concatenación: “||” Concatena columnas o cadenas.<br />{SELECT ename||job “Empleados”;}<br />{SELECT ename ||’ es un ‘|| job “Detalles”;}<br />Filas Duplicadas: “distinct” no muestra duplicadas, despues de SELECT<br />{SELECT distinct deptno, job;}<br />Visualizar estructura completa de una tabla: desc<br />{desc dept;}<br />Ficheros:<br />sav[e] guarda consulta<br />{sav archiv.sql}<br />@ ejecuta consultas en fichero / sta[rt] ejecuta consultas en fichero<br />{@ arciv.sql}<br />ed[it] permite editar fichero<br />{ed archiv.sql}<br />Operador WHERE: Restringe la consulta a las filas que cumple una condición<br />FROM emp WHERE job=’CLERK’ (CASE SENSITIVE!!)<br />Operadores comparación: =, >, >=, <, <=, <><br />{SELECT campo FROM table WHERE salario>=200;}<br />{…WHERE hiredate < ’01-01-95′;}<br />{…WHERE hiredate > ’01-JAN-95′;}<br />OPERADORES COMPARACIÓN 2: BETWEEN..AND.., IN(list), LIKE, IS NULL<br />BETWEEN:<br />{… WHERE salario BETWEEN 100 AND 150;}<br />IN:<br />{mgr IN (7902, 7566);} {WHERE ename IN (‘FORD , ‘ALLEN’)}<br />LIKE: Comodin “%” representa 0 o N caracteres. Comodin “_” representa exactamente 1 caracter.<br />{…WHERE ename LIKE ‘_S%’}<br />ESCAPE: Interpreta “_” literal.<br />{…WHERE ename LIKE ‘%%’ ESCAPE ‘;}<br />IS NULL: Si un valor es nulo . Atencion, NULL! =0!!<br />{…WHERE mgr IS NULL;}<br />Operadores Lógicos: AND, OR, NOT<br />{…WHERE job NOT IN (‘CLERK’, ‘MANAGER’); job NOT LIKE ‘%A_’;}<br />Ordenar: “ORDER BY (columna/alias)”. Ordenar de forma ascendente o descendente: “ORDER BY (columna/alias) [ASC/DESC]“<br />ORDER BY hiredate desc; ORDER BY deptno, sal desc;<br />FUNCIONES DE CARACTERES:<br />LOWER/UPPER: Convierte a minusculas/mayúsculas<br />lower(JOB) -> job<br />ename=upper(‘blake’);<br />INITCAP: Primera letra mayusculas resto minusculas<br />Initcap(JOB) -> Job<br />CONCAT: Concatena (como “|”)<br />SUBSTR: Devuelve los caracteres seleccionados de una cadena de la cadena<br />LENGTH: Devuelve número caracteres<br />INSTR: Devuelve posición del caracter en la cadena<br />LPAD: Rellena cadena por la derecha con el car seleccionado<br />TRIM: Elimina caracteres del principio o del final<br />FUNCIONES NUMÉRICAS:<br />Round: Redondea al decimal especificado<br />round(45.926, 2) -> 45.93<br />Trunc: Trunca en le decimal especificado<br />trunc(45.926, 2) -> 45.92<br />Mod: Devuelve el resto de la división<br />Mod(1600, 300) -> 100<br />Mod(sal, comm) -> Calcula el “RATIO”<br />NVL: Convierte un nulo a un valor<br />nvl(comm, 0), nvl(job, ‘No Job’), nvl(hiredate,’01-JAN-97′)<br />{SELECT ename, nvl(to_car(mgr), ‘No Manager’) FROM emp;}<br />DECODE: Función de CASE<br />SELECT job, sal,<br />decode(job, ‘ANALYST’, sal*1.1, ‘CLERK’, sal*2, sal)<br />FROM emp;<br />Fechas:<br />sysdate: devuelve fecha y hora actual<br />num + fecha = fecha<br />fecha – num = fecha<br />fecha – fecha = dias<br />num/24 + fecha = agrega horas<br />{SELECT (sysdate-hiredate)/7 SEMANAS}<br />Conversión:<br />to_char: to_car(date, ‘fmt’), (hiredate, ‘fmDD’)<br />fm: elimina espacios en blanco<br />to_number: to_number(char)<br />to_date: Guarda datos en formato de fecha<br />to_date(char[, 'fmt'])<br />to_date(’07/05/1984′)<br />Elementos:<br />YYYY: Año numérico<br />YEAR: Año letras<br />MM: Mes numérico<br />MONTH: Mes letras<br />DY: Abreviatura 3 letras día<br />DAY: Nombre completo<br />Hora: HH24:MI:SS AM -> 15:45:32 PM<br />Añadir cars: DD “of” MONT -> 12 of October<br />Nº dia en letras: ddspth -> fourteenth<br />Funciones de grupo:<br />AVG: Media<br />COUNT: Cantidad de filas<br />MAX: Valor maximo<br />MIN: Valor mimimo ignorando nulos<br />STDDEV: Desviación ignorando nulos<br />SUM: Suma de valores ignorando nulos<br />VARIANCE: Varianza ignorando nulos<br />NOTA: Se pueden utilizar sin aparecer en SELECT<br />SELECT deptno FROM emp GROUP BY deptno HAVING MAX(sal)>1<br />En esta segunda entrega de Comandos SQL de Oracle vamos a aprender a crear tablas, modificarlas, añadir restricciones (constraints) y comentarios y modificar sus columnas y tipos. Además aprenderemos a crear secuencias las cuales nos ayudaran a insertar valores de forma automática, crearemos y modificaremos claves primerias (PK) y claves foráneas (FK) para poder enlazar valores de diferentes tablas. <br />Insertar registros en una tabla: Caracteres y fechas entre comillas simples<br />{INSERT INTO tabla [] VALUES []}<br />INSERT INTO tab (dnum, depnam, hiredate, usr_actual)<br />VALUES (50, ‘DEVELOPMENT’, SYSDATE, USERID);<br />Insertar registros nulos:<br />INSERT INTO dept VALUES (70, ‘FINANCE’, NULL);<br />Creación de Scripts: Los scripts nos permiten crear sencillas aplicaciones para añadir datos de forma sencilla a nuestra base de datos.<br />{ACCEPT variable PROMPT ‘texto a mostrar’ INSERT INTO tabla [] VALUES[&variable]}<br />ACCEPT id PROMPT ‘Introduce el ID de usuario:’<br />ACCEPT last_name prompt ‘Introduce apellido del usuario:’<br />ACCEPT first_name prompt ‘Introduce nombre del usuario:’<br />INSERT INTO my_employee (id, LAST_NAME, FIRST_NAME, USERID)<br />VALUES (&id, ‘&last_name’, ‘&first_name’, substr(‘&first_name’,1,1) || substr(‘$last_name’,1,7));<br />Insertar registros de otra tabla:<br />{INSERT INTO tabla [] select(…)}<br />INSERT INTO managers(id, name, salary, hiredate)<br />SELECT empno, ename, sal, hiredate FROM emp WHERE job = ‘MANAGER’<br />Modificación de registros:<br />{UPDATE tabla SET column = value where…}<br />UPDATE emp SET deptno = 20 WHERE empno = 7782;<br />UPDATE emp SET (job,deptno) = (SELECT job, deptno from…)<br />Eliminar registros:<br />{DELETE FROM tabla WHERE condición}<br />DELETE FROM department WHERE dname = ‘DEVELOPMENT’<br />DELETE FROM employee WHERE deptno = (SELECT deptno from…)<br />Control transacciones:<br />COMMIT: Confirmar cambios realizados en la base de datos<br />ROLLBACK: Deshacer todos los cambios realizados en la base de datos<br />SAVEPOINT nombre: Crear punto de guardado<br />ROLLBACK TO nombre: Volver a punto de guardado<br />Creación de tablas:<br />{CREATE TABLE tabla (columna tipo(longitud), columna..)}<br />Tipos: NUMBER, VARCHAR2, DATE, NUMBER(dcimal,digit)<br />CREATE TABLE dept (deptno NUMBER(2) NOT NULL, name VARCHAR2(50));<br />Crear tabla a partir de otra (por subconsulta):<br />{CREATE TABLE tabla AS SELECT…}<br />CREATE TABLE departamento AS SELECT empno, ename “Nombre Departamento”, sal FROM dept;<br />Modificar tabla:<br />-Añadir columnas:<br />{ALTER TABLE tabla ADD (columna1 tipo(), columna2 tipo()…);}<br />ALTER TABLE dept add (job VARCHAR2(9));<br />-Modificar columnas existentes:<br />{ALTER TABLE tabla MODIFY (col1 tipo() [DEFAULT expr]);}<br />ALTER TABLE empl modify (name VARCHAR2(50) DEFAULT ‘Nom’);<br />Eliminar columna:<br />{ALTER TABLE tabla DROP COLUMN columna;}<br />ALTER TABLE dept DROP COLUMN dname;<br />Notificar columna como no usada:<br />{ALTER TABLE tabla SET UNUSED (columna)}<br />ALTER TABLE dept SET UNUSED (loc);<br />Eliminar columnas marcadas como no usadas:<br />{ALTER TABLE tabla DROP UNUSED COLUMNS;}<br />ALTER TABLE dept DROP UNUSED COLUMNS;<br />Eliminar tabla:<br />{DROP TABLE table;}<br />DROP TABLE dept;<br />Modificar nombre de objeto (tabla, vista…):<br />{RENAME tabla/vista… TO tabla/vista…}<br />RENAME dept TO departmento;<br />Eliminar todos los registros (TRUNCAR):<br />{TRUNCATE TABLE tabla;}<br />TRUNCATE TABLE dept;<br />Añadir comentarios a una tabla:<br />{COMMENT ON TABLE/COLUMN table/columna IS ‘comentario’;}<br />COMMENT ON TABLE emp IS ‘Employee Infromation’<br />COMMENT ON COLUMN TABLE.column IS ‘comentario’<br />COMMENT ON COLUMN emp.ename IS ‘Nombre trabajador’<br />DEFINICIÓN DE CONSTRAINTS (RESTRICCIONES):<br />{CREATE TABLE tabla<br />(columna tipo() [default expr] CONSTRAINT [nombre] tipo (columna));}<br />-Nivel de tabla:<br />CREATE TABLE emp(<br />(empno NUMBER(4),<br />ename VARCAHR2(10),<br />deptno NUMBER(2),<br />CONSTRAINT emp_empno_pk<br />PRIMARY KEY (empono));<br />- Nivel de columna:<br />CREATE TABLE emp(<br />(empno NUMBER(4) [CONSTRAINT emp_empno_nn] NOT NULL,<br />ename VARCAHR2(10),<br />deptno NUMBER(2) NOT NULL);<br />Constraints (tipos y situación):<br />NOT NULL (Nivel de columna)<br />CREATE TABLE emp(<br />(empno NUMBER(4) [CONSTRAINT emp_empno_nn] NOT NULL,<br />ename VARCAHR2(10),<br />deptno NUMBER(2) NOT NULL);<br />UNIQUE (Columna o tabla)<br />CREATE TABLE dept<br />(dname VARCHAR(14),<br />…<br />CONSTRAINT dept_dname_uk UNIQUE(dname));<br />PRIMARY KEY (Columna o tabla) -> PK lleva implícito UNIQUE<br />CREATE TABLE dept<br />(deptno NUMBER(2),<br />…<br />CONSTRAINT dept_deptno_pk PRIMERY KEY (deptno));<br />FOREIGN KEY (Columna o tabla)<br />CREATE TABLE emp<br />(ename VARCAHR2(10) NOT NULL,<br />deptno NUMBER(7,2) NOT NULL,<br />…<br />CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)<br />REFERENCES dept (deptno));<br />CHECK -Condicion- (Columna o tabla)<br />CREATE TABLE emp<br />(deptno NUMBER(2),<br />CONSTRAINT emp_deptno_ck CHECK (deptno between 10 and 99));<br />Añadir CONSTRAINT (restricción) a tabla existente:<br />{ALTER TABLE tabla add/modify [CONSTRAINT CONSTRAINT] type (col);}<br />Podemos añadir restricción NOT NULL con MODIFY<br />Podemos añadir o borrar CONSTRAINTs pero NO modificar. Para modificar<br />eliminar y volver a crear<br />ALTER TABLE emp add CONSTRAINT emp_mgr_fk<br />FOREING KEY(mgr) REFERENCES emp(empno);<br />Eliminación de restricciones (CONSTRAINTs):<br />{ALTER TABLE tabla DROP CONSTRAINT CONSTRAINT;}<br />ALTER TABLE emp DROP CONSTRAINT emp_mgr_fk;<br />Borrar CONSTRAINT PK y (FK de tabla dependiente de otra usando-CASCADE-)<br />{ALTER TABLE tabla DROP primary key CASCADE;}<br />ALTER TABLE dept DROP primary key cascade;<br />Eliminación de restricciones en cascada: Es usado para eliminar PK u otras con dependencias<br />{ALTER TABLE tabla DROP (constraint) cascade CONSTRAINT;}<br />ALTER TABLE dept DROP (deptno) cascade CONSTRAINTS;<br />Desactivar constraint:<br />{ALTER TABLE tabla DISABLE CONSTRAINT constraint [CASCADE];}<br />ALTER TABLE emp disable CONSTRAINT emp_empno_pk CASCADE;<br />Activar constraints:<br />{ALTER TABLE tabla ENABLE CONSTRAINT CONSTRAINT;}<br />ALTER TABLE emp ENABLE CONSTRAINT emp_empno_pk;<br />Creación de vistas:<br />{CREATE VIEW vista AS SELECT…}<br />[with check option CONSTRAINT CONSTRAINT]<br />[with read only]<br />CREATE view empvu10 as select empno “nº empleado”,<br />job from emp where deptno=10;<br />Modificación de vistas:<br />{CREATE OR REPLACE VIEW vista [(colname, colname, colname)] as select…}<br />Nota: Los alias de columna se puede poner en SELECT o en CREATE<br />CREATE or replace view empvu10<br />(employee_number, employee_name, job_title)<br />as select empno, ename, job from emp where deptno = 10;<br />Creación vistas complejas con funciones de grupo para ver 2 tablas:<br />{CREATE view dept_sum_vu (name, minsal, maxsal, avgsal)<br />as select d.dname, MIN(e.sal), MAX(e.sal), AVG(e.sal)<br />from emp e, dept d where e.deptno = d.deptno group by d.dname}<br />With check option:<br />CREATE or replace view vista as select…<br />with check option CONSTRAINT CONSTRAINT<br />With read only:<br />CREATE or replace view vista as select…<br />with read only;<br />Nota: En este caso no podemos quitar, insertar o modificar la vista<br />Eliminación de vistas:<br />{DROP view vista;}<br />Creación de vistas inline:<br />{SELECT … FROM tabla a(SELECT…) b where…}<br />SELECT tablaA.ename, tablaA.sal, tablaA.deptno, tablaB.maxsal<br />from emp tablaA, (select deptno, max(sal) from emp group by deptno) tablaB<br />where tablaA.deptno = tablaB.deptno and tablaA.sal < tablaB.maxsal<br />Obtener los N primeros/últimos datos de una tabla (Top-N):<br />{SELECT ROWNUM [as alias] FROM (SELECT… FROM tabla WHERE… ORDER BY Top-NCol)<br />where ROWNUM <= N}<br />SELECT ROWNUM as RANKING, ename, sal<br />from (select ename, sal from emp order by sal desc)<br />where rownum <=3;<br />Creación de secuencias:<br />CREATE/ALTER sequence secuencia<br />increment by n<br />start with n (no en ALTER)<br />maxvalue n<br />minvalue n<br />cycle (continua generando despues de max)<br />cache n (memoria oracle)<br />Insertar valores de una secuencia en una tabla:<br />INSERT INTO tabla (valorActual, valorSiguiente)<br />VALUES (secuencia.currval, secuencia.nextval)<br />Eliminar secuencias:<br />{DROP sequence secuencia;}<br />Crear índices:<br />{CREATE index indice on tabla (col, col+10, upper(ename)…)}<br />Eliminar índices:<br />{DROP index índice}<br />Crear sinonimos:<br />{CREATE [public] SYNONYM sinonimo FOR objecto}<br />CREATE public synonym dept for sis228.dept<br />Eliminar sinónimos:<br />{DROP SYNONYM sinónimo}<br />En esta última entrega de comandos Oracle, vamos a aprender a crear usuarios para hacer uso de nuestra base de datos. Para ello, vamos a conocer los diferentes permisos concebibles y a saber cómo asignárselos. Además, aprenderemos a crear diferentes roles que nos van a facilitar la asignación de permisos en el caso de tener diferentes usuarios del mismo nivel.<br /> <br />Crear usuarios de Oracle:    {CREATE USER nombre IDENTIFIED BY contraseña DEFAULT TABLESPACE nombreTableSpace TEMPORARY TABLESPACE nombreTemp}<br />    CREATE USER sis2dba<br />    IDENTIFIED BY sis2dbapass / EXTERNALLY<br />    DEFAULT TABLESPACE sis2tabla<br />    TEMPORARY TALESPACE sis2temp<br />    QUOTA INT [K|M] UNLIMITED ON NOMBRETABLESPACE<br />    PASSWORD EXPIRE<br />    ACCOUNT [LOCK | UNLOCK]<br /> <br />Modificar nombre de usuarios Oracle:<br />    {ALTER USER NombreUsuario Modificación;}<br />    ALTER USER sis2dba QUOTA UNLIMITED ON sis2tabla;<br /> <br />Borrar usuarios:<br />    {DROP USER nombre CASCADE}<br />    Nota: CASCADE nos indica que vamos a borrar también TOdos sus objeTOs<br /> <br />Permitir conexión y crear tablas:<br />    {GRANT CONNECT, RESOURCE TO nombre}<br />    Nota: Para que un usuario de Oracle pueda crear objeTOs NECESITA el permiso RESOURCE<br /> <br />Conceder permisos de DBA:<br />    {GRANT DBA TO NombreUsuario}<br /> <br />PERMISOS:<br />Permiso Tabla Vista Secuencia ProcedimienTOalterX  X  deleteX X   execute   X insertX X   SELECTX X X  updateX X   <br /> <br />Conceder permisos:<br />    {GRANT permiso1, permiso 2… ON objeTO TO nombreUsuario [ROLE]}<br />    GRANT SELECT ON emp TO sis226<br />    GRANT SELECT, INSERT, UPDATE ON emp TO public<br />    GRANT permiso1, permiso2… ON objeTO TO nombreUsuario WITH GRANT OPTION<br />    Nota: GRANT OPTION nos permite conceder permisos a otros usuarios<br /> <br />Quitar permiso:<br />    {REVOKE permiso1,… ON objeTO TO nombreUsuario}<br />    REVOKE permiso1 ON SELECT TO sis226<br />    Nota: Se quita los permisos a sis226 y a TOdos a los que sis226 he dado permisos<br /> <br />Conceder permisos de Sistema:<br />    {GRANT permiso1, permiso2… ANY TABLE TO NombreUsuario}<br />    GRANT CREATE, SELECT ANY TABLE TO sis226<br />    GRANT permiso1, permiso2… ANY TABLE TO NombreUsuario WITH ADMIN OPTION<br />    Nota: WITH ADMIN OPTION permite dar permisos de sistema a otros usuarios<br /> <br />Quitar permiso de Sistema:<br />    {REVOKE permiso1, permiso2… ANY TABLE FROM NombreUsuario}<br />    REVOKE SELECT ANY TABLE FROM sis226<br />    Nota: Quita los permisos a sis226 pero NO a los que sis226 ha dado<br /> <br />ROLES:<br />Un ROLE es una agrupación de permisos con lo cual podemos juntar ciertos permisos en un rol y dárselo a un usuario o grupo de usuarios.<br />Creación de ROLEs:<br />    {CREATE ROLE nombreRol [IDENTIFIED BY Contraseña];}<br />    CREATE ROLE scott_rol;<br /> <br />Borrar ROLEs:<br />    {DROP ROLE nombreRol;}<br /> <br />Dar permisos a ROLEs:<br />    GRANT SELECT, UPDATE ON scott.emp TO scott_rol;<br />    GRANT SELECT, INSERT, DELETE, UPDATE ON scott.dept TO scott_rol;<br />    GRANT SELECT ON scott.salgrade TO scott_rol;<br />    GRANT SELECT ON scott.bonus TO scott_rol;<br /> <br />Conceder rol a usuario:<br />    {GRANT role TO usuario}<br />    GRANT scott_rol TO sis226<br /> <br />Modificar ROLEs:<br />    {GRANT Permiso1,… ON nombreUsuario TO ROLE;}<br />    GRANT SELECT on scott.dept TO scott_rol ;<br />    Nota: SOLO modifica la linea del scott.dept<br />
Command oracle
Command oracle
Command oracle
Command oracle
Command oracle
Command oracle
Command oracle
Command oracle
Command oracle

Más contenido relacionado

La actualidad más candente

Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
Luis Jherry
 
Bdii 09 ddl_new
Bdii 09 ddl_newBdii 09 ddl_new
Bdii 09 ddl_new
Rody Paredes
 
Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11
Alexander Calderón
 
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosBases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Videoconferencias UTPL
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
alexmerono
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
Byron Eras
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
Luis Jherry
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
Cristian Salazar C.
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
Henry Cambal
 
Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09
Alexander Calderón
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
Orlando Verdugo
 
Fundamentos de SELECT SQL
Fundamentos de SELECT SQLFundamentos de SELECT SQL
Fundamentos de SELECT SQL
Alexander Calderón
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
claudia contreras
 
Triggers
TriggersTriggers
Triggers
bdatos
 
Attachment
AttachmentAttachment
Attachment
medicengabriel
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
DeysiDelgadoSeclen
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemplo
William Sánchez
 
Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)
Anna Vega
 
Creacion de bases de datos en SQL Server
Creacion de bases de datos en SQL ServerCreacion de bases de datos en SQL Server
Creacion de bases de datos en SQL Server
RayoMonster
 
Comandosql2
Comandosql2Comandosql2
Comandosql2
gonfloreso
 

La actualidad más candente (20)

Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
 
Bdii 09 ddl_new
Bdii 09 ddl_newBdii 09 ddl_new
Bdii 09 ddl_new
 
Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11
 
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosBases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datos
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
 
Fundamentos de SELECT SQL
Fundamentos de SELECT SQLFundamentos de SELECT SQL
Fundamentos de SELECT SQL
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Triggers
TriggersTriggers
Triggers
 
Attachment
AttachmentAttachment
Attachment
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemplo
 
Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)
 
Creacion de bases de datos en SQL Server
Creacion de bases de datos en SQL ServerCreacion de bases de datos en SQL Server
Creacion de bases de datos en SQL Server
 
Comandosql2
Comandosql2Comandosql2
Comandosql2
 

Similar a Command oracle

Sql 2010
Sql 2010Sql 2010
Sql 2010
Paola Daza
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQL
alexmerono
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
Kevin Guevara Cabrera
 
Sql ii
Sql iiSql ii
Sql ii
bat1820
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
fer951
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
Henry Cambal
 
Actualización de bases de datos en MySQL
Actualización de bases de datos en MySQLActualización de bases de datos en MySQL
Actualización de bases de datos en MySQL
alexmerono
 
Resumen sql-oracle
Resumen sql-oracleResumen sql-oracle
Resumen sql-oracle
Heriberto Espino Martinez
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
José Toro
 
SQL.docx
SQL.docxSQL.docx
SQL.docx
Patricia Castro
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
Bolivar Castillo
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
Adriana Escobar
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
Sergio Sanchez
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde cero
shochino
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql Profundizacion
Kudos S.A.S
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
Alexys González
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
Santiago Petter Andonayre Veliz
 
EJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdfEJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdf
BLANCAGESTRADARENTER
 
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Titiushko Jazz
 
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Titiushko Jazz
 

Similar a Command oracle (20)

Sql 2010
Sql 2010Sql 2010
Sql 2010
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQL
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Sql ii
Sql iiSql ii
Sql ii
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Actualización de bases de datos en MySQL
Actualización de bases de datos en MySQLActualización de bases de datos en MySQL
Actualización de bases de datos en MySQL
 
Resumen sql-oracle
Resumen sql-oracleResumen sql-oracle
Resumen sql-oracle
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
SQL.docx
SQL.docxSQL.docx
SQL.docx
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde cero
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql Profundizacion
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
 
EJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdfEJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdf
 
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sql
 
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sql
 

Último

Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 

Último (20)

Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 

Command oracle

  • 1. ¿Conoces todos los comandos SQL de Oracle para hacer tus consultas? En este manual vamos a aprender a usar los más comunes. Entre ellos conoceremos los diferentes operadores que podemos utilizar, como eliminar filas duplicadas en nuestras consultas, funciones para trabajar con caracteres, fechas, funciones numéricas, de grupo, etc.<br />En posteriores entregas aprenderemos a crear tablas, usuarios, conceder permisos, modificar y eliminar columnas, etc.<br />Introducción a consultas<br />Consultas simples:<br />SELECT campo FROM tabla;<br />Consulta simple con condición:<br />SELECT campo1, campo2, FROM tablaDeArticulos WHERE precio>10;<br />Consultas con subconsultas:<br />SELECT precio FROM tablaDeArticulos WHERE referencia = (SELECT referencia FROM tablaDeReferencias WHERE nombreArticulo =’ patinete ‘)<br />Operadores: +, -, *, /<br />12*(sal+100)<br />Alias: Renombra encabezado, pone nombres a las columnas resultantes de una consulta<br />{SELECT ename “Nombre trabajador”, sal “Salario” FROM trabajadores;}<br />Concatenación: “||” Concatena columnas o cadenas.<br />{SELECT ename||job “Empleados”;}<br />{SELECT ename ||’ es un ‘|| job “Detalles”;}<br />Filas Duplicadas: “distinct” no muestra duplicadas, despues de SELECT<br />{SELECT distinct deptno, job;}<br />Visualizar estructura completa de una tabla: desc<br />{desc dept;}<br />Ficheros:<br />sav[e] guarda consulta<br />{sav archiv.sql}<br />@ ejecuta consultas en fichero / sta[rt] ejecuta consultas en fichero<br />{@ arciv.sql}<br />ed[it] permite editar fichero<br />{ed archiv.sql}<br />Operador WHERE: Restringe la consulta a las filas que cumple una condición<br />FROM emp WHERE job=’CLERK’ (CASE SENSITIVE!!)<br />Operadores comparación: =, >, >=, <, <=, <><br />{SELECT campo FROM table WHERE salario>=200;}<br />{…WHERE hiredate < ’01-01-95′;}<br />{…WHERE hiredate > ’01-JAN-95′;}<br />OPERADORES COMPARACIÓN 2: BETWEEN..AND.., IN(list), LIKE, IS NULL<br />BETWEEN:<br />{… WHERE salario BETWEEN 100 AND 150;}<br />IN:<br />{mgr IN (7902, 7566);} {WHERE ename IN (‘FORD , ‘ALLEN’)}<br />LIKE: Comodin “%” representa 0 o N caracteres. Comodin “_” representa exactamente 1 caracter.<br />{…WHERE ename LIKE ‘_S%’}<br />ESCAPE: Interpreta “_” literal.<br />{…WHERE ename LIKE ‘%%’ ESCAPE ‘;}<br />IS NULL: Si un valor es nulo . Atencion, NULL! =0!!<br />{…WHERE mgr IS NULL;}<br />Operadores Lógicos: AND, OR, NOT<br />{…WHERE job NOT IN (‘CLERK’, ‘MANAGER’); job NOT LIKE ‘%A_’;}<br />Ordenar: “ORDER BY (columna/alias)”. Ordenar de forma ascendente o descendente: “ORDER BY (columna/alias) [ASC/DESC]“<br />ORDER BY hiredate desc; ORDER BY deptno, sal desc;<br />FUNCIONES DE CARACTERES:<br />LOWER/UPPER: Convierte a minusculas/mayúsculas<br />lower(JOB) -> job<br />ename=upper(‘blake’);<br />INITCAP: Primera letra mayusculas resto minusculas<br />Initcap(JOB) -> Job<br />CONCAT: Concatena (como “|”)<br />SUBSTR: Devuelve los caracteres seleccionados de una cadena de la cadena<br />LENGTH: Devuelve número caracteres<br />INSTR: Devuelve posición del caracter en la cadena<br />LPAD: Rellena cadena por la derecha con el car seleccionado<br />TRIM: Elimina caracteres del principio o del final<br />FUNCIONES NUMÉRICAS:<br />Round: Redondea al decimal especificado<br />round(45.926, 2) -> 45.93<br />Trunc: Trunca en le decimal especificado<br />trunc(45.926, 2) -> 45.92<br />Mod: Devuelve el resto de la división<br />Mod(1600, 300) -> 100<br />Mod(sal, comm) -> Calcula el “RATIO”<br />NVL: Convierte un nulo a un valor<br />nvl(comm, 0), nvl(job, ‘No Job’), nvl(hiredate,’01-JAN-97′)<br />{SELECT ename, nvl(to_car(mgr), ‘No Manager’) FROM emp;}<br />DECODE: Función de CASE<br />SELECT job, sal,<br />decode(job, ‘ANALYST’, sal*1.1, ‘CLERK’, sal*2, sal)<br />FROM emp;<br />Fechas:<br />sysdate: devuelve fecha y hora actual<br />num + fecha = fecha<br />fecha – num = fecha<br />fecha – fecha = dias<br />num/24 + fecha = agrega horas<br />{SELECT (sysdate-hiredate)/7 SEMANAS}<br />Conversión:<br />to_char: to_car(date, ‘fmt’), (hiredate, ‘fmDD’)<br />fm: elimina espacios en blanco<br />to_number: to_number(char)<br />to_date: Guarda datos en formato de fecha<br />to_date(char[, 'fmt'])<br />to_date(’07/05/1984′)<br />Elementos:<br />YYYY: Año numérico<br />YEAR: Año letras<br />MM: Mes numérico<br />MONTH: Mes letras<br />DY: Abreviatura 3 letras día<br />DAY: Nombre completo<br />Hora: HH24:MI:SS AM -> 15:45:32 PM<br />Añadir cars: DD “of” MONT -> 12 of October<br />Nº dia en letras: ddspth -> fourteenth<br />Funciones de grupo:<br />AVG: Media<br />COUNT: Cantidad de filas<br />MAX: Valor maximo<br />MIN: Valor mimimo ignorando nulos<br />STDDEV: Desviación ignorando nulos<br />SUM: Suma de valores ignorando nulos<br />VARIANCE: Varianza ignorando nulos<br />NOTA: Se pueden utilizar sin aparecer en SELECT<br />SELECT deptno FROM emp GROUP BY deptno HAVING MAX(sal)>1<br />En esta segunda entrega de Comandos SQL de Oracle vamos a aprender a crear tablas, modificarlas, añadir restricciones (constraints) y comentarios y modificar sus columnas y tipos. Además aprenderemos a crear secuencias las cuales nos ayudaran a insertar valores de forma automática, crearemos y modificaremos claves primerias (PK) y claves foráneas (FK) para poder enlazar valores de diferentes tablas. <br />Insertar registros en una tabla: Caracteres y fechas entre comillas simples<br />{INSERT INTO tabla [] VALUES []}<br />INSERT INTO tab (dnum, depnam, hiredate, usr_actual)<br />VALUES (50, ‘DEVELOPMENT’, SYSDATE, USERID);<br />Insertar registros nulos:<br />INSERT INTO dept VALUES (70, ‘FINANCE’, NULL);<br />Creación de Scripts: Los scripts nos permiten crear sencillas aplicaciones para añadir datos de forma sencilla a nuestra base de datos.<br />{ACCEPT variable PROMPT ‘texto a mostrar’ INSERT INTO tabla [] VALUES[&variable]}<br />ACCEPT id PROMPT ‘Introduce el ID de usuario:’<br />ACCEPT last_name prompt ‘Introduce apellido del usuario:’<br />ACCEPT first_name prompt ‘Introduce nombre del usuario:’<br />INSERT INTO my_employee (id, LAST_NAME, FIRST_NAME, USERID)<br />VALUES (&id, ‘&last_name’, ‘&first_name’, substr(‘&first_name’,1,1) || substr(‘$last_name’,1,7));<br />Insertar registros de otra tabla:<br />{INSERT INTO tabla [] select(…)}<br />INSERT INTO managers(id, name, salary, hiredate)<br />SELECT empno, ename, sal, hiredate FROM emp WHERE job = ‘MANAGER’<br />Modificación de registros:<br />{UPDATE tabla SET column = value where…}<br />UPDATE emp SET deptno = 20 WHERE empno = 7782;<br />UPDATE emp SET (job,deptno) = (SELECT job, deptno from…)<br />Eliminar registros:<br />{DELETE FROM tabla WHERE condición}<br />DELETE FROM department WHERE dname = ‘DEVELOPMENT’<br />DELETE FROM employee WHERE deptno = (SELECT deptno from…)<br />Control transacciones:<br />COMMIT: Confirmar cambios realizados en la base de datos<br />ROLLBACK: Deshacer todos los cambios realizados en la base de datos<br />SAVEPOINT nombre: Crear punto de guardado<br />ROLLBACK TO nombre: Volver a punto de guardado<br />Creación de tablas:<br />{CREATE TABLE tabla (columna tipo(longitud), columna..)}<br />Tipos: NUMBER, VARCHAR2, DATE, NUMBER(dcimal,digit)<br />CREATE TABLE dept (deptno NUMBER(2) NOT NULL, name VARCHAR2(50));<br />Crear tabla a partir de otra (por subconsulta):<br />{CREATE TABLE tabla AS SELECT…}<br />CREATE TABLE departamento AS SELECT empno, ename “Nombre Departamento”, sal FROM dept;<br />Modificar tabla:<br />-Añadir columnas:<br />{ALTER TABLE tabla ADD (columna1 tipo(), columna2 tipo()…);}<br />ALTER TABLE dept add (job VARCHAR2(9));<br />-Modificar columnas existentes:<br />{ALTER TABLE tabla MODIFY (col1 tipo() [DEFAULT expr]);}<br />ALTER TABLE empl modify (name VARCHAR2(50) DEFAULT ‘Nom’);<br />Eliminar columna:<br />{ALTER TABLE tabla DROP COLUMN columna;}<br />ALTER TABLE dept DROP COLUMN dname;<br />Notificar columna como no usada:<br />{ALTER TABLE tabla SET UNUSED (columna)}<br />ALTER TABLE dept SET UNUSED (loc);<br />Eliminar columnas marcadas como no usadas:<br />{ALTER TABLE tabla DROP UNUSED COLUMNS;}<br />ALTER TABLE dept DROP UNUSED COLUMNS;<br />Eliminar tabla:<br />{DROP TABLE table;}<br />DROP TABLE dept;<br />Modificar nombre de objeto (tabla, vista…):<br />{RENAME tabla/vista… TO tabla/vista…}<br />RENAME dept TO departmento;<br />Eliminar todos los registros (TRUNCAR):<br />{TRUNCATE TABLE tabla;}<br />TRUNCATE TABLE dept;<br />Añadir comentarios a una tabla:<br />{COMMENT ON TABLE/COLUMN table/columna IS ‘comentario’;}<br />COMMENT ON TABLE emp IS ‘Employee Infromation’<br />COMMENT ON COLUMN TABLE.column IS ‘comentario’<br />COMMENT ON COLUMN emp.ename IS ‘Nombre trabajador’<br />DEFINICIÓN DE CONSTRAINTS (RESTRICCIONES):<br />{CREATE TABLE tabla<br />(columna tipo() [default expr] CONSTRAINT [nombre] tipo (columna));}<br />-Nivel de tabla:<br />CREATE TABLE emp(<br />(empno NUMBER(4),<br />ename VARCAHR2(10),<br />deptno NUMBER(2),<br />CONSTRAINT emp_empno_pk<br />PRIMARY KEY (empono));<br />- Nivel de columna:<br />CREATE TABLE emp(<br />(empno NUMBER(4) [CONSTRAINT emp_empno_nn] NOT NULL,<br />ename VARCAHR2(10),<br />deptno NUMBER(2) NOT NULL);<br />Constraints (tipos y situación):<br />NOT NULL (Nivel de columna)<br />CREATE TABLE emp(<br />(empno NUMBER(4) [CONSTRAINT emp_empno_nn] NOT NULL,<br />ename VARCAHR2(10),<br />deptno NUMBER(2) NOT NULL);<br />UNIQUE (Columna o tabla)<br />CREATE TABLE dept<br />(dname VARCHAR(14),<br />…<br />CONSTRAINT dept_dname_uk UNIQUE(dname));<br />PRIMARY KEY (Columna o tabla) -> PK lleva implícito UNIQUE<br />CREATE TABLE dept<br />(deptno NUMBER(2),<br />…<br />CONSTRAINT dept_deptno_pk PRIMERY KEY (deptno));<br />FOREIGN KEY (Columna o tabla)<br />CREATE TABLE emp<br />(ename VARCAHR2(10) NOT NULL,<br />deptno NUMBER(7,2) NOT NULL,<br />…<br />CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)<br />REFERENCES dept (deptno));<br />CHECK -Condicion- (Columna o tabla)<br />CREATE TABLE emp<br />(deptno NUMBER(2),<br />CONSTRAINT emp_deptno_ck CHECK (deptno between 10 and 99));<br />Añadir CONSTRAINT (restricción) a tabla existente:<br />{ALTER TABLE tabla add/modify [CONSTRAINT CONSTRAINT] type (col);}<br />Podemos añadir restricción NOT NULL con MODIFY<br />Podemos añadir o borrar CONSTRAINTs pero NO modificar. Para modificar<br />eliminar y volver a crear<br />ALTER TABLE emp add CONSTRAINT emp_mgr_fk<br />FOREING KEY(mgr) REFERENCES emp(empno);<br />Eliminación de restricciones (CONSTRAINTs):<br />{ALTER TABLE tabla DROP CONSTRAINT CONSTRAINT;}<br />ALTER TABLE emp DROP CONSTRAINT emp_mgr_fk;<br />Borrar CONSTRAINT PK y (FK de tabla dependiente de otra usando-CASCADE-)<br />{ALTER TABLE tabla DROP primary key CASCADE;}<br />ALTER TABLE dept DROP primary key cascade;<br />Eliminación de restricciones en cascada: Es usado para eliminar PK u otras con dependencias<br />{ALTER TABLE tabla DROP (constraint) cascade CONSTRAINT;}<br />ALTER TABLE dept DROP (deptno) cascade CONSTRAINTS;<br />Desactivar constraint:<br />{ALTER TABLE tabla DISABLE CONSTRAINT constraint [CASCADE];}<br />ALTER TABLE emp disable CONSTRAINT emp_empno_pk CASCADE;<br />Activar constraints:<br />{ALTER TABLE tabla ENABLE CONSTRAINT CONSTRAINT;}<br />ALTER TABLE emp ENABLE CONSTRAINT emp_empno_pk;<br />Creación de vistas:<br />{CREATE VIEW vista AS SELECT…}<br />[with check option CONSTRAINT CONSTRAINT]<br />[with read only]<br />CREATE view empvu10 as select empno “nº empleado”,<br />job from emp where deptno=10;<br />Modificación de vistas:<br />{CREATE OR REPLACE VIEW vista [(colname, colname, colname)] as select…}<br />Nota: Los alias de columna se puede poner en SELECT o en CREATE<br />CREATE or replace view empvu10<br />(employee_number, employee_name, job_title)<br />as select empno, ename, job from emp where deptno = 10;<br />Creación vistas complejas con funciones de grupo para ver 2 tablas:<br />{CREATE view dept_sum_vu (name, minsal, maxsal, avgsal)<br />as select d.dname, MIN(e.sal), MAX(e.sal), AVG(e.sal)<br />from emp e, dept d where e.deptno = d.deptno group by d.dname}<br />With check option:<br />CREATE or replace view vista as select…<br />with check option CONSTRAINT CONSTRAINT<br />With read only:<br />CREATE or replace view vista as select…<br />with read only;<br />Nota: En este caso no podemos quitar, insertar o modificar la vista<br />Eliminación de vistas:<br />{DROP view vista;}<br />Creación de vistas inline:<br />{SELECT … FROM tabla a(SELECT…) b where…}<br />SELECT tablaA.ename, tablaA.sal, tablaA.deptno, tablaB.maxsal<br />from emp tablaA, (select deptno, max(sal) from emp group by deptno) tablaB<br />where tablaA.deptno = tablaB.deptno and tablaA.sal < tablaB.maxsal<br />Obtener los N primeros/últimos datos de una tabla (Top-N):<br />{SELECT ROWNUM [as alias] FROM (SELECT… FROM tabla WHERE… ORDER BY Top-NCol)<br />where ROWNUM <= N}<br />SELECT ROWNUM as RANKING, ename, sal<br />from (select ename, sal from emp order by sal desc)<br />where rownum <=3;<br />Creación de secuencias:<br />CREATE/ALTER sequence secuencia<br />increment by n<br />start with n (no en ALTER)<br />maxvalue n<br />minvalue n<br />cycle (continua generando despues de max)<br />cache n (memoria oracle)<br />Insertar valores de una secuencia en una tabla:<br />INSERT INTO tabla (valorActual, valorSiguiente)<br />VALUES (secuencia.currval, secuencia.nextval)<br />Eliminar secuencias:<br />{DROP sequence secuencia;}<br />Crear índices:<br />{CREATE index indice on tabla (col, col+10, upper(ename)…)}<br />Eliminar índices:<br />{DROP index índice}<br />Crear sinonimos:<br />{CREATE [public] SYNONYM sinonimo FOR objecto}<br />CREATE public synonym dept for sis228.dept<br />Eliminar sinónimos:<br />{DROP SYNONYM sinónimo}<br />En esta última entrega de comandos Oracle, vamos a aprender a crear usuarios para hacer uso de nuestra base de datos. Para ello, vamos a conocer los diferentes permisos concebibles y a saber cómo asignárselos. Además, aprenderemos a crear diferentes roles que nos van a facilitar la asignación de permisos en el caso de tener diferentes usuarios del mismo nivel.<br /> <br />Crear usuarios de Oracle:    {CREATE USER nombre IDENTIFIED BY contraseña DEFAULT TABLESPACE nombreTableSpace TEMPORARY TABLESPACE nombreTemp}<br />    CREATE USER sis2dba<br />    IDENTIFIED BY sis2dbapass / EXTERNALLY<br />    DEFAULT TABLESPACE sis2tabla<br />    TEMPORARY TALESPACE sis2temp<br />    QUOTA INT [K|M] UNLIMITED ON NOMBRETABLESPACE<br />    PASSWORD EXPIRE<br />    ACCOUNT [LOCK | UNLOCK]<br /> <br />Modificar nombre de usuarios Oracle:<br />    {ALTER USER NombreUsuario Modificación;}<br />    ALTER USER sis2dba QUOTA UNLIMITED ON sis2tabla;<br /> <br />Borrar usuarios:<br />    {DROP USER nombre CASCADE}<br />    Nota: CASCADE nos indica que vamos a borrar también TOdos sus objeTOs<br /> <br />Permitir conexión y crear tablas:<br />    {GRANT CONNECT, RESOURCE TO nombre}<br />    Nota: Para que un usuario de Oracle pueda crear objeTOs NECESITA el permiso RESOURCE<br /> <br />Conceder permisos de DBA:<br />    {GRANT DBA TO NombreUsuario}<br /> <br />PERMISOS:<br />Permiso Tabla Vista Secuencia ProcedimienTOalterX  X  deleteX X   execute   X insertX X   SELECTX X X  updateX X   <br /> <br />Conceder permisos:<br />    {GRANT permiso1, permiso 2… ON objeTO TO nombreUsuario [ROLE]}<br />    GRANT SELECT ON emp TO sis226<br />    GRANT SELECT, INSERT, UPDATE ON emp TO public<br />    GRANT permiso1, permiso2… ON objeTO TO nombreUsuario WITH GRANT OPTION<br />    Nota: GRANT OPTION nos permite conceder permisos a otros usuarios<br /> <br />Quitar permiso:<br />    {REVOKE permiso1,… ON objeTO TO nombreUsuario}<br />    REVOKE permiso1 ON SELECT TO sis226<br />    Nota: Se quita los permisos a sis226 y a TOdos a los que sis226 he dado permisos<br /> <br />Conceder permisos de Sistema:<br />    {GRANT permiso1, permiso2… ANY TABLE TO NombreUsuario}<br />    GRANT CREATE, SELECT ANY TABLE TO sis226<br />    GRANT permiso1, permiso2… ANY TABLE TO NombreUsuario WITH ADMIN OPTION<br />    Nota: WITH ADMIN OPTION permite dar permisos de sistema a otros usuarios<br /> <br />Quitar permiso de Sistema:<br />    {REVOKE permiso1, permiso2… ANY TABLE FROM NombreUsuario}<br />    REVOKE SELECT ANY TABLE FROM sis226<br />    Nota: Quita los permisos a sis226 pero NO a los que sis226 ha dado<br /> <br />ROLES:<br />Un ROLE es una agrupación de permisos con lo cual podemos juntar ciertos permisos en un rol y dárselo a un usuario o grupo de usuarios.<br />Creación de ROLEs:<br />    {CREATE ROLE nombreRol [IDENTIFIED BY Contraseña];}<br />    CREATE ROLE scott_rol;<br /> <br />Borrar ROLEs:<br />    {DROP ROLE nombreRol;}<br /> <br />Dar permisos a ROLEs:<br />    GRANT SELECT, UPDATE ON scott.emp TO scott_rol;<br />    GRANT SELECT, INSERT, DELETE, UPDATE ON scott.dept TO scott_rol;<br />    GRANT SELECT ON scott.salgrade TO scott_rol;<br />    GRANT SELECT ON scott.bonus TO scott_rol;<br /> <br />Conceder rol a usuario:<br />    {GRANT role TO usuario}<br />    GRANT scott_rol TO sis226<br /> <br />Modificar ROLEs:<br />    {GRANT Permiso1,… ON nombreUsuario TO ROLE;}<br />    GRANT SELECT on scott.dept TO scott_rol ;<br />    Nota: SOLO modifica la linea del scott.dept<br />