The reason behind it is the performance. Now what does DDL (Data Definition Language) even do? It gives you the "frame" for your DB it creates Tables with fields etc. Now you want this take effect immediatley and it's rather simple. Thats why you use an interpreter. Also your frame most likely wont change that often compared to DML. Now in DML its another story its challenging and difficult tasks which can't be executed immediatley hence compiler. A very very very simple rule of thumb (yes before everyone hunts me with pitchforks i know there is more to it) an Interpreter is efficient in the start. he acts faster initially but the longer it runs the more inefficient he gets compared to an compiler