sqlite和MySQL的语法一样吗_Sqlite与SqlServer的语法区别

1.返回最后插入的标识值

返回最后插入的标识值sql server用@@IDENTITY

sqlite用标量函数LAST_INSERT_ROWID()

返回通过当前的 SQLConnection 插入到数据库的最后一行的行标识符(生成的主键)。此值与

SQLConnection.lastInsertRowID 属性返回的值相同。

2.top n

在sql server中返回前2行可以这样:

select top 2 * from aa

order by ids desc

sqlite中用LIMIT,语句如下:

select * from aa

order by ids desc

LIMIT 2

3.GETDATE ( )

在sql server中GETDATE ( )返回当前系统日期和时间

sqlite中没有

4.EXISTS语句

sql server中判断插入(不存在ids=5的就插入)

IF NOT EXISTS (select * from aa where ids=5)

BEGIN

insert into aa(nickname)

select 't'

END

在sqlite中可以这样

insert into aa(nickname)

select 't'

where not exists(select * from aa where ids=5)

5.嵌套事务

sqlite仅允许单个活动的事务

6.RIGHT 和 FULL OUTER JOIN

sqlite不支持 RIGHT OUTER JOIN 或 FULL OUTER JOIN

7.可更新的视图

sqlite视图是只读的。不能对视图执行 DELETE、INSERT 或 UPDATE 语句,sql server是可以对视图

DELETE、INSERT 或 UPDATE

sqlite查询数据库中存在的所有表

From within a C/C++ program (or a script using

Tcl/Ruby/Perl/Python bindings) you can get access to table and

index names by doing a SELECT on a special table named

"SQLITE_MASTER ". Every SQLite database has an SQLITE_MASTER table

that defines the schema for the database.

SQL code

SELECT name FROM sqlite_master

WHERE type='table'

ORDER BY name;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值