zoukankan      html  css  js  c++  java
  • 数据库 --> sqlite3总结

    Sqlite3总结

      SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。

    sqlite语句

    #sqlite3 test.db      //当前目录下建立或打开test.db数据库文件
    sqlite>.database //查看数据库文件信息命令(注意命令前带字符'.')
    sqlite>.schema //查看所有表的创建语句
    sqlite>.schema table_name //查看指定表的创建语句
    sqlite>.dump table_name //以sql语句的形式列出表内容
    sqlite>.separator : //设置显示信息以‘:’分隔
    sqlite>.mode column //默认为list,设置为column,其他模式可通过.help查看mode相关内容
    sqlite>.help //输出帮助信息
    sqlite>.width 2 //设置宽度为2
    sqlite>.show //列出当前显示格式的配置:

    存储数据类型

    NULL      //  标识一个NULL值
    INTERGER  //  整数类型
    REAL      // 浮点数
    TEXT      //字符串
    BLOB      //二进制数

    约束条件

    PRIMARY KEY    //  主键
    NOT NULL - 非空:   // 约束列记录不能为空,否则报错
    CHECK - 条件检查:   //约束该列的值必须符合条件才可存入
    DEFAULT - 默认值:  //列数据中的值基本都是一样的,这样的字段列可设为默认值

      1.主键的值必须唯一,用于标识每一条记录,如学生的学号
      2.主键同时也是一个索引,通过主键查找记录速度较快
      3.主键如果是整数类型,该列的值可以自动增长

    常用指令

        --> 建立数据表

    create table table_name(field1 type1, field2 type1, ...);

    table_name是要创建数据表名称,fieldx是数据表内字段名称,typex则是字段类型。

    例,建立一个简单的学生信息表,它包含学号与姓名等学生信息: create table student_info(stu_no interger primary key, name text);

        --> 添加数据记录

    insert into table_name(field1, field2, ...) values(val1, val2, ...);

    valx为需要存入字段的值。
    例,往学生信息表添加数据: Insert into student_info(stu_no, name) values(0001, alex);

        --> 修改数据记录

    update table_name set field1=val1, field2=val2 where expression;

    where是sql语句中用于条件判断的命令,expression为判断表达式
    例,修改学生信息表学号为0001的数据记录: update student_info set stu_no=0001, name=hence where stu_no=0001;

        --> 删除数据记录

    delete from table_name [where expression];

    不加判断条件则清空表所有数据记录。
    例,删除学生信息表学号为0001的数据记录: delete from student_info where stu_no=0001;

        --> 查询数据记录

    select columns from table_name [where expression];

    例如:

    a.查询输出所有数据记录
    select * from table_name;
    
    b.限制输出数据记录数量
    select * from table_name limit val;
    
    c.升序输出数据记录
    select * from table_name order by field asc;
    
    d.降序输出数据记录
    select * from table_name order by field desc;
    
    e.条件查询
    select * from table_name where expression;
    select * from table_name where field in ('val1', 'val2', 'val3');
    select * from table_name where field between val1 and val2;
    
    f.查询记录数目
    select count (*) from table_name;
    
    g.区分列数据
    select distinct field from table_name;
    有一些字段的值可能会重复出现,distinct去掉重复项,将列中各字段值单个列出。

        --> 建立索引

    create index index_name on table_name(field);

    当说数据表存在大量记录,索引有助于加快查找数据表速度。

    例,针对学生表stu_no字段,建立一个索引: create index student_index on student_table(stu_no);
    建立完成后,sqlite3在对该字段查询时,会自动使用该索引。

        --> 删除数据表或索引

    drop table table_name;
    drop index index_name;
  • 相关阅读:
    小艾电台-小众音乐科普讲座
    永乐计分器
    顺金斗花牌-比大小
    Bigger_0305
    iTunes Connect后台无法创建App的解决方案
    iOS navigationBar导航栏底部与self.view的分界线的隐藏
    iOS 十六进制的相加取反
    UITabBar-UITabBarItem图片的背景颜色属性和文字的颜色大小设置
    iOS GCD多线程介绍
    [POJ3461] Oulipo
  • 原文地址:https://www.cnblogs.com/jeakeven/p/4978910.html
Copyright © 2011-2022 走看看