Almacén de datos para fechas de AD

Estamos creando un archivo histórico para una base de datos de historia mundial y necesitamos una tabla de búsqueda de fechas que haga referencia a todas las fechas en AD. ¿Cómo crear los valores para esta tabla, desde 1AD hasta 2011 como AAAA / MM / DD? La base de datos es MySQL.

Problemas

Estoy usando Excel para rellenar previamente las fechas, luego importar a MySQL como: AAAA / MM / DD, pero Excel no reconoce años como 0007, 0008, etc., por lo que no puedo copiar automáticamente las celdas para generar fechas. Tengo que hacerlo manualmente y esto llevará días para pasar de 1AD al año 2011 como AAAA / MM / DD.

Los años bisiestos se introdujeron en 1752. Si genero fechas mediante programación, ¿cómo manejo los casos anteriores a 1752 sin años bisiestos? Generará fechas incorrectas.

Mi mesa

    CREATE TABLE `dates` (
      `date_id` int(10) NOT NULL,
      `format` char(10) NOT NULL,
      `century` int(10) NOT NULL,
      `decade` int(10) NOT NULL,
      `year` int(10) NOT NULL,
      `month` int(10) NOT NULL,
      `week` int(10) NOT NULL,
      `day` int(10) NOT NULL,
      `month_year` int(10) NOT NULL,
      `week_year` int(10) NOT NULL,
      `week_month` int(10) NOT NULL,
      `day_year` int(10) NOT NULL,
      `day_month` int(10) NOT NULL,
      `day_week` int(10) NOT NULL,
      PRIMARY KEY (`date_id`)
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Respuestas a la pregunta(1)

Su respuesta a la pregunta