Sqlite基础

来源:互联网 发布:typedef struct node 编辑:程序博客网 时间:2024/04/28 02:02
  1. 根据E-R模型建立的数据库叫做关系型数据库
  2. 列中常用的类型:
    integer:整数
    decimal(m,n):表示总共有m位,其中n位为小数的一个数字,可以通过size属性设置n为0
    date time:表示时间日期类型
    boolean:布尔型,只有0,1
    string:表示字符串,一般规定需要指定包含的字符个数
  3. 常用约束:表示数据的有效性
    PrimaryKey主键约束:通过这个列的值,在众多行中确定出唯一的(configure->Autoincrement,可以由系统帮助维护这个列的值,值会从1开始,每次加1)
    Foreign Key外键约束:当A表中的某个列的值,由B表中的某个列决定时称表B为外键表,B表中的列为外键列,要求B表的外键列必须是B表的主键,Configure->B表名->B表主键列
    Unique唯一约束:这列的所有值都是唯一的不可重复
    check condition检查约束:可以写在一个返回布尔值的表达式,如果插入的值与这个表达式运算返回true则插入成功,eg:length(Name)>5
    not null非空约束:不允许这个列的值为空
    Default默认值约束:当不填写值时会使用默认值,Configure->输入默认值要求要与类型是一致的
    Constraints标签:列出了当前表中的所有约束

  4. 创建表:
    点击DDL标签:可以查看当前表的创建脚本用于参考
    字符串要用‘ ’
    获取当前时间:datatime(CURRENT_TIMESTEMP,’locatime’)
    删除表 drop table 表名

  5. 插入语句
    insert into(表名)values(值)
    如果使所有的列插入,可以忽略列明不写
    主键虽然是自增长,但是要求值也要相对应。要明确写出这个列,值可以是null

  6. 查询语句
    select 列1,列2…from 表名
    where字句(多条件拼接用and or,检索null值 列名is null)
    关键字distinct 表示消除重复行
    模糊查询:like% 匹配0到多个字符,like_匹配一个字符
    连续范围查询:between…and…
    排序子句:order by 列1 asc|desc,列2 asc|desc…(asc升序,desc降序)
    聚合函数:最大值 max 最小值 min 平均值 avg 求和 sum 求行数 count
    分组函数:group by… having…
    连接查询:表1 inner join 表2 on 表1与表2的关系,一般用于两个表完全匹配的数据
    select的顺序:1.select distinct 列名 2.from 表1 3.inner join表2 on 表1.列=表2.列 4.where 筛选条件 5.group by分组列名having 6.order by 排序列名 asc|desc 7.limit 取条数 offset 路过条数

  7. 视图:
    create view 视图名称
    as 查询语句
    删除视图:drop view 视图名

0 0