DML(Data Manipulation Language – 数据操作语言) 可以在下列条件下执行:
• 向表中插入数据
• 修改现存数据
• 删除现存数据
1、插入语句
使用 INSERT 语句向表中插入数据。
INSERT INTO table [(column [, column...])]
VALUES (value [, value...]);
使用这种语法一次只能向表中插入一条数据
使用INSERT语句有以下几点需要注意:
1、 如果在INSERT INTO 语句后面没有指定列名,那么VALUE子名必须按照表结构中定义的列的次序为每个列提供值。
2、 如果在INSERT INTO子句中指定了列名,那么每一个指定的列只能有一个值,且值的次序必须以表中定义的次序相同。
3、 如果在INSERT 语句中使用select查询,则insert into语句中指定的列名必须与select 子句中指定的列相匹配。
4、 当某列的数据类型为字符串时,其值应该与单引号括住。
如果某个列不允许NULL值存在,而在INSERT语句中没有为该列指定值,则添加操作就回失败,使用这种方法添加数据时一次只能添加一行数据,而且,每次添加数据时必须输入表名以及要添加的数值和相对应的列。
再为表添加数据时,可以省略INSERT INTO子句后的列表清单,使用这种方法时,必须根据表中的定义的列的顺序,为所有的列提供数值。
2、更新数据
如果表中输入的数据存在错误,可以使用UPDATE语句来修改,UPDATE语句可以实现对表中一条货多条记录进行更新。
采用update语法进行更新数据:
语法如下:
UPDATE table
SET column = value [, column = value, ...]
[WHERE condition];
备注:一次可以更新多条记录
//更新数据:更新users表 重新设置了passwrod 条件是唯一(主键是唯一)的条件。
在UPDATE语句中,update子句和set语句是必须的,而where语句是可选的,在update子句中,必须指定的要更新的表的名称;而SET子句用于设置更新的列以及列的新值,同insert 语句一样,也可以使用SELECT语句查询相应的更新值,WHERE子句则限定只对满足条件的行进行更新。
在SET子句中还可以指定多个表达式,以便一次修改多个值。
在set语句中使用select语句时,必须保证select语句返回的值为单一的值,如果select语句返回了多个值,set子句将无法确定使用何值进行更新。
3、删除数据
在表中如果某些数据不在需要就可以使用delete语句进行删除,并释放该数据所占用的存储空间删除语法如下:
DELETE [FROM] table
[WHERE condition];
备注:delete语句只是从表中删除数据,不会删除表结构.删除表结构采用drop语句。
注意:删除表中的数据时,一定要考虑表的约束(否则会出现一些异常信息)
//清空表 delete from 表名 ||delete 表名
//删除数据 where条件与更新一致,必须保证唯一性(主键是唯一)条件
Delete from子句指定要删除数据的表名称,这里的from关键字不是必须的,where子句指定删除的数据应满足的条件,如果delete语句中没有包括where子句,那么从指定的表中删除所有的数据。
SQL> delete from users where username='test';