COMANDOS BASICOS EN MYSQL

COMANDOS BASICOS EN MYSQL


Primero que nada entramos a la terminal

Y lo que vamos a escribir sera: mysql -u root -p
En caso de usar Linux sera: sudo mysql -u root -p

Le ponemos el password y nos saldra lo siguiente:

Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

Ahora tenemos que ver que base de datos existen, para eso escribimos:
SHOW DATABASES;

Y nos saldra algo parecido a esto:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)


Ahora vamos a crear una base de datos, para ello escribiremos
CREATE DATA BASE JULIO;

Donde puse julio pueden poner el nombre que ustedes deseen :)

Ahora vamos a ver que base de datos existen de nuevo, igual usamos el mismo comando de arriba:

SHOW DATABASES;

Y nos saldra algo parecido a esto:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| JULIO              |
| mysql              |
+--------------------+
3 rows in set (0.00 sec)


Ahora vamos a usar la base de datos JULIO o como ustedes le allan puesto, para ello escribiran:

use JULIO;

Es importante respetar MAYUSCULAS y minusculas

Ahora en la base de datos JULIO, vamos a crear una tabla llamada integrantes que tenga los campos de ID_Intengrante,Nombre,Semestre,Genero y Edad, todos con el tipo de dato de VARCHAR, para ello escribimos:

CREATE TABLE integrantes (ID_Integrante VARCHAR(25),Nombre VARCHAR(25),Semestre VARCHAR(25),Genero VARCHAR(25),Edad VARCHAR(25));

Para visualizar la estructura de la tabla el comando es el siguiente:
DESCRIBE integrantes;

Va a salir lo siguiente:
mysql> DESCRIBE integrantes;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| ID_Integrante | varchar(25) | YES  |     | NULL    |       |
| Nombre        | varchar(25) | YES  |     | NULL    |       |
| Semestre      | varchar(25) | YES  |     | NULL    |       |
| Genero        | varchar(25) | YES  |     | NULL    |       |
| Edad          | varchar(25) | YES  |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Ahora le insertaremos datos a esta tabla, para ello utilizaremos el siguiente Sintaxis:

INSERT INTO integrantes VALUES ("1","Sotelo","7","M","25");

Tambien podemos agregar datos de una sola vez, ejemplo:
INSERT INTO integrantes VALUES ("2","Peggy","9","M","22"),("3","Claudia","9","F","22"),("4","Martha","7","F","21"),("5","Tavo","7","M","21");

Ahora veremos los datos, tublas o filas como le quieran llamar, escribimos:
SELECT * FROM integrantes;

Y nos saldra lo siguiente:
mysql> SELECT * FROM integrantes;
+---------------+---------+----------+--------+------+
| ID_Integrante | Nombre  | Semestre | Genero | Edad |
+---------------+---------+----------+--------+------+
| 1             | Sotelo  | 7        | M      | 25   |
| 2             | Peggy   | 9        | M      | 22   |
| 3             | Claudia | 9        | F      | 22   |
| 4             | Martha  | 7        | F      | 21   |
| 5             | Tavo    | 7        | M      | 21   |
+---------------+---------+----------+--------+------+
5 rows in set (0.00 sec)


Ahora vamos a fragmentar la tabla verticalmente creando otra tabla a partir de la tabla creada anteriormente, tomando solamente los campos de ID_Integrante y Nombre para esto escribimos:
CREATE TABLE Nombres as select ID_Integrante,Nombre FROM integrantes;

Veamos como quedo la tabla nueva escribiendo:
SELECT * FROM Nombres;

Nos desplegara lo siguiente:
+---------------+---------+
| ID_Integrante | Nombre  |
+---------------+---------+
| 1             | Sotelo  |
| 2             | Peggy   |
| 3             | Claudia |
| 4             | Martha  |
| 5             | Tavo    |
+---------------+---------+
5 rows in set (0.00 sec)

Ahora la vamos a fragmentar en forma horizontal.en hombres y mujeres.

Para fragmentar la integrantes en una nueva tabla de hombres escribimos:
CREATE TABLE Hombres AS SELECT * FROM integrantes WHERE Genero="M";

Veamos como quedo la tabla:
SELECT * FROM Hombres;

Nos desplegara lo siguiente:
+---------------+--------+----------+--------+------+
| ID_Integrante | Nombre | Semestre | Genero | Edad |
+---------------+--------+----------+--------+------+
| 1             | Sotelo | 7        | M      | 25   |
| 2             | Peggy  | 9        | M      | 22   |
| 5             | Tavo   | 7        | M      | 21   |
+---------------+--------+----------+--------+------+

Ahora hacemos la tabla para las mujeres:
CREATE TABLE Mujeres AS SELECT * FROM integrantes WHERE Genero="F";


Veamos como quedo la tabla:

SELECT * FROM Mujeres;


Nos desplegara lo siguiente:
+---------------+---------+----------+--------+------+
| ID_Integrante | Nombre  | Semestre | Genero | Edad |
+---------------+---------+----------+--------+------+
| 3             | Claudia | 9        | F      | 22   |
| 4             | Martha  | 7        | F      | 21   |
+---------------+---------+----------+--------+------+
2 rows in set (0.00 sec)


Para hacer UNION hacemos lo siguiente:
CREATE TABLE JUNTO AS SELECT * FROM Hombres UNION SELECT * FROM Mujeres;


Hacer Procedimientos
Primero vamos hacer una tabla llamada Bitacora, donde tendra un campo que se pondra automaticamente la hora del servidor. 
CREATE TABLE Bitacora (Id_Integrante VARCHAR(25),Accion VARCHAR (25),Fech TIMESTAMP DEFAULT CURRENT_TIMESTAMP);

Ahora vamos hacer el procedimiento:
mysql> delimiter //
mysql> CREATE procedure insertar(IN Integrante VARCHAR (25),Accion VARCHAR(25))
    -> begin
    -> INSERT INTO Bitacora VALUES(Integrante,Accion,CURRENT_TIMESTAMP);
    -> end;
    -> //

Ahora invoquemos a la funcion
mysql> call insertar("15","Entro al sistema");

Ahora chekemos si se guardo:
SELECT * FROM Bitacora WHERE Id_Integrante=15;

Tiene que dar el siguiente resultado:
+---------------+------------------+---------------------+
| Id_Integrante | Accion           | Fech                |
+---------------+------------------+---------------------+
| 15            | Entro al sistema | 2011-09-25 19:54:12 |
+---------------+------------------+---------------------+
1 row in set (0.00 sec)


mysqld -P 3305







Bueno hasta ahora eso es todo, luego pongo como hacer UNION, JOIN ETC. ESPERO Y LES ALLA SERVIDO :), Saludos

2