• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >SQLite > SQLite教程(三):数据表和视图简介

SQLite教程(三):数据表和视图简介

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了sqlite 视图,sqlite 创建视图,sqlite使用教程,sqlite教程,android sqlite教程等相关知识,希望本文的分享对您有所帮助

一、创建数据表:

    该命令的语法规则和使用方式与大多数关系型数据库基本相同,因此我们还是以示例的方式来演示SQLite中创建表的各种规则。但是对于一些SQLite特有的规则,我们会给予额外的说明。注:以下所有示例均是在sqlite自带命令行工具中完成的。

    1). 最简单的数据表:
      sqlite> CREATE TABLE testtable (first_col integer);
 </div>
    这里需要说明的是,对于自定义数据表表名,如testtable,不能以sqlite_开头,因为以该前缀定义的表名都用于sqlite内部。

    2). 创建带有缺省值的数据表:
      sqlite> CREATE TABLE testtable (first_col integer DEFAULT 0, second_col varchar DEFAULT 'hello');
</div>
    3). 在指定数据库创建表:
      sqlite> ATTACH DATABASE 'd:/mydb.db' AS mydb;
    sqlite> CREATE TABLE mydb.testtable (first_col integer);
 </div>
    这里先通过ATTACH DATABASE命令将一个已经存在的数据库文件attach到当前的连接中,之后再通过指定数据库名的方式在目标数据库中创建数据表,如mydb.testtable。关于该规则还需要给出一些额外的说明,如果我们在创建数据表时没有指定数据库名,那么将会在当前连接的main数据库中创建该表,在一个连接中只能有一个main数据库。如果需要创建临时表,就无需指定数据库名,见如下示例:
    --创建两个表,一个临时表和普通表。
      sqlite> CREATE TEMP TABLE temptable(first_col integer);
    sqlite> CREATE TABLE testtable (first_col integer);   
 </div>
    --将当前连接中的缓存数据导出到本地文件,同时退出当前连接。
      sqlite> .backup d:/mydb.db
    sqlite> .exit
 </div>
    --重新建立sqlite的连接,并将刚刚导出的数据库作为主库重新导入。
      sqlite> .restore d:/mydb.db
 </div>
    --查看该数据库中的表信息,通过结果可以看出临时表并没有被持久化到数据库文件中。
      sqlite> .tables
    testtable   
</div>
    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);
</div>
    5). CREATE TABLE ... AS SELECT:
    通过该方式创建的数据表将与SELECT查询返回的结果集具有相同的Schema信息,但是不包含缺省值和主键等约束信息。然而新创建的表将会包含结果集返回的所有数据。
      sqlite> CREATE TABLE testtable2 AS SELECT * FROM testtable;   
    sqlite> .schema testtable2
    CREATE TABLE testtable2(first_col INT);
 </div>
    .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,
       ...>     second_col integer,
       ...>     PRIMARY KEY (first_col,second_col)
       ...> );
</div>
    和其他关系型数据库一样,主键必须是唯一的。

    7). 唯一性约束:
      --直接在字段的定义上指定唯一性约束。
    sqlite> CREATE TABLE testtable (first_col integer UNIQUE);
    --在所有字段已经定义完毕后,在定义表的唯一性约束,这里定义的是基于两个列的唯一性约束。
    sqlite> CREATE TABLE testtable2 (
       ...>     first_col integer,
       ...>     second_col integer,
       ...>     UNIQUE (first_col,second_col)
       ...> );   
    在SQLite中,NULL值被视为和其他任何值都是不同的,这样包括和其他的NULL值,如下例:
    sqlite> DELETE FROM testtable;
    sqlite> SELECT count(*) FROM testtable;
    count(*)
    ----------
    0
    sqlite> INSERT INTO testtable VALUES(NULL);
&nb

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQLite教程(三):数据表和视图简介

相关文章

  • 2017-05-11System.Data.SQLite 数据库详细介绍
  • 2017-05-11sqlite中文乱码问题原因分析及解决
  • 2017-05-11SQLite 入门教程一 基本控制台(终端)命令
  • 2017-05-11SQLite教程(九):在线备份
  • 2017-05-11SQLite速度评测代码
  • 2017-05-11SQLite3 API 编程手册
  • 2017-05-11SQLite教程(六):表达式详解
  • 2017-05-11SQLite3的绑定函数族使用与其注意事项详解
  • 2017-05-11SQLite数据库安装及基本操作指南
  • 2017-05-11SQLite教程(五):数据库和事务

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQLite教程(十三):C语言编程实例代码(1)
    • sqlite 判断表中是否包含某个字段
    • SQLite教程(三):数据表和视图简介
    • SQLite速度评测代码
    • SQLite学习手册(SQLite在线备份)
    • SQLite教程(十):内存数据库和临时数据库
    • System.Data.SQLite 数据库详细介绍
    • 一些很有用的SQLite命令总结
    • SQLite3中的日期时间函数使用小结
    • SQLite教程(十一):临时文件

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有