Don't learn openings using theory tables. It's painful and ineffective. Also, it is very helpful to read the analysis and explanations of strong chess players. This will help to understand the positions and therefore to remember the moves. This means, that you should have a book (printed or in a digital pgn format that you get from e.g. Everyman Chess) or a video course (e.g. from ChessMood, but there are many others).
The most modern (and probably best) way of learning chess openings is to use a combination of instruction (e.g. book, video or pgn annotation) and spaced repetition training (scientific state-of-the-art to learn something by heart).
Spaced repetition in a nutshell: you repeat positions, that you get wrong, more frequently than positions that you get right. The more often you get something right, the further the next repetition of that position is scheduled into the future. This leads to more effective use of your time and better memory retention.
The most basic (and likely already sufficient) type is the Leitner system, but with the help of computers much more complex algorithms called SuperMemo are possible, the newest being SM-18.
The leading platform is Chessable, where you can read chess books with explanations from strong players in a digital format (with optional video instruction).
After learning the variation, the software lets you train the moves by giving you a position from the book and asking for the correct continuation.
The positions will be scheduled according to their implementation of a spaced repetition algorithm.
The (only real) disadvantage is, that you cannot get the variations out of Chessable, e.g. to analyze them in your ChessBase, everything will be online. You also cannot modify courses, but you can upload and create your own (with the modified variations).
Also, you will need to buy the books again, even if you already have the hard copy. There are many free courses called Short&Sweet where you have a selection of important variations from a paid course, often enabling you to try the opening in your online games before buying the full opening course.
I have learnt a lot from Chessable and they have many great courses and authors.
The main alternatives to using ready-made repertoires on Chessable are to
- analyze openings yourself / create your own opening repertoire in a pgn (helpful tools are an engine (obviously), as well as the ChessBase Mega DataBase or the free lichess opening explorer to see how well certain moves perform at what level)
- transfer the variations from a book or a video into a digital pgn format
and subsequently putting them into a spaced repetition chess position trainer.
As an online solution that works very similarly to Chessable, I recommend (and use) the ChessTempo opening trainer. An alternative is LiStudy. You can also use Chessable for own repertoires, but the number of self-created courses is limited if you do not get the paid Pro-Membership.
As an offline solution, there is the Chess Position Trainer. The drawback is, that their mobile apps are still in development and you can currently only use it on your (Windows) PC.
If you have your opening repertoire in a pgn format, you can also use the opening trainer of ChessBase (or alternatives such as SCID), but to my knowledge, they lack a spaced repetition feature at this moment (even though I'm confident ChessBase plans something in that regard).