You are on page 1of 34

ING.

IVAN IMAN AGURTO


Creacin de bases de datos
Sentencia CREATE DATABASE.
Esta sentencia crea una base de datos.

Sintaxis
CREATE DATABASE NOMBRE_BASE

Ejemplos: crear una base llamada BasePrueba:


CREATE DATABASE BasePrueba

Crear una base de datos llamada Base2


CREATE DATABASE Base2

Crear una base de datos llamada Base_Tres


CREATE DATABASE BaseTres

Importante.
Los nombres de las base de datos y as como tambin los nombre de las tablas de la
base de datos no deben contener espacios en blanco.
Crear tablas.
Sentencia CREATE TABLE. Construye una tabla
Sintaxis
CREATE TABLE nombreDeTabla (
Campo1 tipo de dato ,
Campo2 Tipo de dato,
Campo2 Tipo de dato,
)

Ejemplo:
CREATE TABLE TABLA1 (
Campo1 int,
Campo2 int,
Campo3 char(3)
)

CREATE TABLE Proveedores (


ClaveProveedor int,
Nombre char(40)
)
Ejemplo: Modelado
De la primera respuesta del usuario, el analista decide que para el nombre del alumno lo mejor ser
que exista un campo nombre y un campo apellido.

De la segunda respuesta de usuario, el analista decide que existir un campo matricula de tipo
numrico.
De la tercera y cuarta respuesta del usuario, el analista decide que el campo matricula puede ser auto
- numrico, con valor inicial en yyyy0001.

De la ultima respuesta del usuario, se determina que el campo para el telfono, siempre debe recibir un
dato.

Todo lo anterior se planea almacenarlo en una tabla de una base de datos. Por lo tanto necesitamos un
diagrama que describa la tabla.
Figura para modelar una tabla.
Figura para modelar una tabla.
Modelo Fsico
Modelo Lgico
Ejemplo: Modelado

El modelo para la tabla del ejemplo es el siguiente:

Tabla Alumnos Tabla Alumnos


Modelo Lgico Modelo Fsico

Alumnos Alumnos
Matricula Matricula: int
Pasamos del
Nombre modelo lgico al Nombre: char(20)
modelo Fsico
Apellidos Apellidos: varchar(50)
Fecha_Nac Fecha_Nac: datetime
Telefono Telefono: char(18)
Direccion Direccion: text
Implementacin del modelo
Alumnos
Matricula: int
Nombre: char(20)
Apellidos: varchar(50)
Fecha_Nac: datetime
Telefono: char(18)
Direccion: text
CREATE TABLE Alumnos (

Matricula INT,

Nombre VARCHAR (20),

Apellidos VARCHAR(50),

Fecha_Nac DATE,
Telefono CHAR (18),
Direccion TEXT
)
Sentencia INSERT INTO
Poblando tablas
Agregando datos en las tablas
Para agregar datos una tablas se utiliza la sentencia INSERT.

Esta sentencia tiene algunas variantes en su sintaxis segn el caso en que se desee aplicar.
Los diferentes caso de uso de la sentencia INSERT se plantean en el siguiente listado:

Escribiendo valores en todas las columnas de una tabla. A cada campo de la tabla
se le asigna un valor segn su tipo de dato.

Escribiendo valores en determinados campos. Se escriben valores solo en algunos


campos de la tablas, esto depende de las reglas de negocio que se estn modelando en
la base de datos. Obviamente los valores deben corresponder segn el tipo de dato de
los campos.

Escribiendo valores en forma no ordenada. Esto nos dice que si los campos
aparecen en el orden: campo1, campo2, campo3 en la tabla, nosotros podemos escribir
mediante la sentencia INSERT, primero en el campo2, luego en el campo3 y por ultimo
en el campo1.
INSERT. Valores en todos los campos
Sintaxis 1: Esta sintaxis se utiliza cuando se van a escribir datos en TODOS los campos de
una tabla.
INSERT INTO Nom_Tabla VALUES (dato1, dato2, dato3,);

Nota.
Debe haber tantos datos como campos en la tabla y los datos deben ser
proporcionados en el orden en el que aparecen los campos en la tabla
Ejemplo 1:

-- Suponiendo que tenemos la declaracin de una tabla como la siguiente:


CREATE TABLE Ventas (
IDPedido INT,
ClaveEmpleado INT NOT NULL,
Cliente VARCHAR (40) NOT NULL
);

INSERT INTO Ventas VALUES (2025, 30, Saenz) ;


INSERT. Valores en algunos campos
Sintaxis 2: Esta sintaxis se utiliza cuando NO se va a escribir datos en TODOS los campos de
una tabla.
INSERT INTO Nom_Tabla (Campo1, Campo2, Campo3,) VALUES (dato1, dato2, dato3,)

Ejemplo 1:

-- Suponiendo que tenemos la declaracion de una tabla como la siguiente:


CREATE TABLE Ventas (IDPedido INT PRIMARY KEY,
ClaveEmpleado INT NOT NULL,
Cliente VARCHAR (40) NOT NULL,
FechaVenta DATE NULL);

INSERT INTO Ventas (IDPedido, ClaveEmpleado, Cliente) VALUES (2025, 30, Saenz) ;
INSERT. Valores en algunos campos
Sintaxis 3: Esta sintaxis se utiliza para escribir datos en orden diferente de los campos con
respecto al orden de los campos en la tabla.
INSERT INTO Nom_Tabla (Campo2, Campo3, Campo1, ) VALUES (dato2, dato3, dato1,)

Ejemplo 1:
-- Suponiendo que tenemos una tabla con la siguiente estructura
CREATE TABLE tblEspecialidades
(
cveEsp SMALLINT,
DsDesEsp VARCHAR(80)
);

-- Escribiendo datos:
INSERT INTO tblEspecialidades
(DsDesEsp, cveEsp)
VALUES
('Dermatologia', 11);
INSERT. Solo en MYSQL !!!
MySQL ofrece la posibilidad de escribir varios registros en una sola sentencia INSERT.

Sintaxis MySQL.
INSERT INTO Nom_Tabla VALUES ( ... ), ( ... ), ... ;

Datos del registro 1


Datos del registro 2
Ejemplo.
--Si tenemos una tabla con la siguiente estructura
CREATE TABLE tblEspecialidades
(
cveEsp SMALLINT,
DsDesEsp VARCHAR(80)
);
--Escribiendo valores
INSERT INTO tblEspecialidades
VALUES
(12, 'Coloproctologia'),
(13, 'Dermatologia'),
(14, 'cardiologia') ;
Ejercicios.
1. Crear, en la base de datos de pruebas, la tabla tblEspecialidades como se modela a
continuacin. Insertar 4 registro a la tabla.
tblEspecialidades
cveEsp
NomEsp
DsDecEsp

2. Crear, en la base de datos de pruebas, la tabla Medico segn el siguiente modelo.


Insertar 3 registros ala tabla.
Medicos
cveMed
Nota.
Nombre
El campo cveEsp de la tabla Medicos,
Apellidos
FechNac debe ser del mismo tipo de dato que el
TelDom campo cveEsp de la tabla
cveEsp tblEspecialidades.
TelConsult
FechIngreso
Ejercicios
3. Crear una base de datos llamadas MovCrudLibros
3.1. Crear las siguientes tablas

Alumnos Libros
Matricula N_Clas
Nombre Titulo
Apellidos Autor
Status Edicion
NPrestamos NoEjem

3.2. Insertarle datos (al lo menos 3 registros para cada tabla)


Operadores:

NULL
Y
NOT NULL
Operador NULL
Operador NULL.
Permite valores vacos en la columna donde esta declarado.

Sintaxis:
Nombre_Campo Tipo NULL

Ejemplo:
CREATE TABLE Aspirantes (IdAspirante INT,
Nombre VARCHAR (35),
Experiencia TEXT NULL);

Nota:
Si no se especifica algn operador en una columna, por default es NULL
INSERT INTO. Insertando valores vacos en
campos NULL
Sintaxis 1:
INSERT INTO Nom_Tabla (Campo1, Campo2, Campo3,) VALUES (dato1, dato2, dato3,)

Ejemplo:
Suponiendo que tenemos la declaracin de una tabla como la siguiente:

CREATE TABLE Aspirantes (IdAspirante INT,


Nombre VARCHAR (35),
Experiencia TEXT NULL);

INSERT INTO Aspirantes (IDAspirante, Nombre) VALUES (2025, Carla);


Operador NOT NULL
Operador NOT NULL.
NO Permite valores vacos en la columna donde esta declarado.

Sintaxis:
Nombre_Campo Tipo NOT NULL

Ejemplo:
CREATE TABLE Aspirantes (IdAspirante INT NOT NULL ,
Nombre VARCHAR (35) NOT NULL,
Experiencia TEXT NULL);
INSERT INTO
Sintaxis 1:
INSERT INTO Nom_Tabla (Campo1, Campo2, Campo3,) VALUES (dato1, dato2, dato3,)

Ejemplo 1:
Suponiendo que tenemos la declaracin de una tabla como la siguiente:

CREATE TABLE Aspirantes (IdAspirante INT NOT NULL,


Nombre VARCHAR (35) NOT NULL,
Experiencia TEXT NULL);

INSERT INTO Aspirantes (IDAspirante, Nombre, Experiencia) VALUES (2025, Karla, Ibope
Administador de proyectos) ;
Llaves Primarias.
PRIMARY KEY
Constraint PRIMARY KEY o Clave primaria
Una clave primaria son uno o mas campos que identifican de manera nica a cada una de
las filas de una tabla.
Si la clave primaria es un solo campo este debe cumplir con las siguientes condiciones: su
valor es nico y no vacos para cada fila o registro.

Sintaxis 1. Clave Primaria simple - Un solo campo como clave primaria

create table Nom_Tabla (Campo1 TIPO,


Campo2 TIPO,
Campo3 TIPO,
PRIMARY KEY (Campo1))

Sintaxis 2. Clave primaria Compuesta - Dos o mas campos

create table Nom_Tabla (Campo1 TIPO,


Campo2 TIPO,
Campo3 TIPO,
PRIM ARY KEY (Campo1, Campo2))
Clave primaria Simple
Sintaxis alternativa para clave primaria simple.

create table Nom_Tabla (Campo1 TIPO,


Campo2 TIPO,
Campo3 TIPO,
PRIMARY KEY (Campo1))

La definicin anterior es equivalente a la siguiente definicin

create table Nom_Tabla (Campo1 TIPO PRIMARY KEY,


Campo2 TIPO,
Campo3 TIPO)
Ejemplos. PRIMARY KEY
Ejemplo1.
- - Operacin: Creacin de tablas
CREATE TABLE Aspirantes ( Clave INT PRIMARY KEY,

Nombre VARCHAR (40),


Licenciatura CHAR (4) )
- - Operacin de insercin de datos
INSERT INTO Aspirantes VALUES (1020, Guadalupe Jimnez Cruz, 120K)

************* ERRORES. ********************


- - La siguiente operacin no es aceptada, pues viola la regla de no vaci de la clave primaria
INSERT INTO Aspirantes (Nombre, Licenciatura)
VALUES (Guadalupe Jimnez Cruz, 120K)

- - No se permite insertar registros con valores duplicados en el campo PRIMARY KEY.

INSERT INTO Aspirantes VALUES (1020, Guadalupe Jimnez Cruz, 120K)


INSERT INTO Aspirantes VALUES (1020, Sofia Castro Cayetano, 150F)
Ejemplos. PRIMARY KEY
-- CREACION de la tabla PRODUCTOS
CREATE TABLE tblProductos
(
Id_Producto INT PRIMARY KEY,
NombreProducto VARCHAR (40),
cveCategoria SMALLINT,
PrecioUnitario DECIMAL(8,2),
Existencias BIGINT,
UnidadesEnPedido INT
);

-- Escribiendo datos en la tabla PRODUCTOS.


INSERT INTO tblProductos
VALUES
(1,'Cream Secret', 2, 25.50, 145600, 25000) ;

-- Escribiendo datos en la tabla PRODUCTOS.


INSERT INTO tblProductos
VALUES
(2,'Quesos Alfaro', 2, 45.30, 12756, 200) ;
Ejercicios.
En la base de datos de Pueba, crear las siguientes tablas, asignando un campo
como PRIMARY KEY.

Citas
Pacientes
NumCita
ID_paciente
cveMed
Nombre ID_Paciente
Apellidos FechaSolicitud
Telefono FechaConsulta
Direccion Horario
FechaNac Costo
Ejercicios.
En la base de datos de MovCrudLibros borrar las tablas creadas y volver a
construirlas, pero con su respectiva PRIMARY KEY.
Modificando la estructura de
tablas
ALTER TABLE
ALTER TABLE. Agregando columnas
Sintaxis:

ALTER TABLE Nom_Tabla ADD Nom_Columna Tipo [Restricciones -si existen-]

Ejemplo:
CREATE TABLE TX (C1 INT,
C2 CHAR (2))

ALTER TABLE TX ADD C3 DATETIME -- agrega una nueva columna llamada C3

La sentencia ALTER TABLE agregara una nueva columna al final de las columnas ya existentes
en la tabla TX.
Si la tabla ya tienen registros, la nueva Columna coloca valores NULL en estos registros.
Borrando Columnas
Para borrar una Columna se realiza a travs del la sentencia ALTER TABLE

Sintaxis:
ALTER TABLE Nom_Tabla DROP COLUMN Nom_Columna

Ejemplo.
ALTER TABLE Tx ADD C10 INT
ALTER TABLE Tx DROP C10
Cambiar de tipo de dato a un campo
Para poder cambiar de tipo de dato a un campo se utiliza la sentencia ALTER TABLE

Sintaxis.

ALTER TABLE Nom_Tabla CHANGE Nom_Columna Nom_Columna Nuevo_tipo

Ejemplo.

-- inicialmente el campo es varchar de 200

ALTER TABLE TX CHANGE C3 C3 CHAR (200);


Cambiar nombre un campo
Para poder cambiar el nombre de un campo se utiliza la sentencia ALTER TABLE

Sintaxis.

ALTER TABLE Nom_Tabla CHANGE Nom_Anterior Nuevo_Nombre mismo_tipo

Ejemplo.

-- inicialmente el campo es CHAR(200)

ALTER TABLE TX CHANGE B1 C3 CHAR (200);


Agregando PRIMARY KEY
Sintaxis.
ALTER TABLE Tabla ADD CONSTRAINT PRIMARY KEY (C1)

Ejemplo.
- - Agregamos restriccin PRIMARY KEY en columna C1
ALTER TABLE TX ADD CONSTRAINT PRIMARY KEY (C1)
Borrando PRIMARY KEY
Sintaxis.
ALTER TABLE Tabla DROP PRIMARY KEY (

Ejemplo.
- - Borra la restriccin PRIMARY KEY de la tabla TX.
ALTER TABLE TX DROP PRIMARY KEY
Renombrando tablas
Para cambia el nombre de un tabla se utiliza la sentencia ALTER TABLE Con la
siguiente sintaxis.

Sintaxis.
ALTER TABLE t1 RENAME TO t2;

Otra forma de renombrar a las tabla es mediante la variante de alter tabla

RENAME TABLE t1 TO t2;

You might also like