LOGO



  Diseño y gestión de
    Base de Datos.

       MYSQL


           Jimmy Añazco
SENTENCIAS

T ubicación nombre_archivo.txt
Para crear un archivo txt de respaldo.
Show databases;
Muestra todas las bases de datos creadas
Use nombre_basebatos;
Seleccionar la base de datos en la que se va ha
  trabajar.
CREATE DATABASE nombre_bd;
Creación de una base de datos
Show tables;
Muestra las tablas creadas dentro de la base de
  datos.
CREACIÓN DE TABLAS

Create Table nombre_tabla (
nombre_campo_1 tipo_1,
nombre_campo_2 tipo_2,
nombre_campo_n tipo_n,
Key(campo_x,...))

 INSERTAR VALORES EN LAS TABLAS
INSERT INTO nombre_tabla VALUES (´’valor 1’,’valor 2’,…...,)

 Para eliminar atributos de una tabla
ALTER TABLE [nombre_de_la_tabla] DROP [nombre_columna];

ALTER TABLE clientes DROP cédula;
CLAVES PRIMARIAS

Crear una clave primaria junto con la creación de
  una tabla;
  mysql> create table empleado(
  -> id_empl int (10) unique primary key,
  -> nombre varchar (25),
  -> edad int(10));

Eliminar una clave primaria:

  alter table empleado drop id_empl
Otras sentencias

Cambiar el nombre a una tabla:

mysql>alter table personas rename clientes;

Para modificar el tipo de dato de un campo.

mysql> Alter table usuarios Modifty cedula varchar(15);

crear una clave primaria en una tabla, a partir de un
   campo ya creado

mysql> alter table usuarios modify id int(10) not null, add
  primary key(id);
CLAVES PRIMARIAS

 Insertar un atributo en la tabla y ponerlo como
  clave primaria.

  Alter table empleado ADD id_empleado
  varchar(10) unique primary key;

Nombrar un atributo ya creado como clave primaria.
mysql> alter table usuarios modify id int(10), add
  primary key(id);

Mysql>alter table postal add primary key id_postal);
ejemplos

create table personas (
  nombre varchar(20),
  apellido varchar (30),
  telefono varchar(10));
Agregar atributos de una tabla


 Colocar una columna al final de la tabla

ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones];
ALTER TABLE clientes ADD cedula varchar(10);


 Si se desea crear una columna al inicio de una tabla:

ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] FIRST;
ALTER TABLE clientes ADD cédula varchar(10) FIRST;

Y si se trata de colocarla después de una columna dada, es:

ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] AFTER
   [nombre_de_columna];

ALTER TABLE clientes ADD cédula varchar(10) AFTER nombre;
Buscar datos

 LIKE "b%“
 Muestra los valores que inician con b.
 LIKE "%a”
 Muestra los valores que terminan con
  “a”.
 LIKE "%a%”
 Muestra los valores que contengan “a”
  en cualquier posición.
ejemplos

 mysql> alter table empleado add
  direccion varchar(30) after apellido;
cambiar el tipo de dato de cedula varchar
  a int(10)
 mysql> alter table empleado change
  cedula cedula int(10);
Ejemplo generación de claves

mysql> update personas2 set
 codigo=concat(substr(nombre,2,1),"_","ho
 la") where id=2;
mysql> update personas2 set
  codigo=concat(substr(nombre,2,1),"_",
  "hola") where id=3;
FUNCIONES:
lower(cad)
UPPER(CAD)
Initcad(Cad)
ejemplos


nombres de los empleados cuyo salario
  está por encima de la media:
SQL> select nombre from emp
where salario > (select avg(salario) from
  emp);

SQL> create view ampAdmin as select *
 from ep where cod_dep=100;
MANEJO DE CLAVES
       FORáNEAS
ACTUALIZAR EN CASCADA
Claves foráneas y actualización
           en cascada

En MySQL sólo existe soporte para
claves foráneas en tablas de tipo
InnoDB.

CREATE TABLE nombre_tabla (
id INT AUTO_INCREMENT PRIMARY
KEY,
atrib_2 VARCHAR(40),
atributo_3 DATE)
ENGINE=InnoDB;
CREATE TABLE nombre_tabla (
  numero CHAR(12),       Hace referencia a la
  id INT NOT NULL,       tabla principal de
                         donde toma la clave
  KEY (id),              primaria

  FOREIGN KEY (id) REFERENCES
  tabla_principal (id)
  ON DELETE CASCADE ON UPDATE
  CASCADE)
  ENGINE=InnoDB;
ON DELETE <opción>, indica que acciones se deben realizar en la
  tabla actual si se borra una fila en la tabla referenciada.

ON UPDATE <opción>, es análogo pero para modificaciones de
  claves.

Existen 4 opciones diferentes.

 RESTRICT: esta opción impide eliminar o modificar filas en la
  tabla referenciada si existen filas con el mismo valor de clave
  foránea.
 CASCADE: borrar o modificar una clave en una fila en la tabla
  referenciada con un valor determinado de clave, implica borrar
  las filas con el mismo valor de clave foránea o modificar los
  valores de esas claves foráneas.
 NO ACTION: las claves foráneas no se modifican, ni se eliminan
  filas en la tabla que las contiene.
 SET NULL: borrar o modificar una clave en una fila en la tabla
  referenciada con un valor determinado de clave, implica asignar
  el valor NULL a las claves foráneas con el mismo valor
Operaciones con texto

 CONCAT
 SUBSTR
 LEFT  izquierda
 Right  derecha

Consultas

  • 1.
    LOGO Diseñoy gestión de Base de Datos. MYSQL Jimmy Añazco
  • 2.
    SENTENCIAS T ubicación nombre_archivo.txt Paracrear un archivo txt de respaldo. Show databases; Muestra todas las bases de datos creadas Use nombre_basebatos; Seleccionar la base de datos en la que se va ha trabajar. CREATE DATABASE nombre_bd; Creación de una base de datos Show tables; Muestra las tablas creadas dentro de la base de datos.
  • 3.
    CREACIÓN DE TABLAS CreateTable nombre_tabla ( nombre_campo_1 tipo_1, nombre_campo_2 tipo_2, nombre_campo_n tipo_n, Key(campo_x,...))  INSERTAR VALORES EN LAS TABLAS INSERT INTO nombre_tabla VALUES (´’valor 1’,’valor 2’,…...,)  Para eliminar atributos de una tabla ALTER TABLE [nombre_de_la_tabla] DROP [nombre_columna]; ALTER TABLE clientes DROP cédula;
  • 4.
    CLAVES PRIMARIAS Crear unaclave primaria junto con la creación de una tabla; mysql> create table empleado( -> id_empl int (10) unique primary key, -> nombre varchar (25), -> edad int(10)); Eliminar una clave primaria: alter table empleado drop id_empl
  • 5.
    Otras sentencias Cambiar elnombre a una tabla: mysql>alter table personas rename clientes; Para modificar el tipo de dato de un campo. mysql> Alter table usuarios Modifty cedula varchar(15); crear una clave primaria en una tabla, a partir de un campo ya creado mysql> alter table usuarios modify id int(10) not null, add primary key(id);
  • 6.
    CLAVES PRIMARIAS  Insertarun atributo en la tabla y ponerlo como clave primaria. Alter table empleado ADD id_empleado varchar(10) unique primary key; Nombrar un atributo ya creado como clave primaria. mysql> alter table usuarios modify id int(10), add primary key(id); Mysql>alter table postal add primary key id_postal);
  • 7.
    ejemplos create table personas( nombre varchar(20), apellido varchar (30), telefono varchar(10));
  • 8.
    Agregar atributos deuna tabla  Colocar una columna al final de la tabla ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones]; ALTER TABLE clientes ADD cedula varchar(10);  Si se desea crear una columna al inicio de una tabla: ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] FIRST; ALTER TABLE clientes ADD cédula varchar(10) FIRST; Y si se trata de colocarla después de una columna dada, es: ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] AFTER [nombre_de_columna]; ALTER TABLE clientes ADD cédula varchar(10) AFTER nombre;
  • 9.
    Buscar datos  LIKE"b%“  Muestra los valores que inician con b.  LIKE "%a”  Muestra los valores que terminan con “a”.  LIKE "%a%”  Muestra los valores que contengan “a” en cualquier posición.
  • 10.
    ejemplos  mysql> altertable empleado add direccion varchar(30) after apellido; cambiar el tipo de dato de cedula varchar a int(10)  mysql> alter table empleado change cedula cedula int(10);
  • 11.
    Ejemplo generación declaves mysql> update personas2 set codigo=concat(substr(nombre,2,1),"_","ho la") where id=2; mysql> update personas2 set codigo=concat(substr(nombre,2,1),"_", "hola") where id=3; FUNCIONES: lower(cad) UPPER(CAD) Initcad(Cad)
  • 12.
    ejemplos nombres de losempleados cuyo salario está por encima de la media: SQL> select nombre from emp where salario > (select avg(salario) from emp); SQL> create view ampAdmin as select * from ep where cod_dep=100;
  • 13.
    MANEJO DE CLAVES FORáNEAS ACTUALIZAR EN CASCADA
  • 14.
    Claves foráneas yactualización en cascada En MySQL sólo existe soporte para claves foráneas en tablas de tipo InnoDB. CREATE TABLE nombre_tabla ( id INT AUTO_INCREMENT PRIMARY KEY, atrib_2 VARCHAR(40), atributo_3 DATE) ENGINE=InnoDB;
  • 15.
    CREATE TABLE nombre_tabla( numero CHAR(12), Hace referencia a la id INT NOT NULL, tabla principal de donde toma la clave KEY (id), primaria FOREIGN KEY (id) REFERENCES tabla_principal (id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB;
  • 16.
    ON DELETE <opción>,indica que acciones se deben realizar en la tabla actual si se borra una fila en la tabla referenciada. ON UPDATE <opción>, es análogo pero para modificaciones de claves. Existen 4 opciones diferentes.  RESTRICT: esta opción impide eliminar o modificar filas en la tabla referenciada si existen filas con el mismo valor de clave foránea.  CASCADE: borrar o modificar una clave en una fila en la tabla referenciada con un valor determinado de clave, implica borrar las filas con el mismo valor de clave foránea o modificar los valores de esas claves foráneas.  NO ACTION: las claves foráneas no se modifican, ni se eliminan filas en la tabla que las contiene.  SET NULL: borrar o modificar una clave en una fila en la tabla referenciada con un valor determinado de clave, implica asignar el valor NULL a las claves foráneas con el mismo valor
  • 18.
    Operaciones con texto CONCAT  SUBSTR  LEFT  izquierda  Right  derecha