DIPLOMADO DE INFORMATICA
Taller de SQL

Lupita Betancourt
Instructor:MTI. Noè Càzarez Camargo
Cacn86@hotmail.com
suzma@gma...
DIPLOMADO DE INFORMATICA
Taller de SQL

Relaciones
Matricula de la tabla Alumnos (1) con Matricula de la tabla Grupo_Alum ...
DIPLOMADO DE INFORMATICA
Taller de SQL

MySQL
Pasos para la instalación:
1. DBSM: mysql-essential
2. Interfaz: mysql-gui-t...
DIPLOMADO DE INFORMATICA
Taller de SQL

SQL SE DIVIDE EN 2 LENGUAJES:
DDL: lenguajes de definición de datos. Instrucciones...
DIPLOMADO DE INFORMATICA
Taller de SQL

2. Eliminar BD
Drop DataBase nombreBD;
Drop Databse Ctlr _ESc;

Usar la BD; marca ...
DIPLOMADO DE INFORMATICA
Taller de SQL

Create Table nomtabla (nombrecampo1 tipo (longitud),nombre……) Engine __________;
C...
DIPLOMADO DE INFORMATICA
Taller de SQL

 Muestra la estructura de la tabla, cualquiera de las dos formas que se muestran ...
DIPLOMADO DE INFORMATICA
Taller de SQL

Create table Alumnos (Id integer unsigned not null Auto_increment, Matricula varch...
DIPLOMADO DE INFORMATICA
Taller de SQL

Alter table nombre tabla change nombre campo nombre del campo por el que se quiere...
DIPLOMADO DE INFORMATICA
Taller de SQL

Ejercicio
Alumnos
*Matricula

Tipo de Dato
Vc not null

Apaterno
Amaterno
Nombres
...
DIPLOMADO DE INFORMATICA
Taller de SQL

UTLIZANDO LA INTERFAZ DE MySQL
Pasos para crear una base de datos utilizando la in...
DIPLOMADO DE INFORMATICA
Taller de SQL

COMO HACER UN ENLACE ENTRE TABLAS (RELACIONES)
FOREIGN KEY (<NOMBRE_CAMPO>): de qu...
DIPLOMADO DE INFORMATICA
Taller de SQL

RELACION TABLA GRUPO_ALUM CON ALUMNOS Y GRUPOS
Create table grupo_alum (Matricula ...
DIPLOMADO DE INFORMATICA
Taller de SQL

2. Crear los índices:
a) Selecciona el campo al cual deseas crear el índice

b) Se...
DIPLOMADO DE INFORMATICA
Taller de SQL

d) Después se selecciona con que tabla se crea la relación y aparecerá la llave pr...
DIPLOMADO DE INFORMATICA
Taller de SQL

En esta ventana establezco que es lo que puede hacer el usuario:
1. Selecciono ctr...
DIPLOMADO DE INFORMATICA
Taller de SQL

c) Selecciona la BD que deseas agregar
d) Clic a la flechita para pasarla al otro ...
DIPLOMADO DE INFORMATICA
Taller de SQL

MANIPULACIÓN DE DATOS (DML)
COMO GUARDAR REGISTROS Y SUS DIFERENTES USOS
Insert in...
DIPLOMADO DE INFORMATICA
Taller de SQL

insert into productos (NOMBRE, DESCRIPCION, PRECIO, COSTO, PROVEEDORID) values ('J...
DIPLOMADO DE INFORMATICA
Taller de SQL

Falta
Select * from clientes order by Apaterno desc (los ordena descendentemente)
...
DIPLOMADO DE INFORMATICA
Taller de SQL

BORRADO
FORMATO:
Delete from <nom_tabla> where campo = valor;
NOTA: NO SE DEBEN DE...
DIPLOMADO DE INFORMATICA
Taller de SQL

4.

Observar el código

El objetivo de esto es conectarnos a la base de datos punt...
DIPLOMADO DE INFORMATICA
Taller de SQL

6. Ligar la base de datos con el gridDatos

1. Clic y clic
en edit
colums

2. sele...
DIPLOMADO DE INFORMATICA
Taller de SQL

9. Programar el botón buscar, doble clic al botón, nos vamos a la ventana de códig...
Upcoming SlideShare
Loading in …5
×

Taller de sql

1,227 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,227
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
114
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Taller de sql

  1. 1. DIPLOMADO DE INFORMATICA Taller de SQL Lupita Betancourt Instructor:MTI. Noè Càzarez Camargo Cacn86@hotmail.com suzma@gmail.com TALLER DE SQL LUNES 20/07/09 MySQL: instalación rápida. Interfaces en donde puede ejecutarse: MySQL Browser, MySQL Aminitrador, PHp Myamin Eidy. SQLServer: requiere requisitos específicos Ejercicio: diseñar una b.d para llevar el control de las calificaciones y la asistencia de los estudiantes. Control Escolar (Ctrl_Esc) Alumnos Materias *Matricula Amaterno * Clave_mat(vc)** Nombre_mat (vc)** Semestre (vc)** Nombres *IdEsp (vc) *GrupoId *Clv_plantel Gupo_alu m GrupoId Nombre(vc) Nombre_gpo Nombre_plan Matricula Descripcion(vc ) Semestre Direcciòn_pla n Telefono_plan FechaI IdEsp (n)** Especialidad Especialidad Grupo Creditos (n) def 0 Status(b) def 0 Componentevc* * Apaterno Plantel Calle Numero Colonia CiuadadR (donde vive) CP Telefono Email Fnacimiento (Fn) Sexo Status Fecharegistr o (FechaR) Foto PadreTutor Turno Plantel Ciudad_plan FechaB (fecha de baja) Motivo Cal2(n)def 0 Status Maestros *IdMaestro (n) autoinc Nombre_maes (vc) App (VC) ApmVC) Calificacione s Matricula **(vc) Clave_mat (vc)** IdMaestro (n)** Cal1(n)def 0 Materia_Mae s IdMaestro Matricula Cal3(n)def 0 CalFin(n) def 0 R(n)def0 *GrupoId def 0 Status Clave_mat Clave_mat FechaB vc Status (si/no) F1(faltas) (n) def 0 F2(n) def 0 F3(n) def (0) Asistencia Justificada 1
  2. 2. DIPLOMADO DE INFORMATICA Taller de SQL Relaciones Matricula de la tabla Alumnos (1) con Matricula de la tabla Grupo_Alum (V) GrupoId de la tabla Grupo (1) con GrupoId de la tabla Grupo_Alum (V) IdMaestro de la tabla Maestros (1) con IdMaestro de la tabla Maestros (V) 2
  3. 3. DIPLOMADO DE INFORMATICA Taller de SQL MySQL Pasos para la instalación: 1. DBSM: mysql-essential 2. Interfaz: mysql-gui-tool 3. DB dessigner. 4. Driver para que se pueda conectar con mysql: mysql-connector.net Pasos para ver la interfaz: a) Inicio b) Todos los programas c) MySQL d) MySql Query Browser Show databases: muéstrame las bd que tienes: 3
  4. 4. DIPLOMADO DE INFORMATICA Taller de SQL SQL SE DIVIDE EN 2 LENGUAJES: DDL: lenguajes de definición de datos. Instrucciones para definir la estructura de la bd.  Show  Use  Create  Drop  Alter DML: lenguajes de manipulación de datos. Es aquel con el cual se puede visualizar o alternar los datos contenidos en una tabla.  Select  Update  Delete  Insert  Count  Sum  Avg TRABAJAREMOS CON DLL 1ro. En línea de comandos. 1. Crear la BD Create DataBase nombre_bd; Create DataBase Ctrl_Esc; Nota: para ver la BD: show databases para ver la BD creada. 4
  5. 5. DIPLOMADO DE INFORMATICA Taller de SQL 2. Eliminar BD Drop DataBase nombreBD; Drop Databse Ctlr _ESc; Usar la BD; marca la BD que se esta utilizando Use nombreBD; 3. Crear Tabla Engeni: define bajo que estructuras vamos a trabajar. Hay os formas la clásica (MYISAM, desventajas llega más fuerte, no puedo hacer transacciones, relaciones etc) y la otra es INNODB (permite transacciones y relaciones en la estructura) 5
  6. 6. DIPLOMADO DE INFORMATICA Taller de SQL Create Table nomtabla (nombrecampo1 tipo (longitud),nombre……) Engine __________; Create table alumnos (Matricula integer , Nombre varchar(45) ) engine innodb; Show tables: ver que la tabla se creo 2do. Con interfaz TAREA/EJERCICIO DE REFORZAMIENTO: Crear la tabla de alumnos con todos los campos. Crear la tabla MARTES 21/07/09  Borrar una tabla Drop Table <nombre_tabla> Not null: significa que no se puede dejar campos vacios. Engine Type (es lo mismo) create table Alumnos (Matricula varchar(15) not null, Apaterno varchar(45)not null, Amaterno varchar(45)not n ull, Nombres varchar(45)not null, Estatus boolean not null default 0) Engine InnoDB; 6
  7. 7. DIPLOMADO DE INFORMATICA Taller de SQL  Muestra la estructura de la tabla, cualquiera de las dos formas que se muestran a continuación: Describe <nombre_tabla>; Desc <nombre_tabla>; Funciones para mostrar la estructura de la tabla Estructura de la tabla  PARA CREAR EL CAMPO LLAVE PRIMARIA PRIMARY KEY Create table Alumnos (Matricula varchar(15) not null, Apaterno varchar(45)not null, Amaterno varchar(45)not null, Nombres varchar(45)not null, Estatus boolean not null default 0, Primary Key (Matricula)) Engine InnoDB; Clave o Llave Primaria  CAMPO AUTOINCREMENTABLE Auto_icrement: para que una columna en la tabla sea un dato que se esté generando solo, ejemplo 1..2..3 y se vaya incrementando solo. Unsigned: sin signo (no puede haber negativos) Create table Alumnos (Id integer unsigned not null Auto_increment, Matricula varchar(15) not null, Apaterno varchar(45)not null, Amaterno varchar(45)not null, Nombres varchar(45)not null, Estatus boolean not null default 0, Primary Key (Matricula)) Engine InnoDB; Esto genera un error porque el campo incrementable lo toma como llave primaria y ya tenemos un campo como llave primaria que es la matricula, entonces hay que hacer lo siguiente. 7
  8. 8. DIPLOMADO DE INFORMATICA Taller de SQL Create table Alumnos (Id integer unsigned not null Auto_increment, Matricula varchar(15) not null, Apaterno varchar(45)not null, Amaterno varchar(45)not null, Nombres varchar(45)not null, Estatus boolean not null default 0, primary key(Id))Engine InnoDB;  CREA LA TABLA SINO EXISTE (NO VER) Create table if not exist <nombreDB><campo tipo (),….) engine; Create table if not exists Alumnos (Id integer unsigned not null Auto_increment, Matricula varchar(15) not null, Apaterno varchar(45)not null, Amaterno varchar(45)not null, Nombres varchar(45)not null, Estatus boolean not null default 0, primary key(Id))Engine InnoDB; Ya existe la tabla Nota: para hacer referencia a una b.d y una tabla especifica: nombreBD.NombreTabla  CREA LA B.D SINO EXISTE Create Database if not exist s <nombre_base_de_datos> MODIFICAR LA ESTRUCTURA DE UNA TABLA SIN BORRAR LA TABLA ALTER: modifica la tabla Alter table <nombretabla> Add column <nombre column> tipo (longitud); Alter table Alumnos add column Especialidad varchar(45) not null; 8
  9. 9. DIPLOMADO DE INFORMATICA Taller de SQL Alter table nombre tabla change nombre campo nombre del campo por el que se quiere cambiar: renombra un campo. Alter table Alumnos change ESPECIALIDAD Especialidad integer not null;  BORRAR UNA COLUMNA DE LA TABLA Alter Table nombre_tabla drop <name> Ejemplo: Alter Table Alumnos drop Especialidad;  AGREGA UNA COLUMNA ANTES DE UN CAMPO Alter table Alumnos add Column Demo varchar (45) not null after Nombres; 9
  10. 10. DIPLOMADO DE INFORMATICA Taller de SQL Ejercicio Alumnos *Matricula Tipo de Dato Vc not null Apaterno Amaterno Nombres Vc not nul Vc not nul Vc not nul Especialidad Plantel Calle, Numero Telefono Vc N not nul Vc, VC Vc Especialidad *IdEsp (vc) Tipo de Dato Grupo N autoinc *GrupoId nnull Nombre(vc) Vc not null NombreGpo Descripcion(vc) vc Semestre Turno Tipo de Dato N autoinc not null Vc not null Vc not null Vc not null Gupo_alum Tipo de Dato GrupoId Vn not null Matricula FechaI FechaB (fecha de baja) Motivo Estatus Vc not null Vc not null vc Vc not null Bool not null Creación de las cuatro tablas: Create table Alumnos (Matricula varchar(15) not null, Apaterno varchar(45)not null, Amaterno varchar(45)not null, Nombres varchar(45)not null, Especialidad varchar (45), Plantel integer not null, Calle varchar (45), Numero varchar(5), Telefono varchar (20) not null, Primary Key (Matricula)) Engine InnoDB; Create table Especialidad (IdEsp integer unsigned not null Auto_increment, Nombre varchar (45) not null, Descripcion varchar (45), primary key(IdEsp))Engine InnoDB; Create table Grupo(GrupoId integer unsigned not null auto_increment, NombreGpo varchar(20) not null, Semestre varchar (20) not null, Turno varchar (30) not null)) Engine InnoDB; Create table Grupo_Alum(GrupoId integer not null, Matricula varchar(15)not null, FechaI varchar(40)not null, FechaB varchar(40), Motivo varchar(45)not null, Estatus boolean not null default 0)Engine InnoDB;
  11. 11. DIPLOMADO DE INFORMATICA Taller de SQL UTLIZANDO LA INTERFAZ DE MySQL Pasos para crear una base de datos utilizando la interfaz: 1. Clic derecho a la base de datos y selecciona Create New Schema: 2. 11
  12. 12. DIPLOMADO DE INFORMATICA Taller de SQL COMO HACER UN ENLACE ENTRE TABLAS (RELACIONES) FOREIGN KEY (<NOMBRE_CAMPO>): de que campo. (tabla hija) REFERENCES <NOMBRE_TABLA> (<NOMBRE>); a que tabla y en qué campo. Ejemplo: Create table Alumnos (Matricula varchar (15), primary key (Matricula)) Engine InnoDB; Create table Grupo_Alum (Matricula varchar(15), FechaI varchar(45) not null, foreign key (Matricula) References Alumnos (Matricula)) Engine InnoDB; TAREA: Terminar la tabla con los campos y las validaciones. MIERCOLES 22/07/09 Padre_alum Especialidad IdEsp Nombre Descripcion Calificaciones Matricula Clave_mat IdMaestro GrupoId hijo_esp, Padre Alumnos Matricula Apaterno Amaterno Nombre Plantel IdEsp hijo Grupo_Alum Matricula Idgrupo Estatus FechaB Motivo Materias Clave_mat Nombre_mat Padre Grupos Idgrupo Nombre Periodo Semestre Maestros IdMaestro Relaciones Entre tablas Nota: Los de color azul son los padres. Actualización en Cascada: si borras en el padre automáticamente se borra en el hijo. Es decir sin que lo ejecute solito se borra. Set Null: nada más borra lo que se le indica no borra todo el registro. Es inusual porque se pierde la integridad referencial. No Action: si tú borras aquí, marca un error porque en otra tabla se está utilizando, o funciona al revés tienes que borrar en el hijo primero y después en el padre, OJO tienes que borrar todas las ligas existentes. Recomendada. Restrict: similar a la anterior. Recomendada. Set Defaull: es similar a actualización en cascada, borras en el padre y puedes poner el valor que tú quieras. Ejemplo de relaciones: 12
  13. 13. DIPLOMADO DE INFORMATICA Taller de SQL RELACION TABLA GRUPO_ALUM CON ALUMNOS Y GRUPOS Create table grupo_alum (Matricula varchar(45)not null, GrupoId integer unsigned not null, Estatus boolean not null Default 0, FechaB varchar(45), FechaI varchar(45) not null, Motivo varchar(45), Index (Matricula), foreign Key (Matricula) References Alumnos (Matricula) on Delete Restrict on update Restrict, Index (GrupoId), foreign Key (GrupoId) References grupo (GrupoId) on delete Restrict on update Restrict) engine InnoDB; 1. Para crear la tabla anterior primero hay que borrar la tabla grupo_alum. 2. Posteriormente crear la tabla anterior. Borrar la tabla grupo_alum 3. Y ya está creada la referencia. Mostrar la tabla grupo_alum Crear la tabla grupo_alum con las relaciones 4. Borrar la tabla de alumnos, observa que pasa… 5. No se puede borrar por la integridad que existe. Ahora crear la relación con la tabla especialidad RELACION ESPECIALIDAD CON ALUMNOS 1. Modificar el campo especialidad de la tabla Alumnos: Alter table alumnos change Especialidad IdEsp integer unsigned not null; 2. Crear la tabla alumnos sin borrar la tabla de alumnos anterior, para crear la relación: Alter table alumnos Add index(IdEsp), Add constraint “nombre_relación “ foreign key (IdEsp) References especialidad(IdEsp) on Update restrict on delete restrict; Es lo mismo que escribirlo en una sola línea: Alter table alumnos Add index(IdEsp), Add constraint EspAlum foreign key (IdEsp)References especialidad(IdEsp) on Update restrict on delete restrict; RELACIÒN DE CALIFICACIONES CON ALUMNOS, CON MATERIA Y CON MAESTRO UTILIZANDO LA INTERFAZ 1. Clic derecho a la tabla que desea crear las relaciones y seleccionar Edit Table: 13
  14. 14. DIPLOMADO DE INFORMATICA Taller de SQL 2. Crear los índices: a) Selecciona el campo al cual deseas crear el índice b) Selecciona el signo màs para que lo agregue c) Y ya agregado al índice se le pone la llavecita y listo, así a ser con cada uno de los índices que se necesitaran para crear la relación. 3. Crear las relaciones: a) Clic a la pestaña de Foreign Keys b) Clic al signo de màs para agregar la relación c) Aparece el siguiente cuadro en el cual se escribe el nombre de la relación 14
  15. 15. DIPLOMADO DE INFORMATICA Taller de SQL d) Después se selecciona con que tabla se crea la relación y aparecerá la llave principal y debe coincidir con la de la tabla actual, tal como se muestra a continuación Selecciona la tabla Clave de la tabla actual (en la que se está trabajando) Es la clave de la tabla seleccionada ENTRAR A MYSQL COMO ADMINISTRADOR Esto es con el objetivo de administrar nuestra base de datos para poder ponerle “ “ para que protegernos de virus. Vamos a crear un usuario para solamente nosotros tener los privilegios de la BD 15
  16. 16. DIPLOMADO DE INFORMATICA Taller de SQL En esta ventana establezco que es lo que puede hacer el usuario: 1. Selecciono ctrl_esc y le digo de las opciones del lado derecho que es lo que puede hacer 2. Clic en el botón Apply changes 3. Crear respaldos a la BD a) Backup b) New proyect 16
  17. 17. DIPLOMADO DE INFORMATICA Taller de SQL c) Selecciona la BD que deseas agregar d) Clic a la flechita para pasarla al otro lado (Puedo hacer respaldos de todas las que quiera) e) Execute f) Se guarda seleccionando la ubicación deseada g) Para abrirlo se debe de abrir con Wordpad PARA RECUPERAR LA BASE DE DATOS 1. 2. 3. 4. 5. 6. IR AL ADMINISTRADOR SELECCIONAR RESTORE BUSCAR EL ARCHIVO INICIAR RECUPERACIÓN Y LISTO YA ESTA DE NUEVO LA B.D TAL COMO SE DEJO LA ULTIMA VEZ QUE SE GUARDO EL RESPALDO 17
  18. 18. DIPLOMADO DE INFORMATICA Taller de SQL MANIPULACIÓN DE DATOS (DML) COMO GUARDAR REGISTROS Y SUS DIFERENTES USOS Insert into <nombre_tabla> (campo1, campo2….) Values (valor1, valor2); NOTAS: * Ver copias * # Campos = # valores * Mismo orden en campos = orden de los valores Ejemplo: Insert into materias(Clave_mat, Nombre_mat, Semestre, IdEsp, Creditos, Componente) Values ('01', 'sql', '4to', 1, '10', 'Profesional'); VER CONTENIDO DE UNA TABLA Select * from nombre_tabla; Select * from materias; JUEVES 23/07/09 El maestro nos dio la siguiente b.d. y nos la paso en archivo para su restauración y utilización el archivo se llama punto_venta y se reestructura en MYSQL administrador. B.D. PUNTO DE VENTA PRODUCTOS productoID proveedorID stock ESTADO estadoID nombre PROVEEDODORES proveedorID estadoID ciudadID CIUDAD ciudadID estadoID CLIENTES clientsID estadoID ciudadID VENTA ventaID clientsID ALMACEN almacenID productoID DET_VENTA ventaID productoID 1. Registrar el estado (1) insert into estados (NOMBRE) values ('Sinaloa'); 2. Registrar la ciudad (la ciudad depende del estado) (1) insert into ciudades (NOMBRE, ESTADOID) values ('Escuinapa',1); 3. Registrar proveedor (1) insert into proveedores (NOMBRE, CIUDADID, ESTADOID, TELEFONO) values ('Ley',1,1,6621-15-08-20); 4. Registrar productos (3) 18
  19. 19. DIPLOMADO DE INFORMATICA Taller de SQL insert into productos (NOMBRE, DESCRIPCION, PRECIO, COSTO, PROVEEDORID) values ('Jabòn','de tocador',10, 6,1); insert into productos (NOMBRE, DESCRIPCION, PRECIO, COSTO, PROVEEDORID) values ('Shampoo','kids',50, 35,1); insert into productos (NOMBRE, DESCRIPCION, PRECIO, COSTO, PROVEEDORID) values ('Crema','manos',45, 30,1); PARA NO REPETIR LINEA POR LINEA: ESTA ES OTRA FORMA DE HACER LO MISMO Y NO REPETIR (INSERCIÓN MULTIPLE) INSERT INTO <NOM_TABLA> (CAMPO1, CAMPO2) VALUES (VALOR1, VALOR2..),(VALOR .1, VALOR2.2 …), (VALOR1.1.1, VALOR2.2.2 ….); 5. Registrar clientes (1) insert into clientes (NOMBRE, APATERNO, AMATERNO, RFC, CALLE, NUMERO, ESTADOID, CIUDADID) values ('Lupita','Sandoval','Ramos','SARL210881','Guamuchil','5a',1 ,1 ); 6. Registrar la venta (1) insert into ventas (FECHA, MONTO, CLIENTSID) values ('23/07/09', 500.30, 1); 7. Registrar detalle de venta (1) insert into det_venta (VENTAID, PRODUCTOSID, CANTIDAD, PRECIO, DESCUENTO) values (1,1, 5,10, .25), (1,2, 2,50, 0), (1,3, 3,45, 0); 7.1. Registrar movimiento de almacén (1) insert into almacen (PRODUCTOSID, FECHAMOV, TIPOMOV) values ( 1, '23/07/09','SALIDA'), (2, '24/07/09','SALIDA'), (3, '24/07/09','SALIDA'); Nota: el paso 7 y el 7.1 se repite 3 veces porque agregamos tres productos. OTRA FORMA DE HACER LO ANTERIOR ES EN EL AMBIENTE VISUAL 1. 2. 3. 4. SE LE DA DOBLE CLIC A LA TABLA SE ABRE LOS CAMPOS PARA SER LLENADOS CLC EN EDIT Y EMPEZAR A LLENAR LOS CAMPOS O COLUMNAS UNA VEZ REGISTRADOS LOS DATOS, CLIC EN APPLY CHANGES 2 1 3 4 19
  20. 20. DIPLOMADO DE INFORMATICA Taller de SQL Falta Select * from clientes order by Apaterno desc (los ordena descendentemente) VIERNES 24/07/09 NOS PASO UNA CARPETA QUE SE LLAMA CECYTES_SQL Nota es utilizando la estructura: INNODB 1. Transacción (transaction). Intercambio de datos o de objetos. De la aplicación manda la orden al servidor y se ejecuta la b.d y regresa a la aplicación. Instrucción y ejemplo: Start Transaction;  Insert into productos (nombre, precio, costo, proveedorID) values (“XXXX”, 10,5, 1), (“yyy”, 15, 10, I), (“zzzz”, 20, 10, 1);  Delete from productos;  RollBack; Lo correcto de la sentencia anterior seria poner la condición porque si no estaríamos borrando todo el contenido de la tabla. Es como ctrl+Z, y lo que hace esta instrucción es que no ejecutaría la instrucción anterior pero tampoco el insertar. (No hagas nada de lo que te dije antes). Si quisiéramos que si ejecutara la instrucción pondríamos la instrucción comit QUE ES EJECUTAR LAS TRANSACCIONES. 1. STAR TRANSACTION CTRL + ENTER 2. INSERTO INTRO, CTRL +ENTER 3. ROLLBACK CTRL+ENTER 4. SELECTE, CTRL + ENTER 1. STAR TRANSACTION CTRL + ENTER 2. INSERTO INTRO, CTRL +ENTER 3. COMMIT CTRL+ENTER 4. SELECT, CTRL + ENTER 20
  21. 21. DIPLOMADO DE INFORMATICA Taller de SQL BORRADO FORMATO: Delete from <nom_tabla> where campo = valor; NOTA: NO SE DEBEN DE DEFINIR COLUMNAS (no va el * antes del from). Si se ejecuta el contenido de la tabla sin la condición borra todo el contenido de la tabla. Se recomiendo en vez del delete un borrado lógico. Limit: borra los primeros seis renglones que encuentre. Delete from productos where nombre like ‘A%’ Limit 2 borra los primeros dos registros que empiecen con A Delete from productos where productosid = 3 or productid = 8 borra el producto que tenga el 3 o el 8 Delete from Det_Venta, productos where Det_venta.productoID = productos.productosID Borra todos los productos que se hayan vendido Delete from Det_venta, venta where det.ventaID = Det_venta.ventaID and Venta.Fecha = ‘ ‘ Borra todas las ventas y su detalle de venta que se hayan vendido en la fecha establecida Abrimos la carpeta que nos pasó el maestro de CECYTES_SQL…. 1. Abrimos el archivo CECYTES_SQL y se abre visual studio 5.0 2. 3. Abrir frmBusqueda.vb Se abre esta ventana 21
  22. 22. DIPLOMADO DE INFORMATICA Taller de SQL 4. Observar el código El objetivo de esto es conectarnos a la base de datos punto_venta y que nos permita efectuar búsquedas y consultas de selección (select), ejecutar sql (update, insert, delete) 5. Seleccionamos la primera pestaña de búsqueda para iniciar la programación. a) Selccionamos la ventana b) Nos vamos a las propiedades c) Clic al icono del rayo d) En el evento load dar doble clic y nos vamos a la ventana de código 22
  23. 23. DIPLOMADO DE INFORMATICA Taller de SQL 6. Ligar la base de datos con el gridDatos 1. Clic y clic en edit colums 2. selecciona 3. cambia su nombre como esta en la b.d. 7. Repite los registros, para que no lo haga hay que cambiar la propiedad del GRID ___________ o poner las columnas 8. Resultado al momento de correr la aplicación 23
  24. 24. DIPLOMADO DE INFORMATICA Taller de SQL 9. Programar el botón buscar, doble clic al botón, nos vamos a la ventana de código y tecleamos el código. Buscara por el código del producto SI QUEREMOS BUSCAR POR NOMBRE Y ORDENAR SERIA Dim sql As String = "Select * from productos where NOMBRE='" & txtValor.Text & "'order by NOMBRE" AHORA SI QUEREMOS QUE EMPIECE CON LA LETRAS SERIA, ESTO SERIA LO IDEAL Dim sql As String = "Select * from productos where NOMBRE LIKE'%" & txtValor.Text & "%'" INVESTIGAR SQL INYECTION BOTON GUARDAR 1. DOBLE CLIC AL BOTON 2. CODIFICAR 3. Private Sub btnGuardarA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardarA.Click Dim sql As String = "insert into productos (NOMBRE, DESCRIPCION, PRECIO, COSTO, PROVEEDORID) values ('" & txtNombre.Text & " ','" & txtDescripcion.Text & "'," & txtPrecio.Text & "," & txtCosto.Text & ",1)" Dim obj As BaseDatos obj = New BaseDatos If obj.EjecutarSql(sql) Then MessageBox.Show("Registro guardado") Else Me.txtMsgError.Text = obj.getMsgError End If End Sub 24

×