廖雪峰Java15JDBC编程-2SQL入门-2insert/select/update/delete

1. INSERT用于向数据库的表中插入1条记录

insert into 表名 (字段1,字段2,...) values (数据1,数据2,数据3...)

示例

-- 如果表存在,就删除
drop table if exists classes;
show tables;
create table classes (id BIGINT not null auto_increment,
    name varchar(10) not null,PRIMARY KEY(id)) default charset=utf8;

select * from classes;
-- 插入全部记录时,省略字段
insert into classes VALUES(1,"一班");
-- 掺入指定的字段
insert into classes (name) VALUES ("二班");
-- 插入多条数据
insert into classes (name,id) values ("三班",3),("四班",4);
select * from classes;

1.1 Insert语句总结:

  • 可以向指定表插入一条记录
  • 语法:insert into 表名 (字段1,字段2,...) values (数据1,数据2,数据3...)

2 select用于查询表的记录

语法:select 列1,列2,列3,... from 表名 where ... ;

show tables;
create table students (
    id BIGINT not null auto_increment,
    class_id INT ,
    name VARCHAR(10) not null,
    gender char(1),
    PRIMARY KEY(id)) default charset=utf8;

INSERT into students (class_id,name,gender)VALUES 
    (1,"小明","M"),
    (1,"小红","F"),
    (1,"小军","M"),
    (2,"小白","F"),
    (2,"小兵","M"),
    (3,"小王","M"),
    (3,"小丽","F");
select * from students;
-- where条件
select * from student where id = 2;
select * from student where id > 3;
select * from student where class_id > 3;
select * from student where gender = 'M';
-- and
select * from student where id > 3;
-- 筛选特定的列
select id,name from students;
-- 聚合查询
-- 获取记录数量
select count(*) from students;
--
select count(*) from students group by class_id;
select class_id,count(*) number from students group by class_id;
-- 多表查询
-- 查询的结果是一个4*7=28条的记录,即2个表的乘积,没什么用
select * from classes,students; 
-- 通常使用inner join来进行联合查询
select * from classes inner join students on classes.id = students.class_id;
-- 指定别名来更好的返回结果
select c.id,c.name class_name,s.name student_name,s.gender from classes c inner join students s on c.id = s.class_id;

2.1 select查询总结:

  • 可以指定查询的列
  • 可以通过where条件筛选符合条件的记录
  • 可以使用聚合查询
  • 可以多表联合查询
  • 查询结果仍然是一个关系表

3 update更新记录操作

update返回的结果是一个整数,代表更改了几条记录

-- 全部记录的class_id都会改为5
update students set class_id = 5 ;
-- 修改指定记录
update students set class_id = 5 where id = 3;
-- 修改指定记录的多个字段
update students set class_id = 5, gender = 'F' where id = 3;

3.1 update总结

  • 可以设置某些列的值
  • 可以通过where筛选符合条件的行
  • 执行结果为符合更新条件的行数

4 delete删除记录

delete返回一个整数,代表删除记录的数目

-- 删除表的全部记录
delete from students;
-- 删除某条记录
delete from students where id=3
-- 删除多条记录
delete from students where id > 3 and gender = 'M';

4.1 delete总结

  • 可以删除指定的行
  • 可以通过where条件筛选符合条件的行
  • 执行结果为删除的行数

猜你喜欢

转载自www.cnblogs.com/csj2018/p/11436654.html