I will split your question in two parts -:

1)        What needs to be tested

You have already covered some critical scenarios. Besides these following should also be covered-:

-Ensure that all expected data is loaded into target table.

-Compare record counts between source and target.
   
-Check for any rejected records
   
-Null, non-unique or out of range data
   
-Verify default values
   
-Verify Field Boundaries, range/distribution of value
   
-Verify unique keys, primary keys

-Verify any derivations & Calculation in the tables

-Verify the data Load technique (Incremental/ Full Refresh)

2)        How can this be tested -?

In my opinion there are three ways to test this scenario-:

i) Using Third Party utility. You can use programming languages like Python/ Java for loading the data in some test database and doing the data comparison.

ii) Manual comparison -: For some subset of data You can stare and compare the data between source & Target Databases. Or You can download samples of data from Source & Target in Excel and use Macros for data Comparison & Validation. But as this involves manual steps, this will be time consuming & will not give good data coverage.

iii) Using ETL test Automation tools – You can check some tools like Query Surge , BI Validator which can do file to DB comparison.