Markdown is very hacky and implementation-dependent, but anyway, here are the main points.
*emphasis, italics, i, em* _using either single asterisks or underscores_
**bold, strong emphasis, b, strong** __using double asterisks or double underscores__
`code, monospace text uses backticks`
\*escape with backslashes to avoid formatting\*
code block: indent every line by four spaces or one tab
``` discord-style markdown accepts also code blocks written with three backticks```
Links: [link text](url)
Automatic links: <http://url.whatever> is the same as [http://url.whatever](http://url.whatever)
Reference-style links: [link text][1], [other link text][2].
Then somewhere else in the document:
[1]: url1
[2]: url2 "optional title attribute"
Other identifiers than just numbers can be used, case-insensitive.
Image syntax (rarer): ![alt text](image source file/url "optional title attribute, can be left out")
H1 alternative
==============
H2 alternative
--------------
Also check out the Github-flavored markdown spec. It fixes a lot of the ambiguities, but it is a technical document, not a quick primer. It additionally specifies, as extensions:
~~stricken-through text with single or double tildes~~