GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Notizen

INTRODUCCION SQL

victor soria Spanisch 1 Seite

Inhalt der Notizen (1)

Seite 1

Introducción a SQL

Implementación del lenguaje que provee los gestores de base de datos.

Conexión al servidor local

Conexión al servidor local

Conexión al servidor local utilizando al usuario root:

Shell s.o mysql; -u root –p

Enter password: *********

Conexión al servidor con ip 10.23.3.40 utilizando el usuario root:

Shell s.o mysql; -u root –p -h 10.23.3.40

Enter password: *********

Todo lo que está en azul es para digitar.

Forma para salir del servidor remoto o local

MariaDB [(none)] > exit

Mostrar base de datos que el usuario tiene acceso

MariaDB [(none)] > SHOW DATABASE

Crear una base de datos prueba

MariaDB [mysql] > CREATE DATABASE prueba

CREAR LA BASE DE DAYOS PRUENA CON LA OPCION DE QUE NO DE ERROR SI YA EXISTE;

MariaDB [mysql] > CREATE DATABASE IF NOT EXISTS prueba;

Grupos basicos en Maria DB

Numero: (L) para especificar el tamaño que va ocupar

Cadena:

Fecha: vienen con tamaño fijo no se puede aumentar. Solamente el year.

Todo esto para crear taba con CREATETABLE (NOMBRE DE LA TABLA) sus campos .restricciones y verificaciones.

-si es una llave primaria se pone PK

-Si es una llave foránea se pone FK, puede ver más de 1 llave foránea

Ejemplo de creación de base de dato

CREATE DATABASE VETERINARIA;

USE VETERINARIA;

MariaDB [VETERINARIA] > CREATE TABLE MASCOTA

{

Cod_mascota MEDIUMINT (5) UNSIGNED NOT NULL AUTO_INCREMENT

Nombre VARCHAR(20) NOT NULL,

Propietario VARCHAR(40),

Sexo ENUM ( ‘hembra’ ,’macho’ )NOT NULL,

Fec_nac DATE NOT NULL ,

Fec_muerte DATE ,

Especie VARCHAR(30)

CONSTRAINT PRIMARY KEY (cod_masc),

CONTRAINT masc_chkl CHECK { fec_muerte IS NULL OR

(fec_muerte IS NOT NULL AND fec_muerte > fec_nac) }

}ENCINE =InnoDB

“VER ESTRUCTURA DE TABLA”

MariaDB [(MASCOTA)] >DESC MASCOTA

“PARA VER QUE MOTORES DE BASE TENEMOS”

MariaDB [(none)] > SHOW ENGINE

LA BASE DE DATOS YA TIENE QUE EXISTIR

mysql -u root -p veterinaria

Password ***********

MariaDB [VETERINARIA] > Create table veterinario

(

Nro_ci CHAR (12) NOT NULL

LUG_CI enum (`sc’,’be’,’pa’,’lp’,’cb’,’or’,’pt’,’ch’,’ta’)

NOT NULL,

Nombre VARCHAR(40) NOT NULL,

Primer_ap VARCHAR(30) NOT NULL

Segundo_ap VARCHAR(30),

Fec_nac DATE NOT NULL,

Sal_basico DECIMAL(3,2) UNSIGNED NOT NULL,

Estado CHAR (1) NOT NULL,

CONSTRAINT PRYMARY KEY (nro_ci , lug_ci)

CONSTRAINT vet_sal_chk CHECK (sal_basico >2200),

CONSTRAINT vet_est_chk check (estado in (‘A’,’R’))

ENGINE =InnoDB

- RENOMBRAR TABLA

MariaDB [VETERINARIA] > RENAME VETERINARIA TO VETERINARIO;

-ELIMINAR TABLA

MariaDB [VETERINARIA] > DROP TABLE VETERINARIO;

-ADICIONAR

MariaDB [VETERINARIA] > ALTER TABLE VETERINARIO ADD

MariaDB [VETERINARIA] > CREATE TABLE cita

(

Nro_cita BIGINT NOT NULL AUTO_INCREMENT,

A_realizar DATETIME NOT NULL,

Nro_ci_vet CHAR(12) NOT NULL,

Lug_ci ENUM (`sc’,’be’,’pa’,’lp’,’cb’,’or’,’pt’,’ch’,’ta’)

NOT NULL,

Cod_masc MEDIUNMINT (6) UNSIGNED NOT NULL,

Obs VARCHAR (2000),

Costo DEC(8,2)UNSIGNED,

Estado ENUM(‘PENDIENTE’,’REALIZADA’,’EMERGENCIA’,’CANCELADA’)NOT NULL

DEFAULT ‘PENDIENTE’,

CONSTRAINT PRIMARY KEY (nro_cita),

CONSTRAINT cita_fk2 FOREIGN KEY (nro_ci_vet,lug_ci)REFERENCES

veterinario(nro_ci,lug_ci),

CONSTRAINT cita_fk2 FOREIGN KEY (cod_masc) REFERENCES mascota (cod_masc)

)InnoDB;

-PARA CANCELAR, LO DA POR TERMINADO LO QUE ESTE HACIENDO

\c

MariaDB [(none)] >CREATE DATABASE bd_empresa;

MariaDB [(none)] >use bd_empresa;

MariaDB [(bd_empresa)] >CREATE TABLE empleado

(

dni CHAR(12) NOT NULLL,

fecha_nac DATE NOT NULL,

nombre_p VARCHAR(30) NOT NULL,

apellido_p VARCHAR(30),

apeliido_m VARCHAR (30),

dirección VARCHAR (20) NOT NULL,

sueldo DECIMAL(9,2) UNSIGNED NOT NULL,

sexo ENUM (‘masculino’,’femenino’),

numero_dpto SMALLINT UNSIGNED NOT NULL,

nombre_dpto VARCHAR (25)NOT NULLM

dni_sup CHAR (12)NOT NULL ,

CONSTRAINT PRIMARY KEY(dni),

CONSTRAINT emp_chk1 CHECK(sueldo>=2122),

CONSTRAINT emp_fk2 FOREING KEY(dni_sup) REFERENCES empleado (dni)

) ENGINE=InnoDB;

-PARA VER LA ESTRUCTURA DE LA TABLA

MariaDB [(bd_empresa)] > desc empleado;

CREATE TABLE subordinado

(

dni char(12) not null,

Nombre VARCHAR(60) NOT NULL,

Sexo ENUM(‘MASCULINO’,’FEMENINO’) NOT NULL,

Fecha_nac DATE,

Relacion ENUM(‘hijo’,’padre’,’esposo’,’suegro’,’otro’) NOT NULL,

CONSTRAINT PRIMARY KEY (dni,nombre),

CONSTRAINT sub_fk_emp FOREING KEY (dni)REFERENVES empleado(dni)

)ENGINE=InnoDB;

--cargar un archivO que tiene sentencias SQL

>La ruta donde está el archivo\nombre del archivo. SQL

-para recargar en un archivo de texto

Tee c\La ruta donde está el archivo\nombre del archivo. SQL

MariaDB [(bd_empresa)] >CREATE TABLE departamento

(

numero SMALLINT ENSIGNED NOT NULL,

nombre VARCHAR(25) NOT NULL,

Dni_adm CHAR (12) NOT NULL,

Fecha_inicio DATE NOT NULL,

CONSTRAINT PRIMARY KEY (numero,nombre),

CONSTRAINT dpto_fk FOREIGN KEY (dni_Adm) REFERENCES empleado (dni)

) ENGINE =InnoDB

MariaDB [(bd_empresa)] > CREATE TABLE ubicación_dpto

(

numero SMALLINT UNSIGNED NOT NULL,

nombre VARCHAR(25) NOT NULL,

ubicacion VARCHAR(50) NOT NULL,

CONSTRAINT PRIMARY KEY (umero,ubicacion),

CONSTRAINT ub_dpto_fk FOREIGN KEY (numero,nombre)

REFERENCES departameno (numero,nombre)

) ENGINE =InnoDB;

MariaDB [(bd_empresa)] > CREATE TABLE proyecto

(

numero MEDIUMINT (6) UNSIGNED NOT NULL,

nombre VARCHAR(50) NOT NULL,

ubicacion VARHAR(70) NOT NULL,

numero_dpto SMALLINT UNSIGNED NOT NULL,

nombre_dpto VARCHAR(25)NOT NULL,

CONSTRAINT PRIMARY KEY (numero,nombre),

CONSTRAINT proy_fk FOREIG nKEY (numero_dpto,nombre_dpto)

REFERENCES departamento (numero,nombre)

)ENGINE =InnoDB;

MariaDB [(bd_empresa)] > CREATE TABLE proy_empleado

(

Dni CHAR (12) NOT NULL,

Numero MEDIUMINT(6) NOT NULL,

Nombre VARCHAR (50) NOT NULL,

Horas DECIMAL (5,2) NOT NULL,

CONSTRAINT PRIMARY KEY (dni_numero,nombre)

CONSTRAINT proy_emp_fk2 FOREING KEY (dni) REFERENCES empleado (dni)

) ENGINE > InnoDB;

-PARA VER LAS TABLAS

MariaDB [(bd_empresa)] > >SHOW TABLES

-MODIFICAR TABLA PARA CREAR LLAVE FORANEA QUE NOS FALTABA

MariaDB [(bd_empresa)] > ALTER TABLE empleado

ADD CONSTRAINT emp_fk_dpto FOREING KEY (numeto,nombre_dpto)

REFERENCES departamento (nombre,numero);

-PARA AGREGAR UNA COLUMNA

MariaDB [(bd_empresa)] > ALTER TABLE proyecto

ADD COLUM

MariaDB [(bd_empresa)] > ALTER TABLE proyecto DROP CONSTRAINT PRIMARY KEY ;

INDICE ES .HACER LA BUSQUEDA MAS RAPIDA

INDICES PRIMARIOS: idéntica los registro de una tabla ,no tiene repeticiones

LOS secundarios si tienen repeticiones

EJEMPLO ;

BASE DE DATOS

VETERINARIA

EMPRESA

FARMACIA

Use veterimaria

Use farmacia

*---

PARA CAMBIARME DE BASE DE DATOS ,SIN USAR USE …

CREATE TABLE veterinaria,mascota

(

……..

)ENGINE=InnoDB;

-Para ver que base de datos tengo

Show data base;

Use …………;

- Para ver que tablas tengo tengo

Show tables;

Para ver que datos tiene una tabla;

SELECT * FROM veterinario

-VER SENTENCIAS QUE ESCRIBI EN UNA TABLA;

Show CREATE TABLE VETERINARIO \G

Insertar datos en una tabla;

INSERT INTO veterinario VALUES

(

‘7669126’ ,’SC’,’MOISES DAMIAN’,’SARAVIA’,’VARGAS’,

‘1995-03-30’,2500,’A’

);

-BORRAR EL REGISTRO DE UNA TABLA

DELETE FROM mascota;

-Como modificar el valor del autoin cremento de una tabla

ALTER TABLE mascota AUTO_INCREMENT=1;

‘USAR SOLO SI LA TABLA ESTA VACIA’

PARA BORRAR CODIGO

1RA OPCION = DELECTE FROM mascota WHERE cod_masc BETWEEN 10 AND 22;

2DA OPCION = DELETE FROM mascota WHERE cod_masc >= 10 AND cod_=< 22;

-INDICAR EN QUE ORDEN VAN IR MIS VALORES

INSERT INTO mascota (fec_nac,especie,nombre,fec_muerte) VALUES

(

‘1997-03-20’,’canino’,’kaiser’,’204-07-21’

);

- CAMBIAR EL NOMBRE

UPDATE mascot SET propietario =’roberto ‘ where cod_masc =1;

No se pude hacer esta comparación (no colocar en el where)

Campo1 NULL,(MAL)

Campo1 IS NULL (BIEN)

Campo1 IS NOT NULL(BIEN)

BUQUEDA DE CAPO DE TIPO CADENA

LIKE

-OPERADORES LOGICOS

AND

OR

UPDATE veterinario SET

Segundo_ap = ‘cruz’,

Estado = ‘A’,

Sal_basico=’3500

WHERE nro_ci =’12345678’’

AND ing_ci=’sc’;

REALIZAR CONSULTAS EN HEIDY SQL

/* realizer una consulta que muestre nro_ci,primer_ap,nombre de los veterinarios que tiene salrio básico entre 2500 y 3200

*/

SELECT nro_ci ,primer_ap,nombre FROM veterinario WHERE sal_basico BETWEEN 2500 AND .3200;

/*REALIZAR UNA CONSULTA QUE MUESTRE LOS 3 PRIMEROS REGISTROS DE LA TABLA VETERINARIO */

SELECT * FROM veterinario LIMIT =3;

/*REALIZAR una consulta que muestre los registros de la tabla veterinario ordenemos por fecha de nacimiento*/

SELECT * FROM veterinario ORDER BY fec_nac;

SELECT *FROM veterinario ORDER BY fec_nac DESC LIMIT =3;

-FORMATO SI VOY UTILIZAR UN SELECT

SELECT lista de requerimiento FROM al menos una tabla

WHERE condición del filtro

GROUP BY lista de campos de agrupación

ORDER BY lista de campos de campos de ordenación

LIMIT NRO;

/* REALIZAR UNA CONSULTA QUE MUESTRE TODOS LOS VETERINARIOS EN ESTADO A, ORDENADOS POR EL PRIMER APELLIDO ,SEGUNDO APELLIDO, Y NOMBRE(TODOS EN ORDEN DESCENDENTES) ,SOLO SE DEBEN MOSTRARN EN EL RESULTADOS LOS CAMPOS PRIMER APELLIDO,SEGUNDO APELLIDO,NOMBRE Y FECHA DE NACIMIENTO*/

SELECT primer_ap,segundo_ap,nombre,fec_nac

FROM veterinario

WHERE estado ‘A’

ORDER BY primer_ap,segundo_ap, DESC ,nombre DESC,

/* REALIZAR UNA CONSULTA QUE MUESTRE LA FECHA DE NACIMIENTO EL PRIMER APELLIDO Y NOMBRE DE LOS VETERINARIOS QUE ESTAN EN ESTADO A,QUE TIENE PRIMER APELLIDO QUE TERMINE EN A Y QUE SU SALARIO SEA SUPERIO A 2600 ,ORDENADO POR FECHA DE NACIMIENTO ,EN EL RESULTADO SOLO VISUALIZAR LOS PRIMEROS DEL RESULTADO*/

SELECT fec_nac,primer_ap,nombre

FROM veterinario

WHERE estado = ‘A’ AND

Primer_ap LIKE ‘%a’ AND

Sal_basico > 2500

LIMIT 2;

/*REALIZAR UNA CONSULTA QUE RETORNE TODAS LAS CITAS Y EL NOMBRE COMPLETO DEL VETERINARIO QUE ESTA ASOCIADO A LA CITA*/

SELECT cita .*, nombre,primer_ap,segundo_ap

FROM cita INNER JOIN veterinario ON (nro_ci_vet =nro_ci AND cita .lug_ci = veterinario.lug_ci);

/*REALIZAR UNA CONSULTA QUE RETORNE TODAS LAS CITAS pendientes Y EL NOMBRE COMPLETO DEL VETERINARIO QUE ESTA ASOCIADO A LA CITA*/

SELECT C.*, CONCAT(nombres, ‘ ’ ,primer_ap,’ ’ ,IFNULL(Segundo_ap,’ ’)AS ‘nombre veterinario’

FROM cita c INNER JOIN veterinario v ON (nro_ci_vet =nro_ci AND c.lug_ci = v.lug_ci)

WHERE c .estado = ‘pandiente’;

Crear una lista que guarde la consulta anterior

CREATE VIEW citasyvetpendientes

SELECT C.*, CONCAT(nombres, ‘ ’ ,primer_ap,’ ’ ,IFNULL(Segundo_ap,’ ’)AS ‘nombre veterinario’

FROM cita c INNER JOIN veterinario v ON (nro_ci_vet =nro_ci AND c.lug_ci = v.lug_ci)

WHERE c .estado = ‘pandiente’;

Hacer una consulta para probar la vista citasyvetpendientes

SELECT*FROM citasyvetpendientes;

Select *from citasyvetpendientes

ORDER BY cod_mas DESC;

/*REALIZAR UNA CONSULTA QUE RETORNE EL NOMBRE DE LAS MSCOTAS QUE TIENEN CITA PENDIENTE ,EL NOMBRE DEL DUEÑO ,EL SEXO DE LA MASCOTA,FECHA DE CUANDO SE DEBE REALIZA LA CITA Y EL NOMBRECOMPLETO DL VETERINARIO

*/

SELECT nombre,propietario,a_realizar , CONCAT(nombres, ‘ ’ ,primer_ap,’ ’ ,IFNULL(Segundo_ap,’ ’)AS ‘nombre veterinario’

FROM cita c INNER JOIN veterinario v ON (nro_ci_vet AND C.lug_ci = v.lug_cit)

INNER JOIN mascota n ON (n.cod_masc =c.cod_masc)

WHERE c.estado =’pendiente’;

/*Eliminar la vista citayvetpendientes*/

DROP VIEW citiayvetpendiente;

-PARA REMPLAZA UNA VISTA

CREATE OR REPLACE VIEW citasyvetpendientes

SELECT C.*, CONCAT(nombres, ‘ ’ ,primer_ap,’ ’ ,IFNULL(Segundo_ap,’ ’)AS ‘nombre veterinario’

FROM cita c INNER JOIN veterinario v ON (nro_ci_vet =nro_ci AND c.lug_ci = v.lug_ci)

WHERE c .estado = ‘pandiente’;

Informationen

Beschreibung
Notiz am INTRODUCCION SQL, erstellt von victor soria am 13/10/2020.
Erstellt von
victor soria
Aufrufe
1
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck