We present effective numerical algorithms for recovering unknown governing differential equations from measurement data. Upon recasting the problem into a function approximation problem, we discuss several important aspects for accurate recovery/approximation. Most notably, we discuss the importance of using a large number of short bursts of trajectory data, rather than using data from a single long trajectory. We also present several recovery strategies using deep neural networks (DNNs), especially those based on reside network (ResNet). We then present an extensive set of numerical examples of both linear and nonlinear systems to demonstrate the properties and effectiveness of our equation recovery algorithms.