SQL 中的insert

SQL 中的insert,第1张

sqlserver、oracle都不支持这种语句

sqlserver一次插入多行数据

insert into [user](typename,system)

select 'aaa',1 union

select 'asd',44

1、使用insert方法插入记录

SQLiteDatabase的insert方法的签名为long insert(String table,String nullColumnHack,ContentValues values),这个插入方法的参数说明如下:

table:代表想插入数据的表名。

nullColumnHack:代表强行插入null值的数据列的列名。

values:代表一行记录的数据。

insert方法插入的一行记录使用ContentValues存放,ContentValues类似于Map,它提供了put(String key,Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxx(String key)方法用于取出数据。

例如如下语句:

ContentValues values=new ContentValues();

valuesput("name","孙悟空"):

valuesput("age",500);

//返回新添记录的行号,该行号是一个内部直,与主键id无关,发生错误返回-1

long rowid=dbinsert("person_inf",null,values);

2、使用update方法更新数据

SQLiteDatabase的update方法签名为update(String table,ContentValues values,String whereClause,String[] whereArgs),这个更新方法的参数说明如下:

table:代表想要更新数据的表名。

values:代表想要更新的数据。

whereClause:满足该whereClause子句的记录将会被更新。

whereArgs:用于为whereArgs子句传递参数。

例如我们想要更新person_inf表中所有主键大于20的人的人名,可调用如下方法:

ContentValues values=new ContentValues();

//存放更新后的人名

valuesput("name","新人名");

int result=dbupdate("person_inf",values,"_id>",new Integer[]{20});

3、使用delete方法删除记录

SQLiteDatabase的delete方法签名为delete(String table,String whereClause,String[] whereArgs),这个删除的参数说明如下:

table:代表想删除数据的表名。

whereClause:满足该whereClause子句的记录将会被删除。

whereArgs:用于为whereArgs子句传入参数。

删除person_inf表中所有人名以孙开头的记录

int result=dbdelete("person_inf","person_name like ",new String[]{"孙_"});

4、使用query方法查询记录

SQLiteDatabase的query方法签名为Cursor query(boolean distinct,String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit),这个query方法的参数说明如下。

distinct:指定是否去除重复记录。

table:执行查询数据的表名。

columns:要查询出来的列名。

selection:查询条件子句。

selectionArgs:用于为selection子句中占位符传入参数值,值在数组中的位置与占位符在语句中的位置必须一致,否则就会有异常。

groupBy:用于控制分组。

having:用于对分组进行过滤。

orderBy:用于对记录进行排序。

limit:用于进行分页。

例如查询出person_inf表中人名以孙开头的数据

Cursor cursor=dbquery("person_inf",new String[]{"_id,name,age"},"name like ",new String []{"孙%"},null,null,"personid desc","5,10");

cursorclose();

不知道你什么数据库,一般数据库,如果你用values插入,只能插入1条,如果你想同时插入多条,可以采用如下方式

insert into [CNZRPT_TEST][dbo][test] (字段1,字段2,字段3) select '001','zhangsan','1#'

union all

select '002','lisi','2#'

union all

select '003','zhaowu','3#'

后面一种实际上是错误的,只是有些数据库支持而已,insert是一定要和into在一起的。

insert

into

table

(栏位1,栏位2)values

('','',)

才是对的

add,alter,drop是ddl语句,insert,update,delete是dml语句

ddl语句是对表结构的修改,dml语句是对表数据的修改

比如一个表有3列数据c1,c2,c3如下

a,1,2

b,2,3

c,3,4

ddl语句可以给表添加一列,删除一列或者删掉这个表

而dml语句是给表里的数据修改,添加,或删除

以上就是关于SQL 中的insert全部的内容,包括:SQL 中的insert、sqllitedatabase.insert方法、sql的insert语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9350696.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存