Capitulos de este wiki
  1. 1 Introducción
  2. 2 Instalacion y configuración
  3. 3 Usando mysql
  4. 4 Creando una Base de Datos en MySQL
  5. 5 Backups
  6. 6 Otros

Tutorial Mysql - Creando una Base de Datos en MySQL

4 - Creando una Base de Datos en MySQL

[editar]
Tutorial creado por Alvaro Marín Illera alvaro at rigel.deusto.es. Extraido de: http://www.mononeurona.org/index.php?idp=521
27 de Octubre de 2005
Vamos a crear una base de datos ejemplo.
Primeramente, creamos elarchivo .sql con todas las sentencias SQL para crear las tablas. Para ello, con nuestro editor favorito, editamos el fichero : CREATE TABLE Usuario (
id int(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
nick varchar(40) NOT NULL,
email varchar(60),
web varchar(100)
);
CREATE TABLE Mensaje (
id int(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
autor int(5) NOT NULL,
fecha date,
texto blob,
padre int(5),
tema int(8),
FOREIGN KEY (autor) REFERENCES Usuario(id),
FOREIGN KEY (tema) REFERENCES Tema(id)
);
CREATE TABLE Tema (
id int(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
nombre varchar(20) NOT NULL,
descripcion varchar(60)
);
Una vez creado el archivo, se lo pasamos a MySQL: $mysql -u ghost -p BDghost < foros.sql
o si tenemos el .my.cnf anterior creado : mysql < foros.sql
de tal forma, que lo copiará con la base de datos, usuario y pass del archivo .my.cnf.
MySQL acepta un montón de tipos de datos como int(tinyint,smallint,mediumint,bigint),float,double,char,varchar,blob,mediumblob,date,time...
Destacar también el atributo AUTO_INCREMENT, de id por ejemplo. Con esto indicamos, que cada vez que se inserte una fila en la tabla, MySQL asignará un nº al id, que será el posterior al anterioriormente asignado.
De esta forma, tenemos secuencias enteras de ids sin necesitar de "llevar la cuenta" ni nada por el estilo.
Al hacer la insert, será con el valor NULL y MySQL se encarga automáticamente de generarlo. También se puede introducir un valor para saltarse el autoincrement, pero dará error si ya existe. Se puede definir un valor de inicio para el AUTO_INCREMENT, para que empieze a contar desde un valor. Esto se hace asgnadole dicho valor al crear la tabla.

Podemos ver las tablas que acabamos de crear, reconectándonos al servidor y poniendo:

mysql> show tables;
+
+
| Tables_in_BDghost |
+
+
| Mensaje |
| Tema |
| Usuario |
+
+
3 rows in set (0.00 sec)
Para ver la descripción de cada tabla (columnas, tipos...), tenemos el comando desc o describe. Por ejemplo: mysql> describe Usuario;
+
+
+
+
+
+
+
| Field | Type | Null | Key | Default | Extra |
+
+
+
+
+
+
+
| id | int(8) | | PRI | NULL | auto_increment |
| nick | varchar(40) | | | | |
| email | varchar(60) | YES | | NULL | |
| web | varchar(100) | YES | | NULL | |
+
+
+
+
+
+
+
4 rows in set (0.00 sec)
mysql> desc Mensaje;
+
+
+
+
+
+
+
| Field | Type | Null | Key | Default | Extra |
+
+
+
+
+
+
+
| id | int(8) | | PRI | NULL | auto_increment |
| autor | int(5) | | | 0 | |
| fecha | date | YES | | NULL | |
| texto | blob | YES | | NULL | |
| padre | int(5) | YES | | NULL | |
| tema | int(8) | YES | | NULL | |
+
+
+
+
+
+
+
6 rows in set (0.00 sec)

Explicado esto, podemos hacer las correspondientes inserts a las tablas, por ejemplo:

mysql>insert into Usuario values(NULL,"split","split77@terra.es","http://split.no-ip.org");---mysql>insert into Tema values(NULL,"GNU/Linux","Tema sobre GNU/Linux");
mysql>insert into Mensaje values(NULL,1,now(),"Primer mensaje",NULL,1);
mysql>insert into Usuario values(NULL,"cicatriz","cicatriz@enlamatriz.org","");
mysql>insert into Mensaje values(NULL,1,now(),"Segundo Mensaje",NULL,1);
Para hacer una consulta sencilla de todos los mensajes que ha escrito split, hacemos: mysql> select Mensaje.texto from Mensaje,Usuario where Usuario.id=Mensaje.autor and Usuario.nick="split";
+
+
| texto |
+
+
| Primer mensaje |
| Segundo Mensaje |
+
+
2 rows in set (0.01 sec)
[editar]

6 opiniones

Opinion.

Realmente este curso es muy basico, salvo, que algunos no estan muy metidos en el asunto de mysql asi que seria un poquito mejor que explicara bien bien, a que se refiere casa comando apesar de eso esto esta muy bien.
Mysql.

Hola a todos... Soy de paraná entre rios. Mi nombre es martin y estudio ing en sist en oro verde. Saludos y disfruten de este curso. Por consultas envien email a hormis25@hotmail. Com.
Tutorial mysql.

Me parece que es buen curso ya que cuenta con lo basico y es de manera facil de usar el mysql, gracias por hacerlo puesto ya ke me fue de gran ayuda para mi proyecto de residencias.
Técnico en informática.

Excelente curso básico de introducción a mysql, hacía falta un buen curso introductorio y en español de esta poderosa base de datos.
Curso de mysql.

Excelente nada mas que decir.
1 2 | siguiente >

Tutoriales relacionados con 'Tutorial Mysql'

Su principal objetivo de diseño fue la velocidad, por ello se suprimieron algunas características de... Más »
Los compañeros de Nodo50 comparten con nosotros este mini-tutorial que nos muestra como conectar con... Más »
En este artículo explicamos paso a paso como realizar una instalación a partir de los... Más »
Entiendase que AJAX no se refiere a usar el objeto XMLHttpRequest de manera indispensable porque... Más »
Los compañeros de Nodo50 comparten con nosotros este mini-tutorial que nos muestra como conectar con... Más »

Autor y licencia de 'Tutorial Mysql'


Tutorial de Alvaro Marín Illera alvaro at rigel.deusto.es. Extraido de: http://www.mononeurona.org/index.php?idp=521 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.