Learning has recently played a vital role in control engineering, producing numerous applications and facilitating easier control over systems; however, it has presented serious challenges in flight learning for unmanned platforms. Iterative learning control (ILC) is a practical method for cases needing repetition in control loops. This work focuses on the ILC of a quadrotor flight. An unstable flight might lead to a crash in the system and stop the iterations; hence, a base controller, the state-dependent Riccati equation (SDRE), is selected to stabilize the drone in the first loop. The ILC acts on top of the SDRE to increase the precision and force the system to learn to track trajectories better. The combination of ILC and SDRE was tested for stationary (fixed-base) systems without the risk of crashes; nonetheless, its implementation on a flying (mobile) system is reported for the first time. The gradient descent method shapes the training criteria for error reduction in the ILC. The proposed design is implemented on simulation and a real flight of a quadrotor in a series of tests, showing the effectiveness of the proposed input law. The nonlinear and optimal structure of the base controller and the complex iterative learning programming were challenges of this work, which were successfully addressed and demonstrated experimentally.