Day2_29_第九天 Sqltie数据库
作者:互联网
Sqltie数据库
一.Sqltie数据库介绍
1.Android 系统中集成的轻量级的数据库
2.特点:
轻量级 只用一个动态的库, 是以单个文件的形式进行存取
跨平台 支持多个操作系统
零配置 无需安装, 直接使用
嵌入式 内嵌到手机中
3.在程序的内部可以通过数据库的名称访问, 其他应用不能访问
4.路径: data/data/应用程序包名/database/ ****.db
5.存放的类型:
NULL 空值
INTEGER 整型(不用int)
VARCHAR 可变长度的字符数据
TEXT 文本字符串
BOOLEAN 布尔
DATE
二.Sql基本语句
1.分类
(1)数据定义语言(Data Definition Language,简称为DDL):create/drop/alter
(2)数据操作语言(Data Manipulation Language,简称为DML):delete/insert/update/select
(3)数据控制语言(Data Control Language,简称为DCL):grant/revoke
2.表的操作
1.增:create table student( id int , name varchar(10), sex varchar(10), age int, teacher_id int , room_id int
);
2.删:drop table 表名;
3.改:alter (1)修改表名:alter table 旧表名 rename to 新表名;(to可以省略)
(2)增加字段:alter table 表名 add column 字段名 数据类型; 放首位:alter table 表名 add column 字段名 数据类型 first; 放到某个字段的后面:alter table 表名 add column 字段名 数据类型 after 字段名;
(3)删除字段:alter table 表名 drop column字段名;
(4)修改字段:alter table 表名 change 旧字段名 新字段名 新数据类型;
放首位:alter table 表名 change 旧字段名 新字段名 新数据类型 first;
放到某个字段的后面:alter table 表名 change 旧字段名 新字段名 新数据类型 after 字段名;
备注:如果只修改字段的数据类型可以用modify:alter table 表名 字段名 数据类型;
(5)查看字段:desc 表名;
4.查:show tables;
3.数据操作
1.增:insert
2.删:delete
3.改:update
4.查:select
三.数据库的使用
1.SQLiteOpenHelper
数据库的帮助类, “用于数据库的创建和版本更新”
使用方式:
(1)定义一个类, 继承SQLiteOpenHelper
(2)重写构造方法 :提供数据库的基本信息 : 上下文对象,数据库名称,Null,数据库的版本号
(3)重写父类的两个方法: 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) {
}
}
Activity代码
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();
}
}
}
});
}
}
摇耳朵的小布丁i
发布了9 篇原创文章 · 获赞 0 · 访问量 205
私信
关注
标签:第九天,数据类型,数据库,Day2,Sqltie,表名,table,alter,字段名 来源: https://blog.csdn.net/weixin_45533623/article/details/104592936