¿Cómo se crea una base de datos en SQL?

Seleccionar Base de Datos en SQL con USE

Valoración: 4.89 (8122 votos)

Cuando trabajamos con sistemas de gestión de bases de datos relacionales (RDBMS) que manejan múltiples bases de datos en una misma instancia o servidor, es fundamental indicarle al sistema con cuál de ellas deseamos interactuar en un momento dado. Imagina que tienes varios archivadores; antes de buscar un documento, primero debes decidir en qué archivador mirar. En el mundo de SQL, esta selección previa es un paso crucial antes de realizar cualquier operación como crear tablas, insertar datos, o consultarlos.

La sentencia que nos permite realizar esta tarea fundamental es USE. Es la puerta de entrada a la base de datos específica donde residen los datos o las estructuras que nos interesan.

¿Qué comando se utiliza para seleccionar datos en SQL?
SQL SELECT – cómo seleccionar registros de datos concretos. SQL SELECT es una palabra clave y una instrucción que sirve para seleccionar datos de columnas y tablas, acceder a ellos y visualizarlos.
Índice de Contenido

¿Qué es la Sentencia USE en SQL?

La sentencia USE en SQL se utiliza para cambiar el contexto de la base de datos actual a la base de datos especificada. Una vez que seleccionas una base de datos con USE, todas las sentencias SQL subsiguientes (como CREATE TABLE, INSERT, SELECT, UPDATE, DELETE, etc.) se ejecutarán dentro del ámbito de esa base de datos seleccionada, a menos que especifiques explícitamente lo contrario (lo cual es menos común para operaciones diarias).

Es un comando simple pero poderoso, ya que define el entorno de trabajo para tus consultas y operaciones. Sin seleccionar la base de datos correcta, intentar acceder a tablas o realizar operaciones resultará en errores, ya que el sistema no sabrá dónde buscar o aplicar los cambios.

Sintaxis de la Sentencia USE

La sintaxis básica de la sentencia USE es extremadamente sencilla:

USE NombreDeLaBaseDeDatos;

Aquí, NombreDeLaBaseDeDatos es el nombre de la base de datos a la que deseas cambiar. Este nombre debe ser un nombre válido y existente dentro de la instancia del servidor de base de datos al que estás conectado. El nombre de la base de datos es generalmente único dentro de un servidor RDBMS.

Ejemplos Prácticos de Uso

Veamos un flujo de trabajo común que demuestra cómo y cuándo usar la sentencia USE.

Paso 1: Crear una Base de Datos (si no existe)

Antes de poder seleccionar una base de datos, esta debe existir. Podemos crear una nueva base de datos utilizando la sentencia CREATE DATABASE.

¿Cuáles son las 4 sentencias básicas de SQL?
sentencias de SQLSentencia de SQLFinalidadSentencia CREATE TYPE (cursor)Define un tipo de cursor.Sentencia CREATE TYPE (diferenciado)Define un tipo de datos diferenciado.Sentencia CREATE TYPE (fila)Define un tipo de fila.Sentencia CREATE TYPE MAPPINGDefine una correlación entre tipos de datos.
CREATE DATABASE testDB;

Este comando le indica al servidor que cree una nueva base de datos llamada testDB. Una vez ejecutado con éxito, la base de datos está lista para ser utilizada.

Paso 2: Listar Bases de Datos (Opcional pero Útil)

Si no estás seguro de qué bases de datos existen en el servidor, puedes listarlas. La forma de hacerlo varía ligeramente entre diferentes sistemas RDBMS (como MySQL, SQL Server, PostgreSQL, etc.), pero un comando común es:

SHOW DATABASES;

La salida de este comando mostrará una lista de todas las bases de datos disponibles en el servidor. Por ejemplo:

Database
------
master
performance_schema
information_schema
mysql
testDB

Ahora vemos que testDB aparece en la lista.

Paso 3: Seleccionar la Base de Datos con USE

Ahora que sabemos que testDB existe, podemos seleccionarla para empezar a trabajar dentro de ella:

USE testDB;

Si la sentencia se ejecuta correctamente, el sistema confirmará el cambio. La respuesta típica será algo como:

Database changed

Esto significa que tu sesión actual de SQL está ahora operando dentro del contexto de la base de datos testDB.

Paso 4: Realizar Operaciones Dentro de la Base de Datos Seleccionada

Una vez que has seleccionado testDB con USE, puedes proceder a crear tablas, insertar datos y realizar consultas u otras operaciones *dentro* de esa base de datos sin necesidad de especificar el nombre de la base de datos en cada comando (aunque en algunos sistemas y contextos, como consultas que involucran tablas de diferentes bases de datos, podrías necesitar la notación NombreBaseDatos.NombreTabla).

Por ejemplo, podemos crear una tabla y añadirle datos:

CREATE TABLE CALENDAR(
MONTHS DATE NOT NULL
);

Luego, insertamos algunos registros:

INSERT INTO CALENDAR(MONTHS) VALUES('2023-01-01');
INSERT INTO CALENDAR(MONTHS) VALUES('2023-02-01');
INSERT INTO CALENDAR(MONTHS) VALUES('2023-03-01');
INSERT INTO CALENDAR(MONTHS) VALUES('2023-04-01');
INSERT INTO CALENDAR(MONTHS) VALUES('2023-12-01');

Y finalmente, consultamos los datos insertados utilizando la sentencia SELECT:

SELECT * FROM CALENDAR;

La salida mostrará los datos que acabamos de insertar en la tabla CALENDAR, que se encuentra dentro de la base de datos testDB:

MONTHS
----------
2023-01-01
2023-02-01
2023-03-01
2023-04-01
2023-12-01

Todas estas operaciones se llevaron a cabo con éxito porque previamente seleccionamos testDB con la sentencia USE.

¿Cómo se crea una base de datos en SQL?
Seleccione Bases de datos en el menú de navegación de SQL. Haga clic en Crear base de datos. En el cuadro de diálogo Nueva base de datos, especifique el nombre de la base de datos. Haga clic en Crear .

¿Qué Pasa si Intento Seleccionar una Base de Datos Inexistente?

Es un error común intentar usar USE con un nombre de base de datos que no existe en el servidor. Cuando esto ocurre, el sistema RDBMS generará un error indicando que la base de datos no fue encontrada.

Por ejemplo, si intentamos:

USE unknownDatabase;

Recibiríamos un mensaje de error similar a este:

ERROR 1049 (42000): Unknown database 'unknownDatabase'

Este error es una clara señal de que el nombre de la base de datos proporcionado no coincide con ninguna base de datos existente en el servidor. Es importante verificar el nombre de la base de datos (quizás usando SHOW DATABASES;) antes de intentar seleccionarla.

Importancia de la Sentencia USE

La sentencia USE es más que una simple conveniencia; es una parte integral del flujo de trabajo en muchos entornos SQL. Permite:

  • Claridad: Define explícitamente el objetivo de tus operaciones.
  • Seguridad: Ayuda a garantizar que las operaciones se apliquen en la base de datos correcta, evitando modificaciones accidentales en otras bases de datos.
  • Eficiencia: Evita tener que cualificar cada objeto (tabla, vista, etc.) con el nombre de la base de datos (por ejemplo, SELECT * FROM testDB.CALENDAR; en lugar de SELECT * FROM CALENDAR; después de usar USE testDB;).

Aunque algunas herramientas o lenguajes de programación que se conectan a bases de datos permiten especificar la base de datos como parte de la cadena de conexión inicial, la sentencia USE sigue siendo fundamental para cambiar de base de datos *dentro* de una sesión ya establecida o en scripts SQL.

Preguntas Frecuentes sobre USE

¿Es obligatorio usar USE antes de cada sentencia SQL?

No, no es necesario usar USE antes de *cada* sentencia. Solo necesitas usarla una vez al principio de tu sesión o script, o cada vez que desees cambiar a una base de datos diferente dentro de la misma sesión. Una vez que seleccionas una base de datos con USE, esa selección permanece activa para todas las sentencias subsiguientes hasta que uses USE nuevamente para seleccionar otra base de datos o hasta que finalice tu sesión.

¿Qué base de datos se usa por defecto si no utilizo USE?

Si no utilizas USE, la base de datos activa dependerá de la configuración de tu conexión o del sistema. A menudo, se conecta a una base de datos por defecto configurada para tu usuario o a una base de datos del sistema como master (en SQL Server) o una base de datos por defecto similar. Sin embargo, depender de la base de datos por defecto puede ser arriesgado y menos explícito que usar USE para especificar tu intención.

¿Qué es un SELECT en base de datos?
Una cláusula SELECT se usa para especificar los nombres de los campos que contienen los datos que quiere usar en una consulta. También puede usar expresiones en lugar de o además de los campos. Incluso puede usar otra instrucción SELECT como campo, esto se conoce como una subconsulta.

¿Necesito permisos especiales para usar USE?

Para usar la sentencia USE y cambiar a una base de datos, necesitas tener permisos para acceder a esa base de datos. Si no tienes los permisos adecuados, el sistema te negará el acceso y no podrás seleccionar la base de datos, incluso si existe.

¿Puedo usar USE DATABASE en lugar de USE?

La sintaxis estándar y más común es simplemente USE NombreDeLaBaseDeDatos;. Algunos sistemas RDBMS podrían aceptar USE DATABASE NombreDeLaBaseDeDatos; por compatibilidad o como sintaxis alternativa, pero USE es universalmente reconocida y preferida.

¿La sentencia USE afecta a otras conexiones al servidor?

No, la sentencia USE solo afecta a la sesión o conexión SQL actual desde la que se ejecuta. Otras conexiones al mismo servidor RDBMS operan de forma independiente y pueden estar trabajando con la misma base de datos, una base de datos diferente, o ninguna base de datos seleccionada explícitamente, dependiendo de su propia configuración o comandos USE.

Conclusión

La sentencia USE es una herramienta fundamental para cualquier persona que trabaje con bases de datos SQL. Permite definir claramente el contexto de trabajo, dirigir tus operaciones y consultas a la base de datos correcta, y evitar errores causados por la ambigüedad. Dominar su uso es un paso esencial para interactuar de manera efectiva y segura con tus sistemas de bases de datos. Recuerda siempre verificar el nombre de la base de datos y asegurarte de tener los permisos necesarios antes de intentar seleccionarla.

Si quieres conocer otros artículos parecidos a Seleccionar Base de Datos en SQL con USE puedes visitar la categoría Bases de datos.

Ivan

Soy un entusiasta de la tecnología con especialización en bases de datos, particularmente en MySQL. A través de mis tutoriales detallados, busco desmitificar los conceptos complejos y proporcionar soluciones prácticas a los desafíos cotidianos relacionados con la gestión de datos

Aprende mas sobre MySQL

Subir