Creo que tu solución de una tabla por cada usuario no es para nada recomendable. Lo más ortodoxo es usar tablas con llaves foráneas.
Por decir algo: tú tienes tu tabla de usuarios con los siguientes campos:
usuario |id_usuario | nombre | apellidos| contrasena| ...
Ahora la tabla de agenda quedaría así:
agenda |id_usuario| id_agenda | nombre_contacto | telefono| ...
Dode "id_usuario" es una llave foránea que hace referencia a la tabla "usuarios"
Por ejemplo si quieres saber los contactos de un usuario en particular, con el id 10, harías lo siguiente:
Código SQL:
Ver originalSELECT * FROM agenda WHERE id_usuario = 10
O para insertar contactos en la agenda sería, del usuario con id 20:
Código SQL:
Ver originalINSERT INTO agenda (id_usuario, nombre_contacto,...) VALUES (20, "Juan Perez ", ...)