热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学习使用SQLite(版本3.7.4)(中G)

域完整性:真正的域完整性的定义就是字段的值遵从规定。列的域包含类型和范围。域完整性有两个组成部分:类型检查和范围检查。默认值(实例):

域完整性:

          真正的域完整性的定义就是字段的值遵从规定。列的域包含类型和范围。域完整性有两个组成部分:类型检查和范围检查。

         默认值( 实例):

          

          not  null约束:

          保证insert语句不会向字段中插入null值。它要求必须为该字段提供值。一种应对的方法就是,在插入的时候别写null,一种方法就是,提前给该字段设置默认的值,此时通常default和not  null是混合使用的。

         check约束:

         允许定义表达式来测试要插入或者更新的字段值。如果该值不满足设定的表达式,那数据库会报错。比如,可以通过check约束来规定一个字段的长度等等。 

         

          ,此时就不能更新数据了。

          check约束先判断,如果满足条件,就可以进行操作。还有一种办法,就是利用触发器。

          外键约束:

         一个表中的主键必须是另一个表中的引用,例子:比如父子关系、商品之间的关系、主从关系等。SQLite可以在创建表的时候使用外键。

         create  table table_name

           (      column_definition     references    foreign_table(column_name)

                  on   {delete | update }    integerity_action

                  [not     deferrable   [ initially  {deferrable  |   immediate } ,  ]

          ……) ,

         

      完整性规则的定义:set  null , 如果父值被删除或者不存在了,那么对应的子值将改为null;

                                          set  default , 如果赋值被删除或者不存在了,那么对应的子值将会被修改为默认值;

                                          casecade, 更新父值的时候,更新所有预知匹配的子值。删除父值的时候,删除所有的子值。注意这个不好用。

                                          restrict,     更新或者删除父值可能会出现孤立的子值,从而阻止或者终止事务。

                                          no   action , 使用一种松弛的方法,不干涉操作执行,只是观察变化。在整个语句的结尾报错。约束定义为deferred的类似。

       排序规则:

                 涉及到大小写,文本比较等。三种:二进制排序规则,c中的memcmp();nocase非大小写敏感排序;reverse排序。

                 排序定义关键字:collate。

          

存储类:

        SQLite支持的类型和其他数据库有些不同。它支持的是类型以及这些类型的存储、比较、强化、指派是不同于其他数据库的。

           5个原始的数据类型: 

SQLite存储类(存储格式)
名称 说明
integer 正负整数,可以是1、2、3、4、6、8字节,9223372036854775807+-1;
real

实数是十进制的数值。8字节的浮点数来存储实数。浮点数。

text 包含UTF-8和UTF-16.默认最大值是1000000000字节。
blob 二进制大对象。任意类型的数据。默认最大值1000000000字节。
NULL 对null完全支持。
      实例:

                   

                 注意:SQLite的一个字段可能会包含不同的类型的值,这点要注意。而且会在比较的时候,有点麻烦。

                 其实,字段内的不同的类型的值是可以排序的。相似类型的值之间可以相互比较。不同的存储类的值可以通过他们各自的类值进行排序。

                 存储的时候,null类值最低,其次是integer和real,再是text,最后是blob。

 

 视图(虚拟表,派生表):

           SQlite不支持可更新的视图。目的在于方便查询。

           SQLite 提供基于视图的安全,但是要基于控制工具和SQLite编程。

           create view  view_name  as  select_stmt;

           drop  view  view_name.

             

                


推荐阅读
  • mybatis相关面试题 ... [详细]
  • 使用Python模拟登录教务系统抓取成绩并分析存储
    本文详细介绍如何使用Python编程语言模拟登录学校教务系统,抓取学生的成绩信息,并进行数据分析和可视化处理,最终将数据存储到MySQL数据库中。 ... [详细]
  • HTML5 拖拽功能实现
    本文通过一个简单的示例,展示了如何利用 HTML5 的拖放 API 实现元素之间的拖拽功能。示例包括 HTML 结构、CSS 样式以及 JavaScript 逻辑,旨在帮助开发者快速理解和应用拖拽技术。 ... [详细]
  • 本文探讨了一种有效的方法来检查数据库中是否已存在特定的用户名,如果不存在,则将其添加到数据库中。代码示例展示了如何使用SQL查询和C#编程实现这一功能。 ... [详细]
  • 实践指南:利用Jenkins与JMeter实现自动化测试报告通知
    本文详细介绍了如何结合Jenkins和JMeter工具,通过自定义脚本向用户发送测试报告的通知。这不仅提高了开发团队的工作效率,也确保了信息的及时传递。 ... [详细]
  • 2023年PHP处理请求超时的全面指南
    本文详细介绍了在PHP中处理请求超时的各种方法,包括设置脚本执行时间、处理file_get_contents函数超时以及优化AJAX请求等,适合开发者参考学习。 ... [详细]
  • 本文提供了详细的指导,帮助开发者了解如何使用PHP插件进行网站内容的翻译,特别是针对WordPress插件和主题的汉化及多语言支持。 ... [详细]
  • Oracle中打开10046Trace的各种方法10046trace的跟踪等级10046是一个Oracle的内部事件(event),通过设置这个事件可以得到Oracl ... [详细]
  • 优化Nginx中PHP-FPM模块配置以提升性能
    通过调整Nginx与PHP-FPM之间的配置,可以显著提高Web服务器处理PHP请求的速度和效率。本文将详细介绍如何针对不同的应用场景优化PHP-FPM的各项关键参数。 ... [详细]
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • C#爬虫Fiddler插件开发自动生成代码
    哈喽^_^一般我们在编写网页爬虫的时候经常会使用到Fiddler这个工具来分析http包,而且通常并不是分析一个包就够了的,所以为了把更多的时间放在分析http包上,自动化生成 ... [详细]
  • 本文详细对比了MySQL中的InnoDB与MyISAM两种存储引擎,从性能、事务处理能力、锁机制等多个维度进行了深入探讨,旨在为数据库设计者提供选择依据。 ... [详细]
  • 使用EF Core在.Net Core控制台应用中操作SQLite数据库
    本文介绍如何利用Visual Studio 2019和Windows 10环境,通过Entity Framework Core(EF Core)实现对SQLite数据库的读写操作。项目源代码可从百度网盘下载。 ... [详细]
  • 实现 WinForms DataGridView 的多级表头功能
    本文介绍了如何在 WinForms 的 DataGridView 控件中实现多级表头,以满足复杂数据展示的需求。通过自定义绘制技术,我们可以在 DataGridView 中实现类似 Web 表格的多级表头效果。 ... [详细]
  • 本文详细介绍了Python中的流程控制与条件判断技术,包括数据导入、数据变换、统计描述、假设检验、可视化以及自定义函数的创建等方面的内容。 ... [详细]
author-avatar
eea1051113
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有