sqlite3一些常用的命令 | 数据库论坛-大发黄金版app下载
1.创建数据库
    没有进入sqlite: sqlite3 databasename.db
    进入sqlite: .open test.db
2.展示db
    .databases
3.退出
    .quit
4.导出一个完整的数据库在一个文件中
    test.db  .dump > test.sql            将test.db 数据库导出到test.sql文件中
5.展示数据表
    .tables
    .schema 展示数据表详细信息
6.创建一个表来自另一个表的查询
    create table user as select id,name,age,address from score;
    但是这个表的id是没有主键的
7.将一个表的某个字段作为主键
    创建一个新表定义主键
    将原表的数据复制到新表
    删除原表
    将新表重新命名为原表
8.删除一个表中的某几列,不能直接删除
    创建一个新表
    将原表数据复制到对应的新表 insert into nscore(id,user_id,source) select id,id,source from score
    删除原表
    将新表重新命名为原表
9.给某个列作为index 索引 只能通过create index 来增加,不能在创建表的时候增加
    create index idx_user_id on score(user_id);
10.修改数据表名
    alter table nscore rename to score;
11.创建一个触发器  sqlite只支持for each row 不支持 for each statement,因此for each row是可选的
    create  trigger trigger_name
    [before|after] event_name
    on table_name
    begin
     – 触发器逻辑….
    end;
create trigger trigger_name
after|before triggering_event
on table_name
for each row
begin
    触发器中执行的sql语句; (这里的sql以;结尾)
end;
create trigger delete_user_delete_score
after delete
on user
for each row
begin
    delete from score where id = old.id;
end;
create trigger trg_delete_user_delete_score 
after delete 
on user 
for each row
begin
    delete from score where user_id = old.id;
end;
create trigger trg_update_score_user_id 
after update of id 
on user 
begin
    update score set user_id = new.id where score.user_id = old.id;
end;
指定id 需要使用of id
在触发器中,old 和 new 是强制提供的,用于在特定行被操作时引用其旧值和新值。你不能直接引用行的原始表名来连接,这是设计决定,目的在于简化触发器的上下文和防止潜在的混淆。12.创建一个视图
    create [temp | temporary] view view_name as
        select column1, column2…..
        from table_name
        where [condition];
create view user_info as 
select user.*,score.source from user join score where user.id = score.user_id13.连表操作
    inner join   这个是求交集
    select
    company.*,
    department.dept
    from
    company
    inner join department on company.id = department.emp_id;
left outer join   这个和left join一样
select
    company.*,
    department.* 
from
    company
    left outer join department on company.id = department.emp_id;本作品采用《cc 协议》,转载必须注明作者和本文链接
