Introducción a la tabla en SQL
En un sistema de gestión de bases de datos relacionales, se utiliza una tabla para almacenar datos de manera efectiva y eficiente para que, cuando sea necesario, se pueda recuperar fácilmente. Una tabla es una colección de datos relacionados y los datos se organizan en filas y columnas. Una tupla o registro en una tabla es una entrada única donde la tupla representa un conjunto de datos relacionados. En una tabla en SQL, la clave primaria se usa para identificar los registros de manera única, mientras que la clave externa se usa para hacer referencia a datos de otra tabla.
¿Cómo crear una tabla en SQL?
La sintaxis para crear una tabla es la siguiente:
CREATE TABLE table_name (
COLUMN1 datatype PRIMARY KEY,
COLUMN2 datatype,
COLUMN3 datatype,
……
);
Creemos la tabla 'ESTUDIANTES' de la siguiente manera:
CREATE TABLE STUDENTS (
ROLL INT PRIMARY KEY,
NAME VARCHAR (50),
AGE INT,
SUBJECT VARCHAR (50)
);
Podemos insertar valores en la tabla 'ESTUDIANTES' como se muestra a continuación:
INSERT INTO STUDENTS VALUES (8, 'Ram', 12, 'ENG');
INSERT INTO STUDENTS VALUES (11, 'Priya', 11, 'MATH');
INSERT INTO STUDENTS VALUES (9, 'Rahul', 10, 'SCIENCE');
Después de insertar los datos, podemos ver los datos insertados en la tabla de la siguiente manera:
SELECT * FROM STUDENTS;
RODAR | NOMBRE | AÑOS | TEMA |
8 | RAM | 12 | INGLÉS |
11 | Priya | 11 | MATEMÁTICAS |
9 9 | Rahul | 10 | CIENCIAS |
¿Cómo soltar tabla en SQL?
La sintaxis para colocar una tabla es la siguiente:
DROP TABLE table_name;
DROP TABLE STUDENTS;
La consulta anterior descartará la tabla 'ESTUDIANTES', es decir, se eliminarán los datos y la definición de la tabla. Por lo tanto, debemos tener cuidado antes de ejecutar una instrucción drop, ya que toda la información relacionada con la tabla se eliminará de la base de datos.
¿Cómo eliminar la tabla en SQL?
Cuando usamos la instrucción DELETE sin la cláusula WHERE, todas las filas de una tabla se eliminarán, pero la estructura de la tabla seguirá siendo la misma. La sintaxis para el mismo es la siguiente:
DELETE FROM table_name;
La instrucción delete se usa en SQL para eliminar los registros que existen actualmente en la tabla. Siempre que surja el requisito y no queramos ciertos registros, la declaración de eliminación se usa junto con la cláusula Where para eliminar esos registros. La sintaxis para el mismo es la siguiente:
DELETE FROM table_name WHERE (condition);
DELETE FROM STUDENTS WHERE SUBJECT= 'MATH';
La consulta anterior proporcionará el siguiente resultado:
RODAR | NOMBRE | AÑOS | TEMA |
8 | RAM | 12 | INGLÉS |
9 9 | Rahul | 10 | CIENCIAS |
¿Cómo cambiar el nombre de la tabla en SQL?
Sucede que en algún momento después de haber creado la tabla, queremos cambiarle el nombre. La declaración ALTER TABLE se usa para cambiar el nombre de la tabla.
ALTER TABLE table_name RENAME TO table_name_new;
Si queremos alterar el nombre de la tabla 'ESTUDIANTES', puede hacerse de la siguiente manera.
ALTER TABLE STUDENTS RENAME TO STUDENT_NEW;
¿Cómo truncar la tabla en SQL?
Cuando surge la necesidad de eliminar los datos dentro de la tabla y la estructura de la tabla, como columnas, etc., debe permanecer como está, podemos usar la instrucción TRUNCATE que solo elimina los datos de la tabla, pero no la tabla.
La sintaxis para usar la instrucción TRUNCATE es la siguiente:
TRUNCATE TABLE table_name;
TRUNCATE TABLE STUDENTS;
La consulta anterior eliminará los datos de la tabla 'ESTUDIANTES'. La tabla se vería de la siguiente manera después de la operación TRUNCATE:
SELECT * FROM STUDENTS;
RODAR | NOMBRE | AÑOS | TEMA |
Además, en otras palabras, podemos decir que la instrucción TRUNCATE realiza la misma operación que se puede hacer utilizando la instrucción DELETE pero sin el uso de la cláusula WHERE.
La ventaja de usar la instrucción TRUNCATE es que no necesitamos soltar la tabla y volver a crearla. Además, es una forma eficiente de borrar los registros de la tabla en aquellos casos en los que no tenemos que preocuparnos por el Rollback.
¿Cómo alterar la tabla en SQL?
Usamos la declaración de tabla ALTER para modificar las columnas que existen actualmente en las tablas. También con esta misma declaración, podemos eliminar o agregar diferentes restricciones en la tabla.
A continuación se muestra la sintaxis para agregar una nueva columna a la tabla existente:
ALTER TABLE table_name ADD (column_name1 datatype, column_name2 datatype… column datatype);
Agreguemos otra columna 'DIRECCIÓN' a la tabla existente 'ESTUDIANTES'.
ALTER TABLE STUDENTS ADD ADDRESS VARCHAR (50);
SELECT * FROM STUDENTS;
RODAR | NOMBRE | AÑOS | TEMA | HABLA A |
8 | RAM | 12 | INGLÉS | |
11 | Priya | 11 | MATEMÁTICAS | |
9 9 | Rahul | 10 | CIENCIAS |
En la consulta anterior, la columna DIRECCIÓN se agrega a la tabla.
Si queremos soltar una columna, se puede hacer con la siguiente sintaxis:
ALTER TABLE table_name DROP COLUMN column_name;
Veamos el siguiente ejemplo colocando la columna DIRECCIÓN.
ALTER TABLE table_name DROP COLUMN ADDRESS;
La consulta anterior proporcionará el siguiente resultado.
RODAR | NOMBRE | AÑOS | TEMA |
8 | RAM | 12 | INGLÉS |
11 | Priya | 11 | MATEMÁTICAS |
9 9 | Rahul | 10 | CIENCIAS |
Aquí podemos ver que la tabla se modifica ya que la columna DIRECCIÓN ahora se elimina de la tabla 'ESTUDIANTES'.
Con la ayuda de la declaración ALTER, podemos modificar una o más columnas a la vez.
La sintaxis para modificar la columna es la siguiente.
ALTER TABLE STUDENTS MODIFY column_name datatype;
ALTER TABLE STUDENTS MODIFY SUBJECT VARCHAR (30);
¿Cómo obtener datos de la tabla en SQL?
En SQL, la instrucción SELECT se usa como uno de los mecanismos flexibles para recuperar datos de las tablas en las bases de datos. La sintaxis de una consulta con SELECT es la siguiente:
SELECT column1, column2… FROM table_name;
En la consulta anterior, necesitamos colocar las columnas para las que queremos recuperar datos de la tabla. En caso de que queramos obtener los datos de todas las columnas o los datos de toda la tabla, podemos hacerlo mediante el uso de la sintaxis siguiente:
SELECT * FROM table_name;
SELECT * FROM STUDENTS;
RODAR | NOMBRE | AÑOS | TEMA |
8 | RAM | 12 | INGLÉS |
11 | Priya | 11 | MATEMÁTICAS |
9 9 | Rahul | 10 | CIENCIAS |
Con esto, el uso de un comodín: '*' recuperará todas las filas y columnas de la tabla 'ESTUDIANTES'. Esta es la forma más simple de la instrucción SELECT. Sin embargo, si surge el requisito donde necesitamos restringir la obtención de datos de acuerdo con algunas condiciones específicas, entonces debemos usar la cláusula WHERE. La sintaxis para esto es la siguiente:
SELECT column1, column2…
FROM table_name
WHERE (condition);
Veamos cómo obtener los datos con la condición especificada utilizando la consulta anterior. Supongamos que queremos seleccionar el ROLLO y SUJETO del estudiante cuya edad es mayor de 10 años en la tabla 'ESTUDIANTES'.
SELECT ROLL, SUBJECT FROM STUDENTS WHERE AGE > 10;
La consulta anterior restringirá los resultados solo para aquellos estudiantes cuya edad sea mayor de 10 años. Aquí la cláusula 'WHERE' limitará el resultado de la consulta a la condición especificada.
RODAR | NOMBRE | AÑOS | TEMA |
8 | RAM | 12 | INGLÉS |
11 | Priya | 11 | MATEMÁTICAS |
¿Cómo copiar una tabla en SQL?
Podemos copiar los datos de una tabla a la otra utilizando las instrucciones SELECT INTO o INSERT INTO. Al usar una instrucción SELECT INTO, la base de datos no necesita tener la tabla de destino en la que se copiarán los datos para estar allí. Pero en caso de utilizar la instrucción INSERT INTO, la tabla de destino en la que se copiarán los datos debe existir en la base de datos.
SELECT * INTO table_new FROM table_old;
La consulta anterior copiará todas las columnas de table_old a table_new.
Además, si queremos copiar solo unas pocas columnas de una a la otra tabla, podemos usar la siguiente sintaxis:
SELECT column1, column2… INTO table_new FROM table_old;
Tomemos un ejemplo en el que queremos copiar los datos de la tabla a otra tabla 'ESTUDIANTES_DETAILS' y se puede realizar de la siguiente manera:
SELECT * INTO STUDENT_DETAILS FROM STUDENTS;
Se creará otra tabla 'ESTUDIANTES_DETAILS' como se muestra a continuación:
RODAR | NOMBRE | AÑOS | TEMA |
8 | RAM | 12 | INGLÉS |
11 | Priya | 11 | MATEMÁTICAS |
9 9 | Rahul | 10 | CIENCIAS |
La sintaxis para copiar datos usando la instrucción INSERT INTO es la siguiente:
INSERT INTO table_new(column1, column2… )
SELECT column1, column2… FROM table_old WHERE (condition);
Como se discutió anteriormente que la instrucción INSERT INTO requerirá que la tabla de destino esté presente, primero necesitamos crear la estructura de la tabla de destino en la base de datos. Después de crear la estructura de la tabla STUDENT_DETAILS, iremos a la siguiente consulta.
INSERT INTO STUDENT_DETAILS (ROLL, NAME, AGE)
SELECT ROLL, NAME, AGE FROM STUDENTS
WHERE SUBJECT = 'SCIENCE';
La consulta anterior dará el siguiente resultado:
RODAR | NOMBRE | AÑOS | TEMA |
9 9 | Rahul | 10 | CIENCIAS |
Debemos tener en cuenta que al usar la instrucción INSERT INTO, los tipos de datos de las columnas en las tablas de origen y destino deben coincidir entre sí.
Conclusión
En RDBMS, las tablas hacen que el almacenamiento, la recuperación, el mantenimiento y la manipulación de datos de la manera más efectiva. Con el uso de diferentes comandos, podemos organizar y manipular los datos de acuerdo con los requisitos comerciales. Depende del diseñador / desarrollador ver las flexibilidades de los diferentes comandos y operaciones para elegir mejor sus diseños e implementaciones.
Artículos recomendados
Esta es una guía de Tabla en SQL. Aquí discutimos la tabla Introducción, y Cómo Crear, Eliminar, Eliminar, Renombrar, Truncar, Alterar, Recuperar Datos y Copiar en SQL. También puede consultar los siguientes artículos para obtener más información:
- Clave externa en SQL
- Transacciones en SQL
- Vistas SQL
- Base de datos en SQL
- Ejemplos de INSERT en Oracle