表数据的操作
-
DML数据操纵语言
- 新增数据
- 修改数据
- 删除数据
-
DQL数据查询语言
- 查询数据
新增命令添加数据
- 方法一 (不推荐):
insert into 表名 values(值, 值2, ...)
-- 插入一个学生
insert into t_student values
('噜啦噜啦嘞', '男', '2016001524', '1997-11-03', '12345678901',
'zhangsan@sina.com', '123456199711031234', now() );
ps : now() 代表 获取 当前系统时间
不推荐这样做的原因:
1. 从命令上无法确认插入的值和字段的关系
2. 插入值的顺序必须和数据库中 字段定义的顺序 保持一致
3. 插入值的个数必须和数据库中字段的个数保持一致
- 方式二 (推荐):
insert into 表名(字段, 字段2, ...) values(值, 值2, ...)
-- 插入一个学生信息
insert into t_student(name, sex, stuNo, birth, tel) values
('qi', '女', '2017000001', '1999-03-09', '12345678910');
PS: 插入的值和字段一一对应,每一个值从SQL可以看出来值的含义,可以实现部分字段值的录入
- 方式三 (批量插入):
insert into 表名(字段, 字段2, ...) values
(值, 值2, ...) ,
(值, 值2, ...) ,
(值, 值2, ...) ,
(值, 值2, ...) ;
修改数据
全表更新:(慎用)
update 表 set 字段 = 值 , 字段 = 值 ...
-- 将学生的入学时间更改为 当前系统时间
update t_student set school_time = now() ;
带条件的更新
update 表 set 字段 = 值 , 字段 = 值 ... where 条件
-- 更新 名字为 张三 的 入学时间为 2022-3-25
update t_student set school_time = '2022-03-25' where name = '张三'
删除数据
删除表中所有的数据 (慎用)
delete from 表 ;
truncate table 表 ; -- 截断表(DDL语句)
删除表中指定的数据
delete from 表 where 条件 ;
-- 删除 学生表中,没有身份信息的数据
delete from t_student where card is null ;
PS : truncate 截断表,只能删除表中所有的数据
truncate 和 delete 的区别
-
delete 可以删除部分数据,而 truncate 只能删除所有数据
-
delete 只删除数据、而不删除数据所占用的空间
-
truncate 在删除数据的时候,同时会删除数据所占用的空间
如果确实要删除表中所有数据、推荐使用 truncate
查询表中所有的数据
select * from 表 ;