INSERT into st (id,classId) VALUES(5,1),(4,2),(6,3);
向st表中插入多条数据,插入语句的格式为 INSERT into st (列名) values(每一列对应的值)。部分指定列名可以插入部分数据,若是指定全部列名,则可以省去列名的选项。
INSERT into st VALUES(7,1,"大白","男"),(8,2,"aa","女"),(9,3,"luoli","女");
插入数据较为简单,我们接下里看看查询数据。
select * from st;
这是一条最简单的查询语句,查出表里的所有数据。但一般的查询语句都是需要带上条件的,并将结果排序分组,以及制定查询的数量和偏移量。这里看似简单的一句话,实际上包含许多内容。这里暂时不提多表联合查询。
SELECT `id` ,`name` from st WHERE classId =1 ORDER BY id DESC limit 3;
这条语句是按照班级id查出学生的名字和id,并按照id降序排列,DESC代表降序,ASC代表升序。
后面的limit 3代表是查出三条数据。实际运用搭当中,where中的条件语句复杂多样,可以使用and or连接。但无论怎么样变化,where后面跟的总是条件语句,这里的条件语句可以有很多种形式,如 in,not in, = ,!=, >, <, >= ,<=等等,这和我们写if语句相似,有大小关系条件,也有包含不包含的条件。以及and or链接多个条件语句 。and和or的顺序与我们写代码中的与或非执行顺序一致。
如下面这条语句中的条件语句,是查出班级id=1的男生,和班级id=2的所有人。
SELECT `id` ,`name`,`classId`,`sex` from st WHERE classId =1 and sex ='男' or classId = 2 ORDER BY id ASC limit 10 ;
包含关系的条件语句有非常常用,比如我们要把,多个班级的学生全选出来,使用or语句也写许多个or,有些不太方便。所以我们可以用下面的查询语句来实现。
SELECT `id` ,`name`,`classId`,`sex` from st WHERE classId in (1,2,3);
同样的也可以使用not in来排除相关的集合。
SELECT `id` ,`name`,`classId`,`sex` from st WHERE classId not in (1,2);
单表查询有时也会有些复杂,主要是搜索条件复杂。不过相比对多表查询来说,都是洒洒水了。