美文网首页
SQLite3数据库

SQLite3数据库

作者: LY2528 | 来源:发表于2017-02-24 21:26 被阅读0次

    数据库相关

    • navicat工具创建的数据库(SQLite3)
      • 属性的类型(5种)
        • blob 二进制类型
        • integer 整型
        • real 浮点型
        • text 文本类型
        • null 空
      • 主键
        • 主键(primary key)用来唯一的标示某一条记录
        • 主键可以是一个字段或多个字段
        • 主键设计的原则
          • 主键应当是对用户没有意义
          • 永远也不要更新主键
          • 主键不应该包含动态变化的数据
          • 主键应当有计算机自动生成
    • SQL语言简介
      • SQL(structured query language)结构化查询语言,是一种对关系型数据进行定义和操作的语言
      • SQL语句中的CURD(Create Retrieve Update Delete)
      • 在SQL语句中不区分大小写,每条语句都必须以分号结尾
    • SQL语句的种类
      • 数据定义语句(DDL Data Definition Language) 包括 crate drop alter 等操作
      • 数据操作语句(DML Data Manipulation Language) 包括 insert delete update等操作
      • 数据查询语句(DQL Data Query Language) select where order by
    • DDL(Data Definition Language)
      • 创建表
        • 格式: create table 表名 (字段名1 字段名1类型,字段名2 字段名2类型);
        • 示例: create table t_stu (name text,score real);
        • 语句优化:
          • 原因:创建表时,最好加个表是否已经存在的判断,防止语句多次执行时发生判断
          • create table if not exists (字段名1 字段名1类型,字段名2 字段名2类型);
      • 删除表
        • 格式: drop table 表名
        • 示例: drop table t_stu
        • 语句优化: drop tabel if exists t_stu
      • 修改表
        • 修改表名
          • alter table 旧表名 rename to 新表名
        • 新增属性
          • alter table 表名 add column 列名 数据类型 限定符
    • 字段类型的约束
      • 简单的约束
        • 不能为空 not null 规定字段的值不能为空
        • 不能重复 unique 规定字段的值必须唯一
        • 默认值 default 指定字段的默认值
      • 主键的约束
        • 在创建表的时候在一个字段类型的后面添加 primary key 表明该字段是这个表的主键
        • 主键字段默认包含了 not null 和 unique 两个约束
        • 如果想要让主键自动增长(必须是integer类型),应该增加autoincrement
    • DML(Data Manipulation Language)
      • 插入数据 insert
        • 格式: insert into 表名(字段1,字段2,...) values (字段1的值,字段2的值,...);
        • 示例: insert into t_stu(name,age) values ('张三',19);
        • 注意点: 数据库中的字符串内容应该用单引号''括住
      • 更新数据 update
        • 格式: update 表名 set 字段1 = 字段1的值,字段2 = 字段2的值,...;
        • 示例: update t_stu set name = '李四',age = 20;
        • 注意:要带上要更新数据的条件语句
      • 删除数据 delete
      • 格式: delete from 表名;
      • 示例: delete from t_stu;
      • 注意: 要带上你要删除数据的条件
    • 条件语句
      • 作用:如果只想更新或删除一些满足特定条件的记录,那就必须在DML语句后加上一些条件
      • 条件语句的常见格式
        • where 字段 = 某个值; // 等于某个值
        • where 字段 is 某个值; // is 相当于 =
        • where 字段 != 某个值; // 不等于某个值
        • where 字段 is not 某个值 // is not 相当于 !=
        • where 字段 > 某个值
        • where 字段1 = 某个值 and 字段2 > 某个值; // and 相当于C语言中的&&
        • where 字段1 = 某个值 or 字段2 = 某个值; // or 相当于C语言中的||
    • DQL(Data Qurey Language)
      • 格式
        • select 字段1,字段2,... from 表名;
        • select * from 表名;
      • 示例:
        • select name,age from t_stu;
        • select * from t_stu;
        • select *from t_stu where age > 10; // 条件查询
    • 查询相关语句
      • 统计
        • count(X)
          • select count(*) from t_stu
          • 计算所有记录个数
          • select count(age) from t_stu
          • 计算age有值的记录个数(Null不计算在内)
        • avg(X) 计算某个字段的平均值
        • sum(X) 计算某个字段的总和
        • max(X) 计算某个字段的最大值
        • min(X) 计算某个字段的最小值
      • 排序
        • 查询出来的结果可以用order by 进行排序 默认按照升序排序(有由小到大 ASC,降序,由大到小 DESC)
        • 示例:
          • select 字段1,字段2 from 表名 order by 字段 ;
          • select * from t_stu order by age asc; // 升序,默认
          • select * from t_stu order by age desc; 降序
        • 也可以用多个字段进行排序
          • select * from t_stu order by age asc,score desc // 先按照age升序排序,age相等就按照score降序排序
      • limit分页
        • 使用limit可以准确地控制查询结果的数量,比如每次只查询10条数据
        • 格式: select * from 表名 limit 数值1,数值2;
        • 示例:select * from t_stu limit 4,8; // 可以理解为跳过最前面4条语句,然后取8条记录
        • limit 常用来做分页查询,比如每页固定显示5条数据,那么应该这样取数据 第n页
        • select * from t_stu limit (n-1)*count count; // count为每页固定显示的数据
    • 多表查询
      • 格式:select 字段1,字段2,...from 表名1,表名2;
      • 别名:可以给表或者字段单独起别名 as 可以省略
      • 示例:select 字段1 as 字段名1,字段2 as 字段名2 from 表名1 as 别名1,表名2 as 别名2;
      • 表链接查询
        • 格式: select 字段1,字段2,...from 表名1,表名2 where 表名.id = 表名2.id;
        • 外键
          • 如果表1的主关键字是表2中的字段,则称该字段为表2的外键
          • 作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据.使两张表形成关联,外键只能引用外表中的列的值或使用空值

    相关文章

      网友评论

          本文标题:SQLite3数据库

          本文链接:https://www.haomeiwen.com/subject/tmtgwttx.html