You have to be careful about the language you use. Database testing is a very specific type of testing to many people. Selenium WebDriver is used to automate tests a person would normally perform on a web application. You can use Selenium to simulate keyboard, mouse and some 'visual' actions. Anything outside of interacting with the web application through the browser does not use or require Selenium.
As a manual tester I have run tests on a web application to confirm the expected data appears in the correct location of the web application. There are a number of scenarios which this situation might be covered. For example,
Case #1:
Someone gives me a test plan, they seed the application with test data. The test requires me to confirm the right data appears on the appropriate page. When I automate this test, I could hard code the data so it matches the expected seed data. So when the test runs it confirms the expected data is the actual data.
Case #2
Someone gives me a test plan and I'm told the expected data can be found in a database. I load up Squirrel (or some other database client), connect to the database, run the specified SELECT statements. I then confirm the data I got from the SELECT statement matches the data I see in the web application. When I automate this test, I will use JDBC to connect to the database and get a ResultSet. I then use the data from the ResultSet as my expected data and use Selenium to get the actual data. I then use assert statements to confirm the expected data (from database) matches the actual data (from the Web Application).
Case #3
I'm given a test plan, I run the tests then use a database client to examine the database. The test plan tells me what the expected results should be, For example, if you enter the first name "TestUser2093476420" you should expect to see this value in the table XXX. It should only appear once. It should be in column YYY. To automate this I would use Selenium to get the expected data from the web application then I'd use JDBC to get the actual data from the database.
None of this is technically database testing. This is REALLY testing a technology stack (web application & database) to see if things match. Additionally, finding problems sooner in the test cycle is much better. If I (or someone) can write a unit test to catch things, I would use unit tests. Essentially, if the Selenium/JDBC test is equivalent to the unit test, I'd just keep the unit test.
Your example sounds like you are trying to do something like Case #2. Tests tend to break down to actual versus expected. Don't think of it as does the database match the web application. Think of it as one is the expected data and the other is the actual data. You want to assert they are equal.
As for why you REALLY want to test this at the unit level have a read of page 276+ from Lisa Crispin's & Janet Gregory's Agile Testing: A Practical Guide For Testers and Agile Teams. It talks about the Test Triangle and why you want to push things down to the unit level whenever possible.
Darrell