Unmanned Aerial Vehicles (UAVs) have become increasingly important in assisting 5G and beyond 5G (B5G) mobile networks. Indeed, UAVs have all the potentials to both satisfy the ever-increasing mobile data demands of such mobile networks and provide ubiquitous connectivity to different kinds of wireless devices. However, the UAV assistance paradigm faces a set of crucial issues and challenges. For example, the network management of current UAV-assisted systems is time consuming, complicated, and carried out manually, thus causing a multitude of interoperability issues. To efficiently address all these issues, Software-Defined Network (SDN) and Network Function Virtualization (NFV) are two promising technologies to efficiently manage and improve the UAV assistance for the next generation of mobile networks. In the literature, no clear guidelines are describing the different use cases of SDN and NFV in the context of UAV assistance to terrestrial networks, including mobile networks. Motivated by this fact, in this survey, we guide the reader through a comprehensive discussion of the main characteristics of SDN and NFV technologies. Moreover, we provide a thorough analysis of the different classifications, use cases, and challenges related to UAV-assisted systems. We then discuss SDN/NFV-enabled UAV-assisted systems, along with several case studies and issues, such as the involvement of UAVs in cellular communications, monitoring, and routing, to name a few. We furthermore present a set of open research challenges, high-level insights, and future research directions related to UAV-assisted systems.