概念
针对DML(数据操作语言)分两类
查询(DQL)和更新
更新分三种操作
增加INSERT
修改UPDATE
删除DELETE
数据更新操作会直接更改数据库中的数据,为防止原始数据被破坏需备份
CREATE TABLE myemp AS SELECT * FROM emp;
插入数据
语法格式
INSERT INTO 表名[(列1,列2,...)] VALUES(值1,值2,...)
各数据类型格式
字符串
使用英文半角单引号或双引号包裹内容
数字
直接写数字
日期和时间
当前日期
使用DATETIME(‘now’)等
本地日期时间
DATETIME(‘now’,‘localtime’)
也可使用固定时间格式
‘1992-01-06 02:33:33’
插入数据方式
完整格式
INSERT INTO myemp(empno,ename,job,mgr,hiredate,sal,deptno)
VALUES(8888,'张三','厨师',7839,DATETIME('now','localtime'),10000,40);
简易格式
INSERT INTO myemp VALUES(1000,'罗翔','律师',8888,'2000-03-30 09:44:34',1,NULL,10);
修改信息
语法格式
UPDATE 表名 SET 列名1=值1,列名2=值2,...[WHERE 更新条件(s)]
注意
不写WHERE子句表示更新所有数据。
例子
UPDATE myemp SET sal=sal*1.2 WHERE hiredate=MIN(hiredate);
UPDATE myemp SET sal=sal*1.2 WHERE hiredate=(SELECT MIN(hiredate) FROM myemp);
UPDATE myemp SET hiredate=DATETIME('now');
删除数据
语法格式
DELETE FROM 表名 [WHERE 删除条件(s)]
注意
不写WHERE子句,表示删除所有数据
例子
DELETE FROM myemp WHERE sal=(SELECT MAX(sal) FROM myemp);
DELETE FROM myemp WHERE mgr IS NULL;
DELETE FROM myemp;
提高
在实际的开发中,为了保护数据,随时可以恢复数据,通常执行逻辑删除,而不执行物理删除。
物理删除就是使用DELETE语句进行删除;
逻辑删除指的是,在设计表时可以增加一列,用这一列的数据表示当前的数据的可用性(例如1为数据可用,0为数据不可用)。那么在查询的时候多增加一个判断为1的条件,表示查询所有数据。删除时,可以把这一列的数据置为0,使用UPDATE操作来进行逻辑删除。