· 8 years ago · Jul 21, 2018, 12:58 AM
1
2-- Ejemplos instrucciones DDL
3
4-- Eliminar BD CursoMySql si existe
5DROP DATABASE IF EXISTS CursoMySql; -- El if exists solo evita el error cuando no exista la BD
6
7-- Crear BD CursoMySql
8CREATE DATABASE CursoMySql;
9
10-- Activar BD
11USE CursoMySql;
12
13-- Crear tabla Articulos, la misma se agregará a la BD que este activa, en este caso CursoMySql
14-- Recordar que crear una tabla significa poner el nombre y definir sus campos
15CREATE TABLE Articulos
16( CodigoArticulo integer auto_increment,
17 NombreArticulo varchar(50) not null,
18 Precio decimal(5,2) unsigned not null,
19 Stock integer,
20 PRIMARY KEY (CodigoArticulo)
21);
22
23-- Mostrar la estructura de la tabla Articulos
24DESCRIBE Articulos;
25
26-- Agregar una columna a una tabla
27ALTER TABLE Articulos ADD Descripcion varchar(50) not null default 'Sin Descripcion';
28
29ALTER TABLE Articulos ADD fechaCre date;
30
31ALTER TABLE Articulos ADD Medida varchar(8);
32
33-- Eliminar la columna de una tabla
34ALTER TABLE Articulos DROP COLUMN Descripcion;
35
36-- Cambiar el nombre de una columna
37ALTER TABLE Articulos CHANGE fechaCre fechaCreacion date;
38
39-- Cambiar el tipo de datos para una columna
40 ALTER TABLE Articulos MODIFY Medida char(8);
41
42-- Renombrar una tabla
43 ALTER TABLE Articulos RENAME TO Articulo;
44
45DESCRIBE Articulo;
46-- ----------------------------------
47
48
49-- Practica instrucciones DDL
50-- 1
51-- DROP database IF EXISTS CursoMySql;
52
53-- 2
54-- CREATE database CursoMySql;
55USE CursoMySql;
56
57-- 3
58CREATE TABLE clientes
59( nombre varchar(20) not null,
60 apellido varchar(20) not null,
61 CUIT char(13) not null,
62 direccion varchar(50),
63 añonacimiento int,
64 Edad int unsigned,
65 PRIMARY KEY (CUIT)
66);
67
68-- 4
69show tables;
70
71-- 5
72ALTER TABLE clientes ADD telefono varchar(15);
73
74-- 6
75describe clientes;
76
77-- 7
78ALTER TABLE clientes CHANGE añonacimiento añonac int;
79describe clientes;
80
81-- 8
82ALTER TABLE clientes MODIFY direccion varchar(20) not null default 'Sin dirección';
83describe clientes;
84
85-- 9
86ALTER TABLE clientes RENAME TO cliente;
87describe cliente;
88
89-- 10
90ALTER TABLE cliente DROP COLUMN telefono;
91describe cliente;
92-- --------------------------------------------------------------
93select * from articulo;
94select * from cliente;
95
96select nombrearticulo as 'nombre',precio from articulo;
97
98select * from articulo where Precio > 100;
99
100insert into articulo (nombrearticulo,precio,stock) values
101('destornillador',25.5,50),
102('pinza',35,22),
103('martillo',25.5,28),
104('maza',47,18),
105('tornillo',0.80,1000),
106('escalera',150,20),
107('pintura',500,null);
108
109insert into articulo values (null,'mouse',200,50,null,null);
110
111set sql_safe_updates=0;
112update articulo set stock = 35 where nombrearticulo = 'tornillo';
113update articulo set precio = (precio*10/100)+precio where nombrearticulo = 'martillo';
114select * from articulo;
115delete from articulo where nombrearticulo ='a1';
116select * from articulo;
117
118-- practica
119
120describe cliente;
121insert into cliente (nombre,apellido,cuit,edad) values
122('juan','perez', '2015476421445',30),
123('diego','torres', '2924657981235',35),
124('laura','gomez', '2747569325745',45),
125('mario','lopez', '2035478324925',50),
126('vanesa','gomez', '2728953316748',39);
127
128select * from cliente;
129
130CREATE TABLE `cliente2` (
131 `nombre` varchar(20) NOT NULL,
132 `apellido` varchar(20) NOT NULL,
133 `CUIT` char(13) NOT NULL,
134 `direccion` varchar(20) NOT NULL DEFAULT 'Sin dirección',
135 `añonac` int(11) DEFAULT NULL,
136 `Edad` int(10) unsigned DEFAULT NULL,
137 PRIMARY KEY (`CUIT`)
138);
139describe cliente2;
140
141show tables;
142
143insert into cliente2 (select * from cliente where nombre = 'mario' or nombre='juan');
144select * from cliente2;
145
146-- ---------------
147
148update cliente set direccion = 'sin datos' where direccion='sin direccion';
149
150select * from cliente;
151
152delete from cliente where apellido = 'lopez';
153
154select * from cliente;
155
156select * from cliente2;
157
158delete from cliente2 where edad=30;
159
160select precio + 10 as nuevo,precio from articulo;
161
162/*
163 Select * from articulo where precio >= 35 and (stock between 20 and 30); incluye ext
164 Select * from articulo where nombrearticulo like '%ma%';
165 Select * from articulo where nombrearticulo in ('destornillador','martillo','escalera') and precio not in (150);
166
167*/
168
169select * from cliente order by apellido desc,nombre desc;
170select * from cliente where edad >= 40;
171select * from cliente where edad >=30 and edad<=40;
172select * from cliente where edad between 30 and 40;
173select * from cliente where edad=35 or edad=45;
174select * from cliente where edad in (35,45);
175select * from cliente where cuit like '%32%';