Day2_29_九日Sqltieデータベース

データベースを導入.Sqltie

1.Androidは、システムの軽量データベースに統合
2.特徴:

単一のファイルアクセスの形でのみ動的ライブラリと軽量、
複数のオペレーティングシステムプラットフォーム間ではサポートして
使用して直接インストールすることなく、ゼロコンフィギュレーションを
組み込み、携帯電話に内蔵さを

3.データベースの名前は、プログラム内でアクセスすることができ、他のアプリケーションがアクセスできない
4.パス:.データ/データ/アプリケーションパッケージ名/データベース/ **** DBの
記憶されたタイプ5:

NULLのNULL値
INTEGER整数(INT行う)
VARCHAR可変長文字データ
TEXTのテキスト文字列
BOOLEANブール
DATE

二つの基本的な文.SQL

1.カテゴリー

(1)データ定義言語(データ定義言語は、DDLと称する)を作成/ドロップ/ ALTER
(2)データ操作言語(データ操作言語、DMLと称する)の削除/挿入/更新/ SELECT
(3)データ制御言語(DCLと呼ばれるデータ制御言語):許可/取り消し

2.操作テーブル

1.Up:学生テーブル(INTのID、名前VARCHAR(10)、性別VARCHAR(10)、年齢INT、INT teacher_id、room_id INT作成
)を;
2.削除:ドロップテーブル名;
3つの変更:ALTER(1)レビューテーブル:新しいテーブルにALTER TABLE古いテーブル名のリネーム;(省略することにする)
(2)フィールド増やす:ALTER TABLEテーブルの追加列フィールド名データ型を、最初に置か:ALTER TABLEテーブルの追加列のフィールド名データ型まず、フィールドに戻し:フィールド名データ型フィールド名の後に、ALTERテーブルの追加列テーブルと、
(3)削除フィールド:ALTERテーブルドロップ列テーブル名フィールド名;
(4)フィールドを変更:ALTER表変更テーブル名新しいフィールド名フィールドの新しいデータ型の古い名前;
最初に置く:; ALTER TABLEテーブル名の変更最初に新しいフィールド名のフィールドの新しいデータ型の古い名前
:ALTER TABLEテーブル名の変更、新たなフィールド名フィールドの新しいデータの古い名前フィールドの後ろにフィールド名のタイプの後;
注:のみ変更することができるデータ型のフィールドを変更した場合:ALTER TABLE名テーブル名フィールドのデータ型を、
(5)視野:DESC名;
4.チェック:ショーのテーブル。

3.データ操作

1.Up:INSERT
2. [削除]:[削除
3.変更:更新
4.チェック:選択

データベースのIII。使用

1.SQLiteOpenHelper

ヘルプクラスのデータベース、「データベースとバージョンアップデートの作成」
を使用します:

(1)SQLiteOpenHelper継承クラスの定義
(2)書換えコンストラクタ:基本情報のデータベースを提供する:コンテキスト・オブジェクト、データベース名、ヌル、データベースのバージョン番号
(3)は、2つのオーバーライド親クラス:のonCreate() :ONUPGRADE()

public class MySqlLiteHelper extends SQLiteOpenHelper {


    public MySqlLiteHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table student (id integer primary key autoincrement,name value(20))");
        db.execSQL("insert into student values(null,'wuwukai')");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

活動コード

public class MainActivity extends AppCompatActivity {
    private Button but;
    private SQLiteDatabase readableDatabase;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initViews();
    }

    private void initViews() {
        MySqlLiteHelper user = new MySqlLiteHelper(this, "user.db", null, 1);
        readableDatabase = user.getReadableDatabase();

        but = (Button) findViewById(R.id.but);
        final String sqlStr = "select * from student";
        but.setOnClickListener(new View.OnClickListener() {//查询
            @Override
            public void onClick(View v) {
                Cursor cursor = readableDatabase.rawQuery(sqlStr, new String[]{});
                //判断数据不为空
                if (cursor != null) {

                    //移动游标
                  while (cursor.moveToNext()){
                      String name = cursor.getString(cursor.getColumnIndex("name"));
                      Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
                  }
                }
            }
        });
    }
}
リリース9件のオリジナルの記事 ウォンの賞賛0 ビュー239

おすすめ

転載: blog.csdn.net/weixin_45533623/article/details/104592936