04-命令行_数据的增删改查
1.数据的增删改查(curd)
curd的解释:创建(Create)、更新(Update)、读取(Retrieve/Read)、删除(Delete)
2.增加/插入数据
格式:
insert [into] tb_name [(col_name,...)] {values | value} ({expr | default},...),(...),...
说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null
来占位,插入成功后以实际数据为准
单行插入:
全列插入:值的顺序与表中字段的顺序对应
insert into 表名 values(...)
例: 主键可以写0、null、default
insert into students values(0,'郭靖',1,'蒙古','2016-1-2');
insert into students values(null,'郭靖',1,'蒙古','2016-1-2');
insert into students values(default,'郭靖',1,'蒙古','2016-1-2');
部分列插入:值的顺序与给出的列顺序对应
insert into 表名(列1,...) values(值1,...)
例:只插入name、hometown、birthday几个字段
insert into students(name,hometown,birthday) values('黄蓉','桃花岛','2016-3-2');
上面的语句一次可以向表中插入一行数据,还可以一次性插入多行数据,这样可以减少与数据库的通信,多行插入时每行数据用逗号分隔。
多行插入:
全列多行插入:值的顺序与给出的列顺序对应
insert into 表名 values(...),(...)...;
例: insert into classes values(0,'python1'),(0,'python2');
部分列多行插入:值的顺序与给出列的顺序对应
insert into 表名(列1,...) values(值1,...),(值1,...)...;
例: insert into students(name) values('杨康'),('杨过'),('小龙女');
3.删除
格式:delete from 表名 where 条件;
例: 从students表中删除id为5的学生
物理删除:(直接从数据库表中删除)
delete from students where id=5;
逻辑删除:(本质就是修改操作,一般就是增加一个字段标示是否删除,
比如可以用is_logout字段表示一个用户是否注销了账号,不是实际意义上的删除)
(1).先向students表中添加一个is_logout字段,bit类型,0 表示没有注销,1 表示注销
alter table students add is_logout bit default 0;
(2).修改id为5的学生is_logout为1
update students set is_logout=1 where id=5;
删除一个表中的所有数据
-- 清空全部数据,不写日志,不可恢复,速度极快
truncate table 表名;
-- 清空全部数据,写日志,数据可恢复,速度慢
delete from 表名
4.修改
格式:update 表名 set 列1=值1,列2=值2...... where 条件;
例: 修改id为5的学生的gender=0、`class-id`=11
update students set gender=0,`class-id`=11 where id=5;
没有条件时会修改所有记录,慎重使用
修改所有学生的age=19
update students set age=19;
5.查询
格式:select 将要查询的列 from 表名 where 条件;
查询所有列:*号表示所有列
不指定查询条件:
select * from 表名;
例: select * from students;
指定查询条件:
select * from 表名 where 条件;
例: select * from 表名 where id=5;
查询指定列:
不指定查询条件:
select 列1,列2...... from 表名;
例: select name,age from students;
指定查询条件:
select 列1,列2...... from 表名 where 条件;
例: select name,age from students where id=5;
注意:查询时不指定查询条件会查出所有记录,数据库大时是非常不可取的。
Last updated
Was this helpful?