Yes and no. The singleton pattern programmatically enforces the rule that there can be at most one instance of a class at any given time. This is done by hiding the constructor (making it private), declaring the copy constructor and assignment operator private and leaving them unimplemented, hiding the destructor (private), then providing a static "getInstance" method that either constructs a new instance if no instances already exist, or returns a reference to the one instance already created.
Making all data members of a class static is an ersatz singleton pattern, in that I can still have N "instances" of the object, it's just that all instances operate on the same data (meaning that all instances change in lock-step).