If you want a list of instructions for any CPU, generally you want that CPU's instruction set reference or programmers reference guide.
Intel: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
AMD: http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/ (Architecture Programmer's Manuals is what you want)
Intel has several processor architectures, x86 being its (and the) most popular. x86 has been (and continues to be) extended over time, generally later revisions are backward compatible with earlier revisions. For example, Intel's first x86 architecture processor was the 8088. Then the 80286 came out. It extends the 8088 instruction set. 80286 understands all 8088 assembly. And so forth throughout 80386, 80486, Pentium, the Core series, and the i series.
I always thought that microarchitecture was the same thing as the instruction set
No. The microarchitecture is "beneath" and implements the main architecture. In this case, Intel has many microarchitectures that implement various revisions x86 instruction set. The microarchitecture is not something you need to worry about for the purposes of learning assembly language programming. You do need to know which x86 revision (or architecture, not micro architecture) you are using, as e.g. Pentium has instructions that 80386 processors don't. You might want to start with a book or something teaching you how to program an 8088 as it will be simpler and later architecture revisions (286, 386, etc.) build upon it.
Okay first of all, I don't really understand how instruction sets on microprocessors work. Are they implemented through an assembly language?
Assembly language allows you, the programmer, to write machine language using something resembling human readable text, and will typically let you use labels instead of remembering raw RAM or I/O addresses. The alternative would be to enter the opcodes of each instruction manually, a very tedious task given the number of instructions and addressing modes x86 has.
Each instruction is represented by a mnemonic, and translates to a single machine language instruction. An assembler will take your assembly code (in a text file) and assemble (NOT compile) it to a binary image that the CPU can run.
AMD copied Intel's instruction set, but started to diverge with SSE instructions, VMM instructions and possibly other things. Most of what you learn for Intel assembly will apply, though.