SQLite学手册(数据表和视图内置函数).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQLite学手册(数据表和视图内置函数)

一、创建数据表: ?? ?该命令的语法规则和使用方式与大多数关系型数据库基本相同,因此我们还是以示例的方式来演示SQLite中创建表的各种规则。但是对于一些SQLite特有的规则,我们会给予额外的说明。注:以下所有示例均是在sqlite自带命令行工具中完成的。 ?? ?1). 最简单的数据表: ?? ?sqlite CREATE TABLE testtable (first_col integer); ?? ?这里需要说明的是,对于自定义数据表表名,如testtable,不能以sqlite_开头,因为以该前缀定义的表名都用于sqlite内部。 ?? ?2). 创建带有缺省值的数据表: ?? ?sqlite CREATE TABLE testtable (first_col integer DEFAULT 0, second_col varchar DEFAULT hello); ?? ?3). 在指定数据库创建表: ?? ?sqlite ATTACH DATABASE d:/mydb.db AS mydb; ?? ?sqlite CREATE TABLE mydb.testtable (first_col integer); ?? ?这里先通过ATTACH DATABASE命令将一个已经存在的数据库文件attach到当前的连接中,之后再通过指定数据库名的方式在目标数据库中创建数据表,如mydb.testtable。关于该规则还需要给出一些额外的说明,如果我们在创建数据表时没有指定数据库名,那么将会在当前连接的main数据库中创建该表,在一个连接中只能有一个main数据库。如果需要创建临时表,就无需指定数据库名,见如下示例: ?? ?--创建两个表,一个临时表和普通表。 ?? ?sqlite CREATE TEMP TABLE temptable(first_col integer); ?? ?sqlite CREATE TABLE testtable (first_col integer);?? ? ?? ?--将当前连接中的缓存数据导出到本地文件,同时退出当前连接。 ?? ?sqlite .backup d:/mydb.db ?? ?sqlite .exit ?? ?--重新建立sqlite的连接,并将刚刚导出的数据库作为主库重新导入。 ?? ?sqlite .restore d:/mydb.db ?? ?--查看该数据库中的表信息,通过结果可以看出临时表并没有被持久化到数据库文件中。 ?? ?sqlite .tables ?? ?testtable??? ?? ?4). IF NOT EXISTS从句: ?? ?如果当前创建的数据表名已经存在,即与已经存在的表名、视图名和索引名冲突,那么本次创建操作将失败并报错。 然而如果在创建表时加上IF NOT EXISTS从句,那么本次创建操作将不会有任何影响,即不会有错误抛出,除非当前的表名和某一索引名冲突。 ?? ?sqlite CREATE TABLE testtable (first_col integer); ?? ?Error: table testtable already exists ?? ?sqlite CREATE TABLE IF NOT EXISTS testtable (first_col integer); ?? ?5). CREATE TABLE ... AS SELECT: ?? ?通过该方式创建的数据表将与SELECT查询返回的结果集具有相同的Schema信息,但是不包含缺省值和主键等约束信息。然而新创建的表将会包含结果集返回的所有数据。 ?? ?sqlite CREATE TABLE testtable2 AS SELECT * FROM testtable;?? ? ?? ?sqlite .schema testtable2 ?? ?CREATE TABLE testtable2(first_col INT); ?? ?.schema命令是sqlite3命令行工具的内置命令,用于显示当前数据表的CREATE TABLE语句。??? ?? ?6). 主键约束: ?? ?--直接在字段的定义上指定主键。 ?? ?sqlite CREATE TABLE testtable (first_col integer PRIMARY KEY ASC); ?? ?--在所有字段已经定义完毕后,再定义表的数约束,这里定义的是基于first_col和second_col的联合主键。 ?? ?sqlite CREATE TABLE testtable2 ( ?? ??? ... ?? ?first_col integer, ?? ??? ... ?

文档评论(0)

hhax1 + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档