SlideShare una empresa de Scribd logo
Base de Datos
UNIDAD 4: El lenguaje SQL
Clase 2: El lenguaje DDL de SQL
Ing. Ricardo Tillero
Introducción SQL
ESTÁNDAR:
• El SQL, lenguaje de consulta estructurado, es el lenguaje de datos
estándar que utilizan las bases de datos relacionales.
EVOLUCIÓN:
• 1970: IBM, en su centro de investigación de San José (denominado
actualmente Almaden), desarrolló el Sequel (lenguaje de consulta).
Fue el prototipo de lo que hoy se conoce como SQL.
• 1986: Aparece una primera normalización ANSI, aunque no tiene
éxito.
• 1987: IBM saca al mercado el SAA-SQL.
• 1989: Aparece otra normalización ANSI, y esta vez tiene más éxito,
siendo Oracle el primero en utilizarlo.
• 1992: Sale al mercado el SQL-2; es lo que hoy día implementan todos
los sistemas gestores de bases de datos, y es, asimismo, lo mínimo
que se le puede pedir a un sistema de este tipo.
Introducción SQL
COMPONENTES: todo lenguaje de consulta tiene:
• Lenguaje de Definición de Datos (LDD - DDL): sirve para crear
todos los objetos y datos que se utilizan normalmente (tablas, vistas,
restricciones, etc.) así como las directivas de seguridad.
• Lenguaje de Manipulación de Datos (LMD - DML): está orientado
principalmente a las consultas; permite insertar datos, consultar
(mediante SELECT), borrar, actualizar, entre otras.
El lenguaje DDL de SQL
El DDL (Data Definition Language) o Lenguaje de Definición de Datos
es la parte de SQL dedicada a la definición de los datos. Las sentencias
DDL son las siguientes:
• CREATE: se utiliza para crear objetos como bases de datos, tablas,
vistas, índices, triggers y procedimientos almacenados.
• DROP: se utiliza para eliminar los objetos de la base de datos.
• ALTER: se utiliza para modificar los objetos de la base de datos.
• SHOW: se utiliza para consultar los objetos de la base de datos.
Otras sentencias de utilidad que usaremos en esta unidad son:
• USE: se utiliza para indicar la base de datos con la que queremos
trabajar.
• DESCRIBE: se utiliza para mostrar información sobre la estructura de
una tabla.
Manipulación de Bases de Datos
Crear una base de datos:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]
nombre_base_datos;
• DATABASE y SCHEMA son sinónimos.
• IF NOT EXISTS crea la base de datos sólo si no existe una base de
datos con el mismo nombre.
Ejemplos:
• CREATE DATABASE nombre_base_datos;
• CREATE DATABASE nombre_base_datos CHARACTER SET utf8;
• CREATE DATABASE nombre_base_datos CHARACTER SET utf8 COLLATE
utf8_general_ci;
Manipulación de Bases de Datos
CHARACTER SET y COLLATE
• CHARACTER SET: Especifica el set de caracteres que vamos a
utilizar en la base de datos.
• COLLATE: Especifica el tipo de cotejamiento que vamos a utilizar en
la base de datos. Indica el criterio que vamos a seguir para ordenar
las cadenas de caracteres.
• SHOW CHARACTER SET;
Para ver cuáles son los sets de caracteres que tenemos disponibles.
• SHOW COLLATION;
Para consultar qué tipos de cotejamiento hay disponibles podemos
usar.
• SHOW COLLATION LIKE 'utf8%‘;
Si queremos hacer una consulta más específica sobre los tipos de
cotejamiento que podemos usar con utf8.
Manipulación de Bases de Datos
Eliminar una base de datos:
DROP {DATABASE | SCHEMA} [IF EXISTS] nombre_base_datos;
DATABASE y SCHEMA son sinónimos.
IF EXISTS elimina la la base de datos sólo si ya existe.
Ejemplo:
DROP DATABASE nombre_base_datos;
Manipulación de Bases de Datos
Modificar una base de datos:
ALTER {DATABASE | SCHEMA} [nombre_base_datos]
alter_specification [, alter_especification] ...
Ejemplo:
ALTER DATABASE nombre_base_datos CHARACTER SET utf8;
Manipulación de Bases de Datos
Consultar el listado de bases de datos disponibles:
SHOW DATABASES;
Muestra un listado con todas las bases de datos a las que tiene acceso el
usuario con el que hemos conectado a MySQL.
Mostrar la sentencia SQL de creación de una base de datos:
SHOW CREATE DATABASE nombre_base_datos;
Se puede utilizar para visualizar la sentencia SQL que sería necesaria
ejecutar para crear la base de datos que le estamos indicando como
parámetro.
Manipulación de tablas
Crear una tabla: a continuación se muestra una versión simplificada de
la sintaxis necesaria para la creación de una tabla en MySQL.
Manipulación de tablas
Restricciones sobre las columnas de la tabla: podemos aplicar las
siguientes restricciones sobre las columnas de la tabla:
NOT NULL o NULL: Indica si el campo no permite almacenar valores nulos o no.
DEFAULT: Permite indicar un valor inicial por defecto si no especificamos ninguno en la
inserción.
AUTO_INCREMENT: Sirve para indicar que es un campo autonumérico. Su valor se
incrementa automáticamente en cada inserción de una fila. Sólo se utiliza en campos de tipo
entero.
UNIQUE KEY: Indica que el campo es una clave secundaria.
PRIMARY KEY: Para indicar que un campo o varios son clave primaria.
ON DELETE y ON UPDATE: Nos permiten indicar el efecto que provoca el borrado o la
actualización de los datos que están referenciados por claves ajenas. Las opciones que
podemos especificar son las siguientes:
RESTRICT: Impide que se puedan actualizar o eliminar las filas que tienen valores referenciados por
claves ajenas. Es la opción por defecto en MySQL.
CASCADE: Permite actualizar o eliminar las filas que tienen valores referenciados por claves ajenas.
SET NULL: Asigna el valor NULL a las filas que tienen valores referenciados por claves ajenas.
NO ACTION: Es una palabra clave del estándar SQL. En MySQL es equivalente a RESTRICT.
SET DEFAULT: No es posible utilizar esta opción cuando trabajamos con el motor de almacenamiento
InnoDB. Puedes encontrar más información en la documentación oficial de MySQL.
Manipulación de tablas
Restricciones sobre las columnas de la tabla:
Ejemplo 1:
Manipulación de tablas
Restricciones sobre las columnas de la tabla:
Ejemplo 2:
Manipulación de tablas
Opciones a tener en cuenta en la creación de las tablas:
AUTO_INCREMENT: Aquí podemos indicar el valor inicial que vamos a
usar en el campo definido como AUTO_INCREMENT.
CHARACTER SET: Especifica el set de caracteres que vamos a utilizar
en la tabla.
COLLATE: Especifica el tipo de cotejamiento que vamos a utilizar en la
tabla.
ENGINE: Especifica el motor de almacenamiento que vamos a utilizar
para la tabla. Los más habituales en MySQL son InnoDB y MyISAM. Por
defecto las tablas se crean con el motor InnoDB.
Manipulación de tablas
Opciones a tener en cuenta en la creación de las tablas:
Ejemplo:
Manipulación de tablas
Eliminar una tabla:
DROP [TEMPORARY] TABLE [IF EXISTS] nombre_tabla [,
nombre_tabla];
Ejemplos:
DROP TABLE nombre_tabla;
DROP TABLE IF EXISTS nombre_tabla;
DROP TABLE nombre_tabla_1, nombre_tabla_2;
Manipulación de tablas
Modificar una tabla:
En muchas ocasiones es necesario modificar los atributos de una tabla,
añadir nuevos campos o eliminar otros. Si la tabla no tiene datos
podemos eliminar la tabla y volver a crearla, pero si se trata de una tabla
que ya contiene datos tenemos que hacer uso de la sentencia ALTER
TABLE.
A continuación se muestra la sintaxis necesaria para la modificación de
una tabla en MySQL.
Manipulación de tablas
Modificar una tabla: sintaxis MySQL.
Manipulación de tablas
Modificar una tabla: sintaxis MySQL.
Manipulación de tablas
Modificar una tabla: sintaxis MySQL.
Manipulación de tablas
Modificar una tabla: sintaxis MySQL.
Manipulación de tablas
Ejemplo: ALTER TABLE <tbl_name> MODIFY
MODIFY nos permite modificar el tipo de dato de una columna y sus atributos.
Suponemos que tenemos la siguiente tabla creada
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(25)
);
Y queremos modificar las columna nombre para que pueda almacenar 50 caracteres y además
que sea NOT NULL. En este caso usaríamos la sentencia:
ALTER TABLE usuario MODIFY nombre VARCHAR(50) NOT NULL;
Después de ejecutar esta sentencia la tabla quedaría así:
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL
);
Manipulación de tablas
Ejemplo: ALTER TABLE <tbl_name> ALTER
ALTER nos permite asignar un valor por defecto a una columna o eliminar el valor por defecto que tenga establecido.
Suponemos que tenemos la siguiente tabla creada
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
sexo ENUM('H', 'M') NOT NULL
);
Y queremos que el valor por defecto de la columna sexo sea M. En este caso usaríamos la sentencia:
ALTER TABLE usuario ALTER sexo SET DEFAULT 'M';
Después de ejecutar esta sentencia la tabla quedaría así:
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
sexo ENUM('H', 'M') NOT NULL DEFAULT 'M'
);
Si ahora quisiéramos eliminar el valor por defecto de la columna sexo, usaríamos la siguiente sentencia:
ALTER TABLE usuario ALTER sexo DROP DEFAULT;
Manipulación de tablas
Ejemplo: ALTER TABLE <tbl_name> ADD
ADD nos permite añadir nuevas columnas a una tabla. Con los
modificadores FIRST y AFTER podemos elegir el lugar de la tabla donde
queremos insertar la nueva columna. FIRST coloca la nueva columna en
primer lugar y AFTER la colocaría detrás de la columna que se
especifique. Si no se especifica nada la nueva columna se añadiría detrás
de la última columna de la tabla.
Suponemos que tenemos la siguiente tabla creada
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
sexo ENUM('H', 'M') NOT NULL
);
Manipulación de tablas
Ejemplo: ALTER TABLE <tbl_name> ADD
Y queremos añadir la columna fecha_nacimiento de tipo DATE:
ALTER TABLE usuario ADD fecha_nacimiento DATE NOT NULL;
En este caso la nueva columna se ha añadido detrás de la última
columna, sexo. La tabla quedaría así:
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
sexo ENUM('H', 'M') NOT NULL,
fecha_nacimiento DATE NOT NULL
);
Manipulación de tablas
Ejemplo: ALTER TABLE <tbl_name> ADD
Suponemos que ahora queremos añadir las columnas apellido1 y apellido2 detrás
de la columna nombre.
ALTER TABLE usuario ADD apellido1 VARCHAR(50) NOT NULL AFTER nombre;
ALTER TABLE usuario ADD apellido2 VARCHAR(50) AFTER apellido1;
Después de ejecutar todas las sentencias la tabla quedaría así:
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
apellido1 VARCHAR(50) NOT NULL,
apellido2 VARCHAR(50),
sexo ENUM('H', 'M') NOT NULL DEFAULT 'M',
fecha_nacimiento DATE NOT NULL
);
Manipulación de tablas
Ejemplo: ALTER TABLE <tbl_name> DROP
DROP nos permite eliminar una columna de la tabla.
Suponemos que tenemos la siguiente tabla creada
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
apellido1 VARCHAR(50) NOT NULL,
apellido2 VARCHAR(50),
sexo ENUM('H', 'M') NOT NULL DEFAULT 'M',
fecha_nacimiento DATE NOT NULL
);
Manipulación de tablas
Ejemplo: ALTER TABLE <tbl_name> DROP
Y queremos eliminar la columna fecha_nacimiento. En este caso
usaríamos la sentencia:
ALTER TABLE usuario DROP fecha_nacimiento;
Después de ejecutar esta sentencia la tabla quedaría así:
CREATE TABLE usuario (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
apellido1 VARCHAR(50) NOT NULL,
apellido2 VARCHAR(50),
sexo ENUM('H', 'M') NOT NULL DEFAULT 'M'
);
Manipulación de tablas
Consultar el listado de tablas disponibles:
SHOW TABLES;
Muestra un listado de todas las tablas que existen en la base de datos con la que
estamos trabajando.
Mostrar información sobre la estructura de una tabla:
DESCRIBE nombre_tabla;
También podemos utilizar:
DESC nombre_tabla;
Esta sentencia se utiliza para mostrar información sobre la estructura de
una tabla.
Mostrar la sentencia SQL de creación de una tabla:
SHOW CREATE TABLE nombre_tabla;
Se puede utilizar para visualizar la sentencia SQL que sería necesaria ejecutar
para crear la tabla que le estamos indicando como parámetro.
Tipos de datos
Números enteros:
Tipos de datos
Números enteros:
ZEROFILL:
Todos los tipos de datos numéricos admiten el atributo ZEROFILL.
Cuando asignamos este atributo a una columna también se le añade de
forma automática el atributo UNSIGNED, de modo que el campo quedaría
como UNISGNED ZEROFILL.
Nota importante sobre INT(11):
INT(11) no quiere decir que queremos guardar un número entero de 11
cifras. El número indicado entre paréntesis tiene utilidad cuando
asignamos el atributo UNSIGNED ZEROFILL. En este caso se completa
con 0 a la izquierda del valor hasta alcanzar el número indicado entre
paréntesis.
Por ejemplo, para una columna declarada como INT(4) ZEROFILL, el
valor 5 será representado como 0005.
Tipos de datos
BIT, BOOL, BOOLEAN, SERIAL:
Tipos de datos
Números en punto flotante (Valores aproximados):
• M indica el número de dígitos en total (la precisión).
• D es el número de cifras decimales.
Por ejemplo, un número declarado como FLOAT(7,4) tendrá 7 dígitos
como máximo y 4 de ellos serán decimales. El rango de números que se
pueden representar en este caso será desde -999.9999 hasta 999.9999.
Tipos de datos
Números en punto fijo (Valores exactos):
En MySQL los tipos de datos DECIMAL y NUMERIC son equivalentes.
Estos tipos de datos se utilizan cuando es necesario guardar los valores exactos
sin redondeos. Se suelen utilizar cuando trabajamos con datos monetarios.
M indica el número de dígitos en total (la precisión). Tiene un rango de 1 a 65.
D es el número de cifras decimales. Tiene un rango de 0 a 30.
Tipos de datos
Fechas y tiempo:
Cadenas de caracteres:
Tipos de datos
Datos binarios:
ENUM y SET:
Tipos de datos
Resumen de los tipos de datos disponibles en MySQL:

Más contenido relacionado

La actualidad más candente

05 Más comandos ddl
05 Más comandos ddl05 Más comandos ddl
05 Más comandos ddl
toniserna
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQL
Edgar Sandoval
 
Sentencias dml y ddl
Sentencias dml y ddlSentencias dml y ddl
Sentencias dml y ddlkleberyauti
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
Juan Carlos Prieto
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulasGustavo Cortez
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datosLuis Bando
 
LDD
LDDLDD
LDD
rmonago
 
Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
Ing Gustavo Solano Ruiz
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
Renatta Rodriguez
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
Rodrigo Alfaro Pinto
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
K-rlos Pac
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
Alexys González
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
Totus Muertos
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql server
Vicente Alberca
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 

La actualidad más candente (20)

05 Más comandos ddl
05 Más comandos ddl05 Más comandos ddl
05 Más comandos ddl
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQL
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Sentencias dml y ddl
Sentencias dml y ddlSentencias dml y ddl
Sentencias dml y ddl
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulas
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datos
 
LDD
LDDLDD
LDD
 
Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql server
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 

Similar a Clase 2 El lenguaje DDL de SQL

COMANDOS DDL
COMANDOS DDLCOMANDOS DDL
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Inés Rosero
 
6. sql structured query language2
6. sql   structured query language26. sql   structured query language2
6. sql structured query language2
Oscar Valdivieso
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Doris Aguagallo
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Cesar Yupa
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languagejhonny tenesaca
 
6. SQL structured query language
6. SQL   structured query language6. SQL   structured query language
6. SQL structured query language
Marcelo Herrera
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Any Saula
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Liliana Charco
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Chars Orden
 
6 150113092523-conversion-gate01
6 150113092523-conversion-gate016 150113092523-conversion-gate01
6 150113092523-conversion-gate01
Dyego de Alvaro
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageWilliam Lozano
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Yoly QC
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
DanaSoto7
 
Curso my sql
Curso my sqlCurso my sql
Curso my sql
carlos lopez ramos
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde ceroshochino
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial Básico
Josu Orbe
 

Similar a Clase 2 El lenguaje DDL de SQL (20)

COMANDOS DDL
COMANDOS DDLCOMANDOS DDL
COMANDOS DDL
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language2
6. sql   structured query language26. sql   structured query language2
6. sql structured query language2
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
111
111111
111
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. SQL structured query language
6. SQL   structured query language6. SQL   structured query language
6. SQL structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6 150113092523-conversion-gate01
6 150113092523-conversion-gate016 150113092523-conversion-gate01
6 150113092523-conversion-gate01
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
 
Curso my sql
Curso my sqlCurso my sql
Curso my sql
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde cero
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial Básico
 
Presentación1
Presentación1Presentación1
Presentación1
 

Más de José Ricardo Tillero Giménez

PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
José Ricardo Tillero Giménez
 
Guía Ejercicios SQL
Guía Ejercicios SQLGuía Ejercicios SQL
Guía Ejercicios SQL
José Ricardo Tillero Giménez
 
Guía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de DatosGuía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de Datos
José Ricardo Tillero Giménez
 
Guía 1 Ejercicios MR
Guía 1 Ejercicios MRGuía 1 Ejercicios MR
Guía 1 Ejercicios MR
José Ricardo Tillero Giménez
 
Guía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de DatosGuía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de Datos
José Ricardo Tillero Giménez
 
Guía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER ExtendidoGuía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER Extendido
José Ricardo Tillero Giménez
 
Guía 2 Ejercicios MER
Guía 2 Ejercicios MERGuía 2 Ejercicios MER
Guía 2 Ejercicios MER
José Ricardo Tillero Giménez
 
Guía 1 Ejercicios MER
Guía 1 Ejercicios MERGuía 1 Ejercicios MER
Guía 1 Ejercicios MER
José Ricardo Tillero Giménez
 
Plan de evaluación BD2021
Plan de evaluación BD2021Plan de evaluación BD2021
Plan de evaluación BD2021
José Ricardo Tillero Giménez
 
Perfil Docente y Asesoría
Perfil Docente y AsesoríaPerfil Docente y Asesoría
Perfil Docente y Asesoría
José Ricardo Tillero Giménez
 
Planificación BD2021
Planificación BD2021Planificación BD2021
Planificación BD2021
José Ricardo Tillero Giménez
 
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBDUNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
José Ricardo Tillero Giménez
 
NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301
José Ricardo Tillero Giménez
 
NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102
José Ricardo Tillero Giménez
 
NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101
José Ricardo Tillero Giménez
 
Notas definitivas per base de datos
Notas definitivas per base de datosNotas definitivas per base de datos
Notas definitivas per base de datos
José Ricardo Tillero Giménez
 
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPGuía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
José Ricardo Tillero Giménez
 
Guía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteoGuía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteo
José Ricardo Tillero Giménez
 
Manual Basico de jQuery
Manual Basico de jQueryManual Basico de jQuery
Manual Basico de jQuery
José Ricardo Tillero Giménez
 

Más de José Ricardo Tillero Giménez (20)

PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
 
Guía Ejercicios SQL
Guía Ejercicios SQLGuía Ejercicios SQL
Guía Ejercicios SQL
 
Guía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de DatosGuía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de Datos
 
Guía 1 Ejercicios MR
Guía 1 Ejercicios MRGuía 1 Ejercicios MR
Guía 1 Ejercicios MR
 
Guía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de DatosGuía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de Datos
 
Guía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER ExtendidoGuía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER Extendido
 
Guía 2 Ejercicios MER
Guía 2 Ejercicios MERGuía 2 Ejercicios MER
Guía 2 Ejercicios MER
 
Guía 1 Ejercicios MER
Guía 1 Ejercicios MERGuía 1 Ejercicios MER
Guía 1 Ejercicios MER
 
Plan de evaluación BD2021
Plan de evaluación BD2021Plan de evaluación BD2021
Plan de evaluación BD2021
 
Perfil Docente y Asesoría
Perfil Docente y AsesoríaPerfil Docente y Asesoría
Perfil Docente y Asesoría
 
Planificación BD2021
Planificación BD2021Planificación BD2021
Planificación BD2021
 
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBDUNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
 
NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301
 
NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102
 
NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101
 
Notas definitivas per base de datos
Notas definitivas per base de datosNotas definitivas per base de datos
Notas definitivas per base de datos
 
Clase 6 VLAN
Clase 6 VLANClase 6 VLAN
Clase 6 VLAN
 
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPGuía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
 
Guía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteoGuía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteo
 
Manual Basico de jQuery
Manual Basico de jQueryManual Basico de jQuery
Manual Basico de jQuery
 

Último

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
jheisonraulmedinafer
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
SandraPiza2
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 

Último (20)

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 

Clase 2 El lenguaje DDL de SQL

  • 1. Base de Datos UNIDAD 4: El lenguaje SQL Clase 2: El lenguaje DDL de SQL Ing. Ricardo Tillero
  • 2. Introducción SQL ESTÁNDAR: • El SQL, lenguaje de consulta estructurado, es el lenguaje de datos estándar que utilizan las bases de datos relacionales. EVOLUCIÓN: • 1970: IBM, en su centro de investigación de San José (denominado actualmente Almaden), desarrolló el Sequel (lenguaje de consulta). Fue el prototipo de lo que hoy se conoce como SQL. • 1986: Aparece una primera normalización ANSI, aunque no tiene éxito. • 1987: IBM saca al mercado el SAA-SQL. • 1989: Aparece otra normalización ANSI, y esta vez tiene más éxito, siendo Oracle el primero en utilizarlo. • 1992: Sale al mercado el SQL-2; es lo que hoy día implementan todos los sistemas gestores de bases de datos, y es, asimismo, lo mínimo que se le puede pedir a un sistema de este tipo.
  • 3. Introducción SQL COMPONENTES: todo lenguaje de consulta tiene: • Lenguaje de Definición de Datos (LDD - DDL): sirve para crear todos los objetos y datos que se utilizan normalmente (tablas, vistas, restricciones, etc.) así como las directivas de seguridad. • Lenguaje de Manipulación de Datos (LMD - DML): está orientado principalmente a las consultas; permite insertar datos, consultar (mediante SELECT), borrar, actualizar, entre otras.
  • 4. El lenguaje DDL de SQL El DDL (Data Definition Language) o Lenguaje de Definición de Datos es la parte de SQL dedicada a la definición de los datos. Las sentencias DDL son las siguientes: • CREATE: se utiliza para crear objetos como bases de datos, tablas, vistas, índices, triggers y procedimientos almacenados. • DROP: se utiliza para eliminar los objetos de la base de datos. • ALTER: se utiliza para modificar los objetos de la base de datos. • SHOW: se utiliza para consultar los objetos de la base de datos. Otras sentencias de utilidad que usaremos en esta unidad son: • USE: se utiliza para indicar la base de datos con la que queremos trabajar. • DESCRIBE: se utiliza para mostrar información sobre la estructura de una tabla.
  • 5. Manipulación de Bases de Datos Crear una base de datos: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] nombre_base_datos; • DATABASE y SCHEMA son sinónimos. • IF NOT EXISTS crea la base de datos sólo si no existe una base de datos con el mismo nombre. Ejemplos: • CREATE DATABASE nombre_base_datos; • CREATE DATABASE nombre_base_datos CHARACTER SET utf8; • CREATE DATABASE nombre_base_datos CHARACTER SET utf8 COLLATE utf8_general_ci;
  • 6. Manipulación de Bases de Datos CHARACTER SET y COLLATE • CHARACTER SET: Especifica el set de caracteres que vamos a utilizar en la base de datos. • COLLATE: Especifica el tipo de cotejamiento que vamos a utilizar en la base de datos. Indica el criterio que vamos a seguir para ordenar las cadenas de caracteres. • SHOW CHARACTER SET; Para ver cuáles son los sets de caracteres que tenemos disponibles. • SHOW COLLATION; Para consultar qué tipos de cotejamiento hay disponibles podemos usar. • SHOW COLLATION LIKE 'utf8%‘; Si queremos hacer una consulta más específica sobre los tipos de cotejamiento que podemos usar con utf8.
  • 7. Manipulación de Bases de Datos Eliminar una base de datos: DROP {DATABASE | SCHEMA} [IF EXISTS] nombre_base_datos; DATABASE y SCHEMA son sinónimos. IF EXISTS elimina la la base de datos sólo si ya existe. Ejemplo: DROP DATABASE nombre_base_datos;
  • 8. Manipulación de Bases de Datos Modificar una base de datos: ALTER {DATABASE | SCHEMA} [nombre_base_datos] alter_specification [, alter_especification] ... Ejemplo: ALTER DATABASE nombre_base_datos CHARACTER SET utf8;
  • 9. Manipulación de Bases de Datos Consultar el listado de bases de datos disponibles: SHOW DATABASES; Muestra un listado con todas las bases de datos a las que tiene acceso el usuario con el que hemos conectado a MySQL. Mostrar la sentencia SQL de creación de una base de datos: SHOW CREATE DATABASE nombre_base_datos; Se puede utilizar para visualizar la sentencia SQL que sería necesaria ejecutar para crear la base de datos que le estamos indicando como parámetro.
  • 10. Manipulación de tablas Crear una tabla: a continuación se muestra una versión simplificada de la sintaxis necesaria para la creación de una tabla en MySQL.
  • 11. Manipulación de tablas Restricciones sobre las columnas de la tabla: podemos aplicar las siguientes restricciones sobre las columnas de la tabla: NOT NULL o NULL: Indica si el campo no permite almacenar valores nulos o no. DEFAULT: Permite indicar un valor inicial por defecto si no especificamos ninguno en la inserción. AUTO_INCREMENT: Sirve para indicar que es un campo autonumérico. Su valor se incrementa automáticamente en cada inserción de una fila. Sólo se utiliza en campos de tipo entero. UNIQUE KEY: Indica que el campo es una clave secundaria. PRIMARY KEY: Para indicar que un campo o varios son clave primaria. ON DELETE y ON UPDATE: Nos permiten indicar el efecto que provoca el borrado o la actualización de los datos que están referenciados por claves ajenas. Las opciones que podemos especificar son las siguientes: RESTRICT: Impide que se puedan actualizar o eliminar las filas que tienen valores referenciados por claves ajenas. Es la opción por defecto en MySQL. CASCADE: Permite actualizar o eliminar las filas que tienen valores referenciados por claves ajenas. SET NULL: Asigna el valor NULL a las filas que tienen valores referenciados por claves ajenas. NO ACTION: Es una palabra clave del estándar SQL. En MySQL es equivalente a RESTRICT. SET DEFAULT: No es posible utilizar esta opción cuando trabajamos con el motor de almacenamiento InnoDB. Puedes encontrar más información en la documentación oficial de MySQL.
  • 12. Manipulación de tablas Restricciones sobre las columnas de la tabla: Ejemplo 1:
  • 13. Manipulación de tablas Restricciones sobre las columnas de la tabla: Ejemplo 2:
  • 14. Manipulación de tablas Opciones a tener en cuenta en la creación de las tablas: AUTO_INCREMENT: Aquí podemos indicar el valor inicial que vamos a usar en el campo definido como AUTO_INCREMENT. CHARACTER SET: Especifica el set de caracteres que vamos a utilizar en la tabla. COLLATE: Especifica el tipo de cotejamiento que vamos a utilizar en la tabla. ENGINE: Especifica el motor de almacenamiento que vamos a utilizar para la tabla. Los más habituales en MySQL son InnoDB y MyISAM. Por defecto las tablas se crean con el motor InnoDB.
  • 15. Manipulación de tablas Opciones a tener en cuenta en la creación de las tablas: Ejemplo:
  • 16. Manipulación de tablas Eliminar una tabla: DROP [TEMPORARY] TABLE [IF EXISTS] nombre_tabla [, nombre_tabla]; Ejemplos: DROP TABLE nombre_tabla; DROP TABLE IF EXISTS nombre_tabla; DROP TABLE nombre_tabla_1, nombre_tabla_2;
  • 17. Manipulación de tablas Modificar una tabla: En muchas ocasiones es necesario modificar los atributos de una tabla, añadir nuevos campos o eliminar otros. Si la tabla no tiene datos podemos eliminar la tabla y volver a crearla, pero si se trata de una tabla que ya contiene datos tenemos que hacer uso de la sentencia ALTER TABLE. A continuación se muestra la sintaxis necesaria para la modificación de una tabla en MySQL.
  • 18. Manipulación de tablas Modificar una tabla: sintaxis MySQL.
  • 19. Manipulación de tablas Modificar una tabla: sintaxis MySQL.
  • 20. Manipulación de tablas Modificar una tabla: sintaxis MySQL.
  • 21. Manipulación de tablas Modificar una tabla: sintaxis MySQL.
  • 22. Manipulación de tablas Ejemplo: ALTER TABLE <tbl_name> MODIFY MODIFY nos permite modificar el tipo de dato de una columna y sus atributos. Suponemos que tenemos la siguiente tabla creada CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(25) ); Y queremos modificar las columna nombre para que pueda almacenar 50 caracteres y además que sea NOT NULL. En este caso usaríamos la sentencia: ALTER TABLE usuario MODIFY nombre VARCHAR(50) NOT NULL; Después de ejecutar esta sentencia la tabla quedaría así: CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL );
  • 23. Manipulación de tablas Ejemplo: ALTER TABLE <tbl_name> ALTER ALTER nos permite asignar un valor por defecto a una columna o eliminar el valor por defecto que tenga establecido. Suponemos que tenemos la siguiente tabla creada CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, sexo ENUM('H', 'M') NOT NULL ); Y queremos que el valor por defecto de la columna sexo sea M. En este caso usaríamos la sentencia: ALTER TABLE usuario ALTER sexo SET DEFAULT 'M'; Después de ejecutar esta sentencia la tabla quedaría así: CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, sexo ENUM('H', 'M') NOT NULL DEFAULT 'M' ); Si ahora quisiéramos eliminar el valor por defecto de la columna sexo, usaríamos la siguiente sentencia: ALTER TABLE usuario ALTER sexo DROP DEFAULT;
  • 24. Manipulación de tablas Ejemplo: ALTER TABLE <tbl_name> ADD ADD nos permite añadir nuevas columnas a una tabla. Con los modificadores FIRST y AFTER podemos elegir el lugar de la tabla donde queremos insertar la nueva columna. FIRST coloca la nueva columna en primer lugar y AFTER la colocaría detrás de la columna que se especifique. Si no se especifica nada la nueva columna se añadiría detrás de la última columna de la tabla. Suponemos que tenemos la siguiente tabla creada CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, sexo ENUM('H', 'M') NOT NULL );
  • 25. Manipulación de tablas Ejemplo: ALTER TABLE <tbl_name> ADD Y queremos añadir la columna fecha_nacimiento de tipo DATE: ALTER TABLE usuario ADD fecha_nacimiento DATE NOT NULL; En este caso la nueva columna se ha añadido detrás de la última columna, sexo. La tabla quedaría así: CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, sexo ENUM('H', 'M') NOT NULL, fecha_nacimiento DATE NOT NULL );
  • 26. Manipulación de tablas Ejemplo: ALTER TABLE <tbl_name> ADD Suponemos que ahora queremos añadir las columnas apellido1 y apellido2 detrás de la columna nombre. ALTER TABLE usuario ADD apellido1 VARCHAR(50) NOT NULL AFTER nombre; ALTER TABLE usuario ADD apellido2 VARCHAR(50) AFTER apellido1; Después de ejecutar todas las sentencias la tabla quedaría así: CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, apellido1 VARCHAR(50) NOT NULL, apellido2 VARCHAR(50), sexo ENUM('H', 'M') NOT NULL DEFAULT 'M', fecha_nacimiento DATE NOT NULL );
  • 27. Manipulación de tablas Ejemplo: ALTER TABLE <tbl_name> DROP DROP nos permite eliminar una columna de la tabla. Suponemos que tenemos la siguiente tabla creada CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, apellido1 VARCHAR(50) NOT NULL, apellido2 VARCHAR(50), sexo ENUM('H', 'M') NOT NULL DEFAULT 'M', fecha_nacimiento DATE NOT NULL );
  • 28. Manipulación de tablas Ejemplo: ALTER TABLE <tbl_name> DROP Y queremos eliminar la columna fecha_nacimiento. En este caso usaríamos la sentencia: ALTER TABLE usuario DROP fecha_nacimiento; Después de ejecutar esta sentencia la tabla quedaría así: CREATE TABLE usuario ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, apellido1 VARCHAR(50) NOT NULL, apellido2 VARCHAR(50), sexo ENUM('H', 'M') NOT NULL DEFAULT 'M' );
  • 29. Manipulación de tablas Consultar el listado de tablas disponibles: SHOW TABLES; Muestra un listado de todas las tablas que existen en la base de datos con la que estamos trabajando. Mostrar información sobre la estructura de una tabla: DESCRIBE nombre_tabla; También podemos utilizar: DESC nombre_tabla; Esta sentencia se utiliza para mostrar información sobre la estructura de una tabla. Mostrar la sentencia SQL de creación de una tabla: SHOW CREATE TABLE nombre_tabla; Se puede utilizar para visualizar la sentencia SQL que sería necesaria ejecutar para crear la tabla que le estamos indicando como parámetro.
  • 31. Tipos de datos Números enteros: ZEROFILL: Todos los tipos de datos numéricos admiten el atributo ZEROFILL. Cuando asignamos este atributo a una columna también se le añade de forma automática el atributo UNSIGNED, de modo que el campo quedaría como UNISGNED ZEROFILL. Nota importante sobre INT(11): INT(11) no quiere decir que queremos guardar un número entero de 11 cifras. El número indicado entre paréntesis tiene utilidad cuando asignamos el atributo UNSIGNED ZEROFILL. En este caso se completa con 0 a la izquierda del valor hasta alcanzar el número indicado entre paréntesis. Por ejemplo, para una columna declarada como INT(4) ZEROFILL, el valor 5 será representado como 0005.
  • 32. Tipos de datos BIT, BOOL, BOOLEAN, SERIAL:
  • 33. Tipos de datos Números en punto flotante (Valores aproximados): • M indica el número de dígitos en total (la precisión). • D es el número de cifras decimales. Por ejemplo, un número declarado como FLOAT(7,4) tendrá 7 dígitos como máximo y 4 de ellos serán decimales. El rango de números que se pueden representar en este caso será desde -999.9999 hasta 999.9999.
  • 34. Tipos de datos Números en punto fijo (Valores exactos): En MySQL los tipos de datos DECIMAL y NUMERIC son equivalentes. Estos tipos de datos se utilizan cuando es necesario guardar los valores exactos sin redondeos. Se suelen utilizar cuando trabajamos con datos monetarios. M indica el número de dígitos en total (la precisión). Tiene un rango de 1 a 65. D es el número de cifras decimales. Tiene un rango de 0 a 30.
  • 35. Tipos de datos Fechas y tiempo: Cadenas de caracteres:
  • 36. Tipos de datos Datos binarios: ENUM y SET:
  • 37. Tipos de datos Resumen de los tipos de datos disponibles en MySQL: