14 ago 2012

Insertar registros en MySQL


Cómo insertar datos o añadir una fila en una tabla
INSERT es usado para insertar nuevas filas o datos en una tabla existente.
La sintaxis de Insert es 
INSERT INTO tbl_name VALUES[(col_name,...)];
Si el tipo de datos no es mencionado considerará valores NULL.
El siguiente ejemplo añadirá los valores como studid, nombre, notas, dirección y número de Teléfono en la tabla student.
mysql> insert into student values(1, "steve", 100, "5th cross street", 2456987);
Query OK, 1 row affected (0.01 sec)
INSERT...SET STATEMENT : INSERT...SET también es usado para insertar valores usando el nombre de la columna.
La sintaxis es
INSERT INTO tbl_name SET col_name = expr,.....;
Vamos a tomar los mismos valores insertando en la tabla student.
mysql> insert into student set studid=1, name='steve', marks=100, address='5th cross street', phone=2456987;
Query OK, 1 row affected (0.03 sec)

Cómo insertar múltiples filas en una tabla
Podemos insertar múltiples filas en una tabla usando una sentencia simple INSERT. La Sintaxix es

INSERT INTO tbl_name(col_name1, col_name2,...) VALUES(expr1, expr2,.....;), (expr1a, expr2a,.....;)

Ejemplo :

mysql> insert into student(studid,name,marks,address,phone) 
values(3,'michael',75,'edinburgh',2598234),
(4,'jack',82,'victoria street',2436821),
(5,'anne',100,'downing street',2634821);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0 
El ejemplo de arriba insertará tres detalles para students en la tabla student. Este ejemplo será útil mientras se inserta una gran cantidad de datos en una tabla específica.
Cómo añadir un campo de autoincremento con MySQL
El atributo auto increment es usado para genera un identificador para las filas introducidas. Vamos a ver un ejemplo usando auto increment.
mysql> create table stud(id bigint not null unique auto_increment,
name char(20));
Query OK, 0 rows affected (0.03 sec)

En el ejemplo de arriba, hemos creado una tabla stud y hemos asignado autoincrement al campo llamado id. Ahora podemos insertar valores para el campo solo como en el ejemplo siguiente.

mysql> insert into stud(name) values ('anne'),('michael'),('james'),
('rajesh'),('harry');
Query OK, 5 rows affected (0.05 sec)
Records: 5  Duplicates: 0  Warnings: 0

Ahora si seleccionamos la tabla, el campo nombrado id se incrementará automáticamente como se muestra a continuación.
mysql> select * from stud;
+----+---------+
| id | name    |
+----+---------+
|  1 | anne    |
|  2 | michael |
|  3 | james   |
|  4 | rajesh  |
|  5 | harry   |
+----+---------+
5 rows in set (0.00 sec)


 Actividad en Clase

Reunete con un compañero de clases y realiza los siguientes pasos teniendo en cuenta la informacion anterior.
  1. Diseña o crea un base de datos que lleve por nombre tu Apellido 
  2. Crear tres tablas con llave principal cada una.
  3. Insertar 1 registro en una de las tablas.
  4. Insertar  3 registros utilizando una sentencia de codigo, es decir, insertar los tres registros a la vez. (No ingresar registro por registro).