Unity 2D: How can i get my sprite to rotate to the direction I am going?

I have seen many other questions on this but none seem to work. I was using transform.Translate but that meant when I rotated forwards became a different place and so it would just stop.

My code:

using UnityEngine;
using System.Collections;

public class Movement2 : MonoBehaviour {
	//Inspector Variables
	float playerSpeed = 0.05f; //speed player moves
	
	void  Update (){
		
		UpAndDown();
		RightAndLeft();
		
	}
	
	void  UpAndDown (){
		
		if(Input.GetKey("up"))
		{
			//transform.Translate(0,playerSpeed,0); this is the old system
			transform.position = new Vector3(transform.position.x, transform.position.y + playerSpeed);
		}
		if(Input.GetKey("down"))
		{
			
			transform.position = new Vector3(transform.position.x, transform.position.y - playerSpeed);
		}
		
	}
	
	void  RightAndLeft (){
		if(Input.GetKey("right"))
		{
			transform.position = new Vector3(transform.position.x + playerSpeed, transform.position.y);
		}
		
		
		if(Input.GetKey("left"))
		{
			transform.position = new Vector3(transform.position.x - playerSpeed, transform.position.y);
		}
		
	}
	
	
}

With Translate your moving, not rotating, try this

float X = Input.GetAxis("Horizontal");
float Y = Input.GetAxis("Vertical");

transform.Rotate(transform.right * X * RotateSpeed);
transform.Rotate(transform.up * Y * RotateSpeed);