CREAR UNA BASE DE DATOS:
mysql> CREATE DATABASE PRUEBA;
Query OK, 1 row affected (0.00 sec)
ELIMINAR BASE DE DATOS:
mysql> drop database MIINF436;
Query OK, 0 rows affected (0.23 sec)
USAR UNA BASE DE DATOS:
mysql> USE MIINF436;
Database changed
CREAR UNA TABLA CON UN CAMPO NOT NULL:
mysql> CREATE TABLE MATERIA2 (CLAVE VARCHAR(10) NOT NULL);
Query OK, 0 rows affected (0.44 sec)
mysql> DESCRIBE MATERIA2;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| CLAVE | varchar(10) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.00 sec)
CREAR TABLAS CON SUS CAMPOS:
mysql> CREATE TABLE CARRERA (MATERIA VARCHAR(30), NOTA ARCHAR(5), PROFESOR VARCHAR(30));
Query OK, 0 rows affected (0.50 sec)
MOSTRAR LAS TABLAS DE
mysql> SHOW TABLES;
+--------------------+
| Tables_in_miinf436 |
+--------------------+
| carrera |
+--------------------+
1 row in set (0.00 sec)
CREAR UNA TABLA CON UN CAMPO PRIMARY KEY:
Query OK, 0 rows affected (0.11 sec)
mysql> describe relacion2;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| Cod_Cliente | bigint(5) | PRI | 0 | | |
| Nombre | varchar(40) | YES | | NULL | |
| Apellidos | varchar(40) | YES | | NULL | |
| Direccion | varchar(80) | YES | | NULL | |
| Telefono | varchar(13) | YES | | NULL | |
| Email | varchar(25) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
Query OK, 0 rows affected (0.11 sec)
mysql> describe cotizacion;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| Cod_Cliente | bigint(5) | | |PRI | 0 |
| Fecha | date | YES | | NULL | |
| Nombre | varchar(40) | YES | | NULL | |
| Comentario | varchar(80) | YES | | NULL | |
| Estado | smallint(6) | YES | | NULL | |
| Subtotal | decimal(18,2) | YES | | NULL | |
| Itbis | decimal(18,2) | YES | | NULL | |
| Descuento | decimal(18,2) | YES | | NULL | |
| Neto | decimal(18,2) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
9 rows in set (0.00 sec)
RELACIONAR LAS DOS TABLAS:
Query OK, 0 rows affected (0.28 sec)
Records: 0 Duplicates: 0 Warnings: 0
MOSTRAR
mysql> DESCRIBE MATERIA3;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| CLAVE | varchar(10) | NO | PRI | NULL | |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.00 sec)
BORRAR TODOS LOS REGISTROS DE UNA TABLA
mysql> DELETE FROM RELACION WHERE 1>0;
Query OK, 1 row affected (0.06 sec)
CAMBIARLE EL NOMBRE A UNA TABLA:
mysql> ALTER TABLE MATERIA3 RENAME MATERIA4;
Query OK, 0 rows affected (0.42 sec)
MOSTRAR LOS CAMPOS DE
mysql> DESCRIBE MATERIA4;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| CLAVE | varchar(10) | NO | PRI | NULL | |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.02 sec)
CAMBIARLE EL NOMBRE A UNO DE LOS CAMPOS DE
mysql> ALTER TABLE MATERIA4 CHANGE CLAVE CLAVE2 VARCHAR(20);
Query OK, 0 rows affected (0.63 sec)
Records: 0 Duplicates: 0 Warnings: 0
MOSTRAR LOS CAMPOS DE
mysql> DESCRIBE MATERIA4;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| CLAVE2 | varchar(20) | NO | PRI | | |
+--------+-------------+------+-----+---------+-------+
1 row in set (0.00 sec)
AGREGAR UN CAMPO UN NUEVO CAMPO A UNA TABLA:
mysql> ALTER TABLE ESTUDIANTE ADD CAMPO1 INT(20);
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
MOSTRAR
mysql> DESCRIBE ESTUDIANTE;
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| CAMPO1 | int(20) | YES | | NULL | |
+--------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
ELIMINAR UN CAMPO DE UNA TABLA Y AGREGARLE OTRO:
mysql> ALTER TABLE ESTUDIANTE DROP NOMBRE, ADD CAMPO1 INT(20);
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
MOSTRAR
mysql> DESCRIBE ESTUDIANTE;
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| CAMPO1 | int(20) | YES | | NULL | |
+--------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
VER LOS REGISTROS DE UNA TABLA:
En este caso la base de datos se llama persona al igual que la tabla, pero dentro de esta hay un campo que se llama Nombre, el cual sera el que visualizaremos ahora:
mysql> select Nombre From PERSONA;
+---------+
| Nombre |
+---------+
| |
| andres |
| alfredo |
+---------+
3 rows in set (0.00 sec)
mysql> select * from estudiante where apellidos='gomez acosta';
+-----------+-------------------+--------------+-------+---------+
| MATRICULA | NOMBRE | APELLIDOS | CLAVE | CARRERA |
+-----------+-------------------+--------------+-------+---------+
| 2003-1170 | EDWIN ALBERT | GOMEZ ACOSTA | 1170 | 13 |
| 2003-8800 | VIRGINIA | GOMEZ ACOSTA | 8800 | 6 |
| 2005-3250 | ROBERTO ANTONIO | GOMEZ ACOSTA | 3250 | 13 |
| 2005-3628 | GEOVANNI DE JESUS | GOMEZ ACOSTA | 3628 | 13 |
| 2005-6309 | WILSON RAMON | GOMEZ ACOSTA | 6309 | 9 |
| 2007-1564 | LUIS ANDRES | GOMEZ ACOSTA | 1564 | 13 |
+-----------+-------------------+--------------+-------+---------+
6 rows in set (0.06 sec)
CONSULTA CON LA SENTENCIA LIKE.
ESTA LO QUE NOS MUESTRA ES TODOS LOS REGISTROS DENTRO DE LAS COMILLAS SIMPLES EJEMPLO. ´GOMEZ%´;
mysql> select * from estudiante where apellidos like 'gomez a%';
+-----------+---------------------+------------------+-------+---------+
| MATRICULA | NOMBRE | APELLIDOS | CLAVE | CARRERA |
+-----------+---------------------+------------------+-------+---------+
| 2000-1947 | MISAEL AUGUSTO | GËMEZ ANDUJAR | 1947 | 13 |
| 2000-2806 | MAXIMO ALBERTO | GOMEZ ALMONTE | 2806 | 5 |
| 2001-2574 | JANET MERCEDES | GOMEZ AMANCIO | 2574 | 23 |
| 2001-3766 | JULIO CESAR | GOMEZ ALTAMIRANO | 3766 | 16 |
| 2002-2602 | MIGUEL ALFREDO | GOMEZ ALONZO | 2602 | 9 |
| 2003-0960 | ANGELA | GOMEZ ALCANTARA | 0960 | 15 |
| 2003-0960 | ANGELA | GOMEZ ALCANTARA | 0960 | 28 |
| 2003-1170 | EDWIN ALBERT | GOMEZ ACOSTA | 1170 | 13 |
| 2003-1802 | BELKIS ALTAGRACIA | GOMEZ ARIAS | 1802 | 20 |
| 2003-4803 | RODRIGO ADONIS | GOMEZ ARACENA | 4803 | 16 |
| 2003-4910 | ANA DOLORES MENCIA. | GOMEZ AYBAR. | 4910 | 5 |
| 2003-8800 | VIRGINIA | GOMEZ ACOSTA | 8800 | 6 |
| 2004-3802 | ELIZABETH | GOMEZ ABREU | 3802 | 16 |
| 2004-4956 | AIRIN ROSANNA | GOMEZ ABREU | 4956 | 5 |
| 2005-1196 | JONATHAN JOSE | GOMEZ ACTA | 1196 | 6 |
| 2005-2503 | JAIRO RAFAEL | GOMEZ ABREU | 2503 | 5 |
| 2005-3250 | ROBERTO ANTONIO | GOMEZ ACOSTA | 3250 | 13 |
| 2005-3628 | GEOVANNI DE JESUS | GOMEZ ACOSTA | 3628 | 13 |
| 2005-5656 | HERMES DOMINGO | GOMEZ ARREDONDO | 5656 | 16 |
| 2005-6024 | ESTHER | GOMEZ AMPARO | 6024 | 12 |
| 2005-6309 | WILSON RAMON | GOMEZ ACOSTA | 6309 | 9 |
| 2006-2223 | NEY FRANCISCO | GOMEZ ALVAREZ | 2223 | 9 |
| 2006-3642 | ROSA MARIA | GOMEZ ALVAREZ | 3642 | 16 |
| 2006-4564 | YATNNA AIMEE | GOMEZ ABREU | 4564 | 12 |
| 2007-1154 | JENNY CAROLINA | GOMEZ ALVAREZ | 1154 | 16 |
| 2007-1564 | LUIS ANDRES | GOMEZ ACOSTA | 1564 | 13 |
| 2007-4506 | ROSELITO | GOMEZ AGUERO | 4506 | 16 |
+-----------+---------------------+------------------+-------+---------+
27 rows in set (0.05 sec)
mysql>
CONTAR LOS REGISTROS DE UNA TABLA.
mysql> select count(*) from estudiante;
+----------+
| count(*) |
+----------+
| 47270 |
+----------+
1 row in set (0.06 sec)
mysql>
AGREGARLE CAMPOS A
mysql> ALTER TABLE PERSONA ADD Apellidos varchar(30);
Query OK, 3 rows affected (0.33 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE PERSONA ADD Direccion varchar(30);
Query OK, 3 rows affected (0.33 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE PERSONA ADD Telefono varchar(13);
Query OK, 3 rows affected (0.28 sec)
Records: 3 Duplicates: 0 Warnings: 0
VER LOS NUEVOS CAMPOS DE
mysql> describe persona;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| Nombre | varchar(30) | YES | | NULL | |
| Apellidos | varchar(30) | YES | | NULL | |
| Direccion | varchar(30) | YES | | NULL | |
| Telefono | varchar(13) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
INTRODUCIRLES VALORES A LOS CAMPOS DE
mysql> Insert into PERSONA (Nombre,Apellidos,Direccion,Telefono) values ('Andres ','Gomez','Don Bosco','809-333-8084');
Query OK, 1 row affected (0.03 sec)
VISUALIZAR LOS VALORES DE LOS CAMPOS DE
mysql> select Nombre,Apellidos,Direccion,Telefono from persona;
+---------+-----------+-----------+--------------+
| Nombre | Apellidos | Direccion | Telefono |
+---------+-----------+-----------+--------------+
| Andres | Gomez | Don Bosco | 809-333-8084 |
+---------+-----------+-----------+--------------+
4 rows in set (0.00 sec)
COINCIDENCIA DE PATRONES.
MySQL posee capacidades estándar para utilizar patrones así como también una forma de patrones basada en expresiones regulares extendidas similares a las que se encuentran en utilidades de UNIX, como ser vi, grep, y sed.
Para encontrar nombres que comiencen con 'b':
mysql> SELECT * FROM pet WHERE name LIKE 'b%';
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
Para encontrar nombres que terminen con 'fy':
mysql> SELECT * FROM pet WHERE name LIKE '%fy';
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+
Para encontrar nombres que contengan 'w':
mysql> SELECT * FROM pet WHERE name LIKE '%w%';
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+
Para encontrar nombres que contengan exactamente 5 caracteres, use 5 veces el caracter patrón '_':
mysql> SELECT * FROM pet WHERE name LIKE '_____';
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
mysql> SELECT Nombre, COUNT(*) FROM Estudiante GROUP BY Nombre
+--------+----------+
| Nombre COUNT(*) |
+--------+----------+
| ZOILA MARGARITA | 3 |
| ZOILA MARIA | 3 |
| ZOILA MARINA | 2 |
| ZOILA NOEMI | 1 |
| ZOILA ROSA | 1 |
| ZOILA SABRINA | 1 |
| ZOILO ALEXIS | 1 |
| ZOILO DEL CARMEN | 1 |
| ZOILO MANUEL | 1 |
| ZOIRELIS ADJANI | 1 |
| ZOLAINA | 1 |
| ZOLIJEIDES | 1 |
| ZORAIDA | 4 |
| ZORAIDA ALTAGRACIA | 1 |
+--------+----------+
mysql> SELECT Nombre, COUNT(*) FROM Estudiante GROUP BY Nombre;
+--------+----------+--------+----------+
| Nombre | COUNT(*) |
+--------+----------+
| ZOILA MARGARITA | 3 |
| ZOILA MARIA | 3 |
| ZOILA MARINA | 2 |
| ZOILA NOEMI | 1 |
| ZOILA ROSA | 1 |
+--------+----------+