美文网首页
sqlite3 表连接

sqlite3 表连接

作者: 小何才鲁尖尖角 | 来源:发表于2020-04-01 09:04 被阅读0次

    表连接主要有以下内连接、外连接、交叉连接。

    inner join(内连接) 只返回两个表中联结字段相等的行

    left join(左外连接) 返回包括左表中的所有记录和右表中联结字段相等的记录  

    right join(右外连接) 返回包括右表中的所有记录和左表中联结字段相等的记录  (sqlite其实是不支持的)

    cross join (交叉连接) 把第一个表的每一行与第二个表的每一行进行匹配。如果两个输入表分别有 x 和 y 行,则结果表有 x*y 行。由于交叉连接(CROSS JOIN)有可能产生非常大的表,使用时必须谨慎,只在适当的时候使用它们。

    有两个表 stu 和 stu2

    sqlite> select * from stu;

    1001|wangliu|BEIJING

    1003|lisi1|BEIJING

    1002|lisi2|BEIJING

    1004|lisi4|BEIJING

    sqlite> select * from stu2;

    1002|lisi|shanghai

    =================================================================

    把以前写的基础知识也搬运到简书。

    一、数据类型

    二、系统命令

    系统命令都是以 . 开头

    .help

    .exit // 退出

    .quit // 退出

    .schema // 查看表结构

    三、数据库基本操作命令

    1、创建和查看数据库

    sqlite3 testDB.db (无论这个数据库文件在不在,都是用这个命令。没有的话会创建)

    .databases

    2、创建和删除表格

    CREATE TABLE IF NOT EXITS stu (id int, name text);

    drop table stu2;

    ####在命令行里打的时候一定要加分号,来表示语句结束!

    .tables 来产看

    3、插入和查看数据

    insert or replace into stu   values (1001, 'zhangsan'); 

    ####数据库语句里的字符串应该是单引号,实测双引号也可以用!

    在命令行里打的时候一定要加分号,来表示语句结束!!!!!!

    insert or replace into stu (id, name) values (1001, 'zhangsan');

    select name from stu;

    select * from stu;

    4、update更新数据

    UPDATE stu SET name='wangliu' where id=1001;

    这样全部就更新了。

    5、delete删除数据

    delete from stu; //没有条件,会全部删除掉

    6、条件语句

    where 字段 = 某个值

    where 字段 != 某个值

    where 字段 is 某个值

    where 字段 is not 某个值

    where 字段1 = 值1 and 字段2 > 值2

    where 字段1 = 值1 or 字段2 < 值2

    7、升序、降序

    ASC 、DESC // 默认升序

    select * from stu order by id desc;

    select * from stu ORDER BY 字段1 DESC 字段2 ASC; //也可以多个字段升降序

    8、limit 

    LIMIT 1, 2 //跳过前面的1条取2条

    select * from stu ORDER BY id DESC  LIMIT 1, 2; //取出id最大的2条

    9、字段的约束

    not null

    unique

    default // 指定默认值

    primary key // 主键约束,唯一的id,默认累加,但也可以自己设置,只是不能重复

    // 也可以设置多个字段为主键,即所谓的联合主键

    10、ALTER TABLE

    ALTER TABLE STU ADD COLUMN ADDR text; // 给数据库增加列

    数据库不支持删除列,要删除列要经过以下操作。

    create table stu3 as select id,  name , addr from stu;

    alter table stu3 rename to stu;

    四、数据库其他操作命令

    1、外键约束

    利用外键可以给两张表添加约束,一般情况是,表A的某个字段引用着表B的主键字段。

    2、表连接

    分为内连接、左连接、右连接

    相关文章

      网友评论

          本文标题:sqlite3 表连接

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