Data Manipulation Language

数据操作语言DML操作的是对象中的数据insert,update ,delete
1.insert;向表中插入数据(注册,添加)
语法:
insert into 表名(列名2,列名1,列名4) values(值2,值1,‘值4’)
注意:

  • 插入时要遵守约束
  • 列的顺序任意,但是values后面值的顺序要和前面列的顺序对应
  • 当值是字符串或时间类型时使用引号
  • 若插入所有列,可以简化语法:insert into 表名(值1,值2,值3…简化了要插入所有列的值)

2.update:更新,修改表中的数据
语法:
update 表名 set 列名 = 值, 列名 = ‘值’ [where条件]
危险操作:
update 表名 set 列名1= 值1,列名2 = 值2
上面的语句更新的是对应列的所有值
update 表名 set 列名 = 值,列名 = 值 where 条件 (主键列名=‘值’)
update empl set job = ‘PG’ where emplNo = ‘10005’
where条件:列名 比较运算符 =、 >、<、>= <= <>
过个条件使用and 或:or

update emp set Sal=Sal+7000 
where empDept = '1' and Sal < 8000

【注意】在数据库中可以通过update来修改主键的值
update emp set empNo = ’ ’ where empNo = ’ ’
但是通过java把update语句发送到数据库中,就不允许修改主键
where用来过滤,确定是哪一行,因为主键是唯一的,可以通过主键来锁定具体数据
3.delete:删除表中的数据
语法:
删除表中的所有数据:delete from 表名
根据条件删除数据:delete from 表名 where 条件
使用delete删除数据是,删除的数据会记录在日志文件中,理论上delete删除的数据是能够恢复的
truncate table emps;这一句是删除表emps中的所有数据,然后把表drop掉,最后新建emps表

删除表中的数据时,如果有一个被外键引用时,则无法删除
delete form 要删除的表名 where 要删除的列名= 值
[扩展技能点]
复制表:
create table 新表名 as select * from 旧表名