제가 생초보라 생초보적인 질문을 드립니다.

1.
class ProductDBHelper extends SQLiteOpenHelper {
public ProductDBHelper(Context context) {
  super(context, "Businfo.db", null, 1);
}

public void onCreate(SQLiteDatabase db) {
 db.execSQL("CREATE TABLE businfo ( _id INTEGER PRIMARY KEY AUTOINCREMENT, " + "number_station INTEGER, name_station TEXT, direction TEXT);");
 db.execSQL("INSERT INTO Businfo VALUES (null,5424, '전남대', '일곡지구'  );");
 db.execSQL("INSERT INTO Businfo VALUES (null,4415, '조선대', '하남');");
 db.execSQL("INSERT INTO Businfo VALUES (null,35124, '31사단', '봉선동');");
}

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 //db.execSQL("DROP TABLE IF EXISTS Businfo");
 //onCreate(db);
 }
}

버스어플을 연습삼아 공부하고있는중인데요,  책에있는것처럼 위와같이 생성할경우에 제생각에는
 위 class를 통해 객체를 생성할때마다  onCreate가 발동되어 DB가 계속 늘어날줄알았는데, 처음 딱 한번만 되더군요.
혹시나 하고 insert문을 추가해서 다시 실행시켜보아도 딱 저 3개만 디비에 있구요,
이유를 좀 알 수 있을까요. 아참 그리고 onUpgrade는 어떻게 해야 실행이 되는거지요?

2.  TextWatcher watcher의 public void onTextChanged()를 통해서 에딧창에 씌여진 단어를 가진 자료들을 리스트에 보려주려고
cursor = db.rawQuery("SELECT * FROM businfo where name_station like '%"+edittext01.getText()+"%'" , null);
위와같은 질의를 통해서 했는데요, 글자를 적을때는 문제가 되지 않는데, 글짜를 지울때는 이놈이 인식을 하지 못합니다.
예를들어 디비에 "신사동"이 있으면 '신'을 쓰거나, "신사"까지 쓰더라도 신사동이 리스트뷰에서 보여주는데요,
"신사"에서 del키를 통해 '사'짜를 지워서 '신'자만 남게되면 검색을 못해냅이다. 어떻게해야 del키를 통해 지울때도 똑같이 문자변화로
인식하여 동작하게 할 수 있나요..


3. 버스정류장의 경우에 버스정류장 이름 혹은 버스정류장번호 두가지로 검색할수 있는데요,
그것을 구현하고자 아래와 같은 질의를 생각했는데요,
"SELECT * FROM businfo where name_station like '%"+edittext01.getText()+"%' or number_station="+edittext01.getText()
머 버스번호도 문자타입으로 하면 문제가 안되겠지만 혹시 숫자그대로 사용하면서 방법이 없을까요..

제가 염치도없이 질문이 많네요.. 고수님들의 많은 도움 부탁드립니다. 꾸벅.