SQLite synopsis

来源:互联网 发布:装修公司哪家好 知乎 编辑:程序博客网 时间:2024/06/05 05:35
1.SQLite简介    数据库:管理数据的仓库,用于持久化保存数据的,常见的数据库:Oracle,MySql,SQLite等    SQlite概念:是一个嵌入式轻型数据库.            跟Oracle,MySql的区别:                1.Oracle,MySql主要用于pc端,SQLite主要用于移动端                2.定位不同(存储方式不同)    存储方式:        1.把数据存储在程序的外部  Oracle,MySql            例如:美团app,随着你的位置不断变化,应用里面的数据是不断改变的        2.把数据存储在程序的内部  SQLite\xml            应用的浏览记录\登陆设置    SQLite优点:        1.在读取数据的时候减少网络消耗        2.访问速度快        3.支持常见的sql语句,麻雀虽小五脏俱全        4.广泛性,Unix,Linux,Windows,macOS    SQLite的操作工具:        1.命令方式:sqlite3.exe        2.图形化界面:sqlite expert2.SQLite的安装3. SQLite 常用命令    1. sqlite3  进入到sqlite互动模式.    2. .help    显示消息。    3. .open    打开数据库   .open 数据库名.db    4. .tables  显示表名称  没有表则不显示.    5. .quit    退出 SQLite 提示符。    6. .exit    退出 SQLite 提示符。    7. 创建数据库        1. 在路径下创建一个  数据库名.db  文件就代表数据库创建成功

数据定义语言:DDL(创建表\删除表)

4. 创建表之前认识表的结构以及和数据库相关的专业术语     1. 表:表名,列名和数据行组成     2. 列: 也称作字段,域,属性      3. 行: 也称作记录            4. 值:表中行和列的交汇处,即存储的数据      5. 表名和列名的命名规则:表名在数据库中唯一,列名在表中唯一    假设 company 表有以下记录:\字段\记录        id          name        age          salary        ----------  ----------  ----------   ----------        1           纳尔        32           20000.0        2           兰博        25           15000.0        3           瑞文        23           20000.0        4           亚索        25           65000.0        5           盖伦        27           85000.0        6           孙悟空      22           45000.0        7           杰斯        24           10000.0        8           纳尔        32           20000.0        9           纳尔        32           20000.0        9           纳尔          32          20000.0             int num;    num = 4;    num = 3;5. 创建数据表\主键    1. 命令格式:        create table  数据表名 (字段1定义,字段2定义,...,字段n定义);        字段n定义的语法:字段名 字段类型 修饰符;    2. 主键字段值非空且不重复,可以多字段组合主键,一个数据表中主键只能有一个,作为唯一标识------->用于识别表中的记录,区分记录 例如:银行中的账目,卡号就是主键,如果卡号重复了,钱算谁的呢        例子:            create table company(                id integer  primary key ,                name varchar,                age integer,                salary double            );6. SQLite 常用的数据类型    1.  varchar     字符串     2.  integer     整型    3.  double     小数类型7. 删除表      drop  table  表名;// 删除表 

数据操作语言:DML (添加\修改\删除)
8. 新增数据
insert into 表名(字段1,…字段n) values (数值1,…数值n);
字段n顺序可以任意,字段n和数值n需要一一对应.

    假设 company 表有以下记录:\字段\记录        id          name        age          salary        ----------  ----------  ----------   ----------        1           纳尔        32           20000.0        2           兰博        25           15000.0        3           瑞文        23           20000.0        4           亚索        25           65000.0        5           盖伦        27           85000.0        6           孙悟空      22           45000.0        7           杰斯        24           10000.0        8           纳尔        32           20000.0        9           纳尔        32           20000.0    查询所有数据:     select  *  from  表名; // 查询表中所有记录     select  字段 from 表名; // 查询表中某字段的记录     select  字段 from 表名 where 条件表达式; // 查询表中某字段符合条件的记录        from 表名: 数据源        where 条件表达式: 获取数据条件9. 修改数据     update 表名 set  <字段1=数值1>,...,<字段n=数值n>  where  条件;//按条件更改数据     update 表名 set  <字段1=数值1>,...,<字段n=数值n>; //更新所有10. 删除数据     delete from 表名; // 删除表中所有数据    delete from 表名 where 条件表达式; // 删除表中符合条件的记录

数据查询语言:DQL (查询)
11. 查询数据
select * from 表名; // 查询表中所有记录
select 字段 from 表名; // 查询表中某字段的记录
select 字段 from 表名 where 条件表达式; // 查询表中某字段符合条件的记录
from 表名: 数据源
where 条件表达式: 获取数据条件

12. SQLite AND/OR 运算符    and : 并且    or : 或者 1.下面的 SELECT 语句列出了 AGE 大于等于 25:     select * from company where age >= 25; 2. 下面的 SELECT 语句列出了 AGE 大于等于 25 或 工资大于等于 35000.00 的所有记录:     select * from company where age >= 25 or salary >= 35000.0; 下面的 SELECT 语句列出了 AGE 大于等于 27 并且 工资大于等于 65000.00 的所有记录:    select * from company where age >= 25 and salary >= 65000.0; 运算符是一个保留字或字符,主要用于 SQLite 语句的 WHERE 子句中执行操作,如比较运算。13. SQLite Like 子句 ---> 模糊查询    1. 下面是一个实例,它显示 COMPANY 表中 AGE 在20岁到30岁之间,不包括30岁的 的所有记录:        select * from company where age >= 20 and age < 30;    2. 下面是一个实例,它显示 COMPANY 表中 AGE 以 2 开头的所有记录:(23,230,2300)    在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用:        %   替代一个或多个字符        _   下划线仅替代一个字符14.  SQLite Order By     1. SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据。    asc: 升序    desc: 降序    2. 下面是一个实例,它会将结果按 SALARY 升序排序:        select * from company order by salary asc;    3. 下面是一个实例,它会将结果按 SALARY 降序排序:         select * from company order by salary desc;15.  SQLite Limit 子句    QLite 的 LIMIT 子句用于限制由 SELECT 语句返回的数据数量。    1. 下面是一个实例,它限制了您想要从表中提取的行数前3条:        select * from company limit 3;    2. 在某些情况下,可能需要从一个特定的偏移开始提取记录。下面是一个实例,从第三位开始提取 3 个记录:        limit  所要取的记录数目(以基准点为参考点) offset  基准点         select * from company limit 3 offset 3;16.  SQLite Group By    SQLite 的 GROUP BY 子句用于与 SELECT 语句一起使用,来对相同的数据进行分组。    注意:在 SELECT 语句中,GROUP BY 子句放在 WHERE 子句之后,放在 ORDER BY 子句之前    1.查询company表,根据name进行分组         select * from company group by name;    2.查询company表,查询年龄大于等于26,并且以name进行分组,然后对查询出来的数据以salary升序排序        select * from company where age >= 26 group by name order by salary asc;17.  SQLite Having 子句   ---> 对分组后的结果根据条件进行过滤    HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果。    WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP BY 子句创建的分组上设置条件。    1.查询以name进行分组后年龄大于28的记录     select * from company group by name having age > 28;18. 使用SQLite可视化图形界面练习案例    介绍软件的使用        SQLite expert 是个简单小巧的SQLite数据库管理软件,有免费版和,收费版两种,一般来讲免费版足以应付我们需求    1. score ---------对其增删改查    id      name   shuXue  yingYu  yuWen    1       阿珂      88      87      98    2       双儿      98      83      88    3       曾柔      94      85      98    4       建宁      93      73      48    5       苏荃      67      53      58    6       沐剑屏  77     83      88    7       方怡      68      93      78    查询:        select * from score where shuXue > 80;    添加:        insert into score(id,name,shuXue,yingYu,yuWen) values(8,'班长',99,98,97);    更新\修改:        update score set name = '冰冰' where id = 8;    删除:        delete from score where name = '冰冰';    2. 菜系表 ------------>(用指令完成表)    id      菜系      代表菜    1       川菜      鱼香肉丝    2       鲁菜      糖醋鱼    3       湘菜      麻辣子鸡    4       粤菜      脆皮乳猪    5       浙菜      西湖醋鱼    6       闽菜      佛跳墙    7       苏菜      叫花鸡    8       徽菜      红烧果子狸练习:  -------------------------    创建一张 user_accounts 表:    id      username    password    1       张三丰     12345678    2       张无忌     87654321    3       洪七公     68686868    4       欧阳锋     86868686    需求(使用命令完成以下需求):    1.添加2个用户,杨过和小龙女        insert into user_accounts(id,username,password) values(6,'小龙女','88888888');    2.删除用户杨过        delete from user_accounts where username = '杨过';    3.修改洪七公的密码为88888888        update user_accounts set password = 88888888 where username = '洪七公';    4.查看所有用户信息        select * from user_accounts;    5.只查看所有用户的用户名和密码        select username,password from user_accounts;    6.只查看小龙女的密码        select password from user_accounts where username = '小龙女';    7.只查询前3条信息        select * from user_accounts limit 3;扩展练习:    查询  省  市      区    例如: 广东省     深圳市     宝安区    所有的省份表:province    字段: id integer,  provincecode varchar,name varchar    所有的市级表:city    字段:id integer,citycode varchar,name varchar,provincecode varchar    所有的区级表:area    字段: id integer,areacode varchar,name varchar,citycode varchar
原创粉丝点击