sqlsqlite
❶ sql 和 SQLite 的有什么分别 重视哪个会好点
这个问题怎么经常会冒出来?
SQL 是 结构查询语言的简写,是关系型数据库的操作语言,sqlserver,db2,oracle,infomix、mysql,postresql 等都基本上支持sql标准。
有时 sql也指 sql server,偶尔也指其他包含sql数据库的数据库(比如Mysql,不过一般可以认为不是合适的称呼)
SQLite是一个单独的小型的文件式的数据库,一般用于嵌入式的系统中。
你如果想学习嵌入式系统的开发,那么直接是SQLite。
如果想学习企业级的开发,那么上面sqlserver,db2,oracle 任意选一个
如果想学习小型网站的开发,那么mysql,postresql 都可以,不过mysql似乎用的较多
如果没有目的,只是想学数据库编程,那么mysql、sqlserver、oracle都可以。
❷ 如何将sql文件导入sqlite
使用sqlite的文件导入导出功能
导入
命令:
.import
sqlite>
.import
文件名
表名
注1:
不要忘了开头的点
注2:
这条语句不能用分号结束.
非sql不需要分号结束.
注3:
需要查看默认的分隔符separator.
必须一致.
如果不一致可能导致sqlite字段分割错误.
查看分隔符使用命令
.show
,
如果不一致可直接修改,
比如:
sqlite>.separator
","
将分隔符转为逗号.
举例1:
将文件a.csv中的数据导入表
tab_xx.
(a.csv中字段以逗号分割)
sqlite>
.separator
","
sqlite>
.import
a.csv
tab_xx
sqlite>
导入结束.
导出
实现方式:
将输出重定向至文件.
命令:
.output
sqlite>
.output
a.txt
然后输入sql语句,
查询出要导的数据.
查询后,数据不会显示在屏幕上,而直接写入文件.
结束后,输入
sqlite>
.output
stdout
将输出重定向至屏幕.
举例2:
将
tab_xx
中的数据导出到文件a.txt
sqlite>
.output
a.txt
sqlite>
select
*
from
tab_xx;
sqlite>
.output
stdout
导出完毕.
❸ sql和sqlite3有什么区别
一种含义比较多,关系数据库、数据库语言、微软的一种数据库...,sqlite3是一种文件型数据库。
❹ SQL 和 SQLite 的有什么分别 重视哪个会好点
sql是泛指数据库,常见的有mysql、sql server、oracle、postgres、sqlite。前面的这些都是需要搭建服务器,需要网络,功能全面。sqlite则是轻型数据库,对资源消耗小,只需一个文件即可,适合嵌入式系统等,比如常见的安卓应用。但是需要多用户或者多点登陆还是使用前面这些。
❺ SQL 和 SQLite 的有什么分别 重视哪个会好点
sqlite是轻量级的
❻ 总结SQLite不支持的SQL语法有哪些
1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * FROM [index] ORDER BY indexid DESC;
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * FROM [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示从第0条记录开始,往后一共读取10条
2 创建视图(Create View)
SQLite在创建多表视图的时候有一个BUG,问题如下:
CREATE VIEW watch_single AS SELECT DISTINCT watch_item.[watchid],watch_item.[itemid] FROM watch_item;
上面这条SQL语句执行后会显示成功,但是实际上除了
SELECT COUNT(*) FROM [watch_single ] WHERE watch_ single.watchid = 1;
能执行之外是无法执行其他任何语句的。其原因在于建立视图的时候指定了字段所在的表名,而SQLite并不能正确地识别它。所以上面的创建语句要改为:
CREATE VIEW watch_single AS SELECT DISTINCT [watchid],[itemid] FROM watch_item;
但是随之而来的问题是如果是多表的视图,且表间有重名字段的时候该怎么办?
3 COUNT(DISTINCT column)
SQLite在执行如下语句的时候会报错:
SELECT COUNT(DISTINCT watchid) FROM [watch_item] WHERE watch_item.watchid = 1;
其原因是SQLite的所有内置函数都不支持DISTINCT限定,所以如果要统计不重复的记录数的时候会出现一些麻烦。比较可行的做法是先建立一个不重复的记录表的视图,然后再对该视图进行计数。
4 外连接
虽然SQLite官方已经声称LEFT OUTER JOIN 已经实现,但还没有 RIGHT OUTER JOIN 和 FULL OUTER JOIN。但是实际测试表明似乎并不能够正常的工作。以下三条语句在执行的时候均会报错:
SELECT tags.[tagid] FROM [tags],[tag_rss] WHERE tags.[tagid] = tag_rss.[tagid](*);
SELECT tags.[tagid] FROM [tags],[tag_rss] WHERE LEFT OUTER JOIN tag_rss.[tagid] = tags.[tagid];
SELECT tags.[tagid] FROM [tags],[tag_rss] WHERE LEFT JOIN tag_rss.[tagid] = tags.[tagid];
此外经过测试用+号代替*号也是不可行的。
❼ SQL 和 SQLite 的有什么分别 重视哪个会好点
这两个完全没有可比性。楼主还没有理解数据库的概念。数据可以分为三种,一种是超大型数据库,如甲骨文公司的oracle数据库,国内比较着名的公司如蒙牛、腾讯等都是使用这种数据,阿里巴巴之前也是用oracle,后来才使用了自己研发的数据库。第二种是中型数据库,以MS SQL Server和My SQL为代表,这类数据库比较常见,很多企业的ERP系统和网上商城系统用的都是这两种。当然,SyBase也算是中型数据库。第三种是微小型数据库,以你的问题中提到的SQLite和微软Office办公组件里的Access为代表,很多公司之前用ASP做的网站大部分用的都是Access。SQLite的兴起跟Android有很大的关系,安卓中用户短信、联系人数据等都是用SQLite存储的。甚至,我们熟悉的QQ、迅雷等,也都是采用SQLite来存储数据。
现在来回答你的问题,SQL是数据库查询用到的语句,它本身不是数据库,所以没有可比性。重视哪个好?两个都要重视,懂了SQLite,但不会查数据,等于你什么都不懂。强烈建议你加入本人创建的SQLite QQ群:1702823,有问题可以在群里面讨论。
❽ SQLite3 执行 sql 语句的占位符
使用 execute 方法执行一条SQL语句,如果带有参数可以使用占位符来传递参数。使用占位符已经考虑到转码的问题,不需要自己单独处理。不用去管 SQL 注入的问题。不过占位符只是针对value,不能用于设置表名,字段等。
SQLite3支持两种占位符: 问号占位符 和 命名占位符 。
采用问号作为占位符,参数为元组形式。例如:
采用冒号加 key 的形式作为占位符,参数为字典形式。例如:
一般来话,第一种方式比较方便,也比较常见。但是如果在执行sql语句需要同一个参数多次使用时,采用第二种方式就比较合适
❾ SQL 和 SQLite 的有什么分别 重视哪个会好点
SQL一般是指Microsoft sql 是大型的数据库语言,开发大型的软件的数据库语言,一般开发跟微软相关的软件就可用到。当然sql就像普通话一样,学会了到处都受用,其他的数据库语言就喊好上手!sqllite 是小型的数据库,比如开发php程序可以用到,现在的android就是用sqlite开发,灵活便捷!