数据库Sqlite基本的增删改查语句

来源:互联网 发布:ubuntu 如何安装软件 编辑:程序博客网 时间:2024/05/16 05:48
 SQLite将每个数据库都保存成一个文件。
 数据库中的数据被组织成表的形式。
 表由若干拥有相同字段的记录组成。
 表可以为空,即拥有0条记录。
 字段指的是记录中的数据域,它有不同的类型,可以是一个数值,也可以是字符串。

 每个表中可以指定一个或多个字段为主键,表中所有记录的主键的值都不能重复。这种不重复是在插入记录时控制的,即如果向一个表中插入记录时,这个表中已有与插入记录具有相同主键的记录,则插入操作失败。


 1. 用create语句可以在数据库中创建表

create table student(
    ID          INTEGER,
    name     TEXT,
    sex         TEXT,
    age         INTEGER,
    primary  key(ID)
);    


2. 用drop语句可以从数据库中删除指定的表
drop table student;
表被删除后,表中所存储的数据将全部丢弃


3. 用insert语句可以向表中插入一条新记录
insert into student values(1, 'Zhang', 'M', 18);


4. 用update语句可以可以修改表中的记录
update student set Sex = 'F', Age = 20 where Name = 'Zhang';
    where及其后的部分表示一个过滤条件,如果省略where和它后面的部分,则语句的作用就是修改表student中的所有记录,将它们的Sex字段的值设为F,Age字段的值设为20。


5.  用delete语句可以删除表中的记录
delete from student where ID = 2;
    如果没有where子句,则表student中的所有记录均被删除,成为空表。


6. 查询是对数据库的最常用操作。查询的结果可以理解为得到了一个新表,只是这个表并没有保存在数据库里,而是以某种方式显示给查询者。
 用select语句可以对数据库进行查询
select ID, Name from student where Sex = 'F';


7.  查询结果中出现表的所有字段(*)
select * from score where  score < 60;
 查询结果中没有重复的记录(distinct)
select distinct * from score;
 查询结果按某个字段的值进行排序(order by)
select * from score order by score asc;
select * from score order by score desc;  


8.   查询数据库时,也可以将多个表的内容放在一起进行查询
select student.name from student, score where student.id = score.id and score.score < 60;
    上述语句中,from关键字后出现了两个表名student和score,表示对这两个表进行联合查询。


9. 可以使用表的别名以避免多次输入较长的表名,使代码更清晰
select A.name from student A, score B where A.id = B.id and B.score < 60;
    上述语句中,from关键字后的表名都指定了一个别名。


注意:别名只在当前语句中有效

原创粉丝点击