Update Texture content

In my program, I need to frequently update the content of Texture.
can I just use
glTexImagenD()?
do I need also use glDeleteTextures
and bind again?

glTexSubImage might be more efficient, if the texture has always the same size. Memory allocation for the texture is not necessary in that case and you do not need to delete the texture. If you use data from the framebuffer, glCopyTexSubImage is the fastest method (except you are able to use PBuffers).