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

## H2

### H3

#### and so on

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~~