Base de datos
Un sistema de bases de datos
proporciona un lenguaje de definición de datos para especificar el esquema de
la base de datos y un lenguaje de manipulación de datos para expresar las
consultas a la base de datos y las modificaciones. Los lenguajes de definición
y manipulación de datos no son dos lenguajes separados; forman parte de un
único lenguaje de bases de datos, tal como SQL.
Lenguaje de
Definición de datos (LDD)
El lenguaje de Definición de
datos, en inglés Data Definition Language (DLL), es el que se encarga de la
modificación de la estructura de los objetos de la base de datos. Existen
cuatro operaciones básicas: CREATE, ALTER, DROP y TRUNCATE.
.CREATE
Este comando crea un objeto
dentro de la base de datos. Puede ser una tabla, vista, índice, trigger,
función, procedimiento o cualquier otro objeto que el motor de la base de datos
soporte.
Ejemplo 1 (creación de una
tabla):
CREATE TABLE TABLA_NOMBRE (
cl integer not null
nombre VARCHAR (50)
fecha_nac DATE NOT NULL,
PRIMARY KEY (my_field1, my_field 2)
.ALTER
Este comando permite modificar la
estructura de un objeto- Se pueden agregar / quitar campos a una tabla,
modificar el tipo de un campo, agregar / quitar índices a una tabla, modificar
un trigger, etc.
Ejemplo 1 (agregar columna a una
tabla):
ALTER TABLE TABLA NOMBRE (
ADD NUEVO_ CAMPO INT UNSIGNED
)
DROP
Este comando elimina un objeto de
la base de datos. Puede ser una tabla, vista, índice, trigger, función,
procedimiento o cualquier otro objeto que el motor de la base de datos soporte.
Se puede combinar con la sentencia ALTER.
Ejemplo 1:
DROP TABLE TABLA_NOMBRE
Ejemplo 2:
ALTER TABLE TABLA_NOMBRE
(
DROP COLUMN CAMPO_NOMBRE 1
)
TRUNCATE
Este comando trunca todo el
contenido de una tabla. La ventaja sobre el comando DELETE, es que si se quiere
borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la
tabla es muy grande, la desventaja es que TRUNCATE solo sirve cuando se quiere
eliminar absolutamente todos los registros, ya que no se permite la cláusula
WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de
Manipulación de Datos), es en realidad una DDL, ya que internamente, el comando
truncate borra la tabla y la vuelve a crear y no ejecuta ninguna transacción.
Ejemplo 1:
TRUNCATE TABLE TABLA_NOMBRE.
22.1.6. Lenguaje
de Manipulación de datos (LMD)
.INSERT
Una sentencia INSERT de SQL agrega uno o más
registros a una (y sólo una) tabla en una base de datos relacional.
.Forma básica
INSERT INTO tabla (columna1,[columna2,…]) VALUES
(valor1, [valor2,…])
Las cantidades de columnas y valores deben ser las
mismas. Si una columna no se especifica, le será asignado el valor por omisión.
Los valores especificados (o implícitos) por la sentencia INSERT deberán
satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o
si alguna de las restricciones es violada, no se agrega la fila y se devuelve
un error.
Ejemplo:
INSERT INTO agenda.telefonica (nombre, número)
VALUES (`Roberto Fernández`, `4886850`)
Cuando se especifican todos los valores de una
tabla, se puede utilizar la sentencia acortada.
INSERT INTO tabla VALUES (valor1,; [valor2,…])
Ejemplo (asumiendo que `nombre` y `número` son los
únicas columnas de la tabla ` agenda_telefonica`):
INSERT INTO agenda_telefonica VALUES (`Roberto
Fernández”, `4886850`)
.Formas avanzadas
.Inserciones en múltiples filas
Una característica de SQL (desde SQL-92) es el uso
de constructores de filas para insertar múltiples filas a la vez, con una sola
sentencia SQL:
INSERT INTO tabla (columna1, [columna2,…]) VALUES
(valor1a, [valor16,…], (value2a, [value26,…]),…
Ejemplo (asumiendo ese `nombre` y `número `son las
únicas columnas en la tabla `agenda_telefonica`):
INSERT INTO agenda_telefonica VALUES (`Roberto
Fernández`, `4886850`), (` Alejandro Sosa`, `4556550`); que podía haber sido
realizado por las sentencias.
INSERT INTO agenda_telefonica VALUES (`Roberto
Fernández`, `4886850`);
INSERT INTO agenda_telefonica VALUES (`Alejandro
Sosa`, `0`);
Notar que las sentencias separadas pueden tener
semántica diferente (especialmente con respecto a los triggers), y puede tener
diferente performance que la sentencia de inserción múltiple.
No hay comentarios:
Publicar un comentario
Dime que tema o tarea quiere que te investigue y lo Haremos.
por favor deja tu comentario, para seguir motivado trabajando para ustedes.