学习MySQL插入数据、更新数据、删除数据
语法格式如下:
INSERT [ INTO ] 数据表名
[ ( 字段名1 [ , 字段名2 ] ... ) ]
{ VALUES | VALUE } ( 值1 ) [ , ( 值2 ) ... ;
在上述语法格式中,数据表名指的是要插入数据的数据表的名称;字段名指的是插入数据的字段名称;值指的是插入字段对应的数据。
需要注意的是,使用INSERT语句插入数据时,字段名是可以省略的。如果不指定字段名,表示插入的数据将按数据表的字段顺序向所有字段插入数据。如果指定要插入数据的字段名,则插入的值的顺序与指定的字段名顺序需要保持一致。
根据这个表创建一个数据表
查看
创建一个表后,插入一条信息
语法格式如下:
INSERT [ INTO ] 数据表名
[ ( 字段名1 [ , 字段名2 ] ... ) ]
{ VALUES | VALUE } ( 值1 ) [ , ( 值2 ) ... ;
插入成功,查看是否按要求插入数据表中,我们使用SELECT语句查看
查看
语法格式:SELECT * FROM 表名 ;
从上述执行结果的信息可以看出,员工表emp中成功地插入了一条数据。需要注意的是,使用INSERT语句插入数据时,数据表名后的字段顺序可以与其在表中定义的顺序不一致,它们只需要与VALUES中值的顺序一致即可。
在MySQL中,给所有字段插入数据时如果省略所有字段名,插入的效果与指定所有字段名一样。区别在于,由于INSERT语句中没有指定字段名,添加的值的顺序必须与字段在表中定义的顺序相同。
向表中插入一条信息
插入成功,查看
从上述执行结果的信息可以看出,员工表emp中成功地插入了新数据。这种省略所有字段名的方式虽然相对简单,但是VALUES后面的值必须与数据表中的字段顺序对应。如果数据表中某一个字段不确定插入的值,则可以将其设置为NULL。
有时我们只需要或者只有部分数据,那么可以选择向部分字段插入数据。
插入一条信息
插入成功,查看
从上述执行的信息来看出,员工表成功地插入了员工刘一的数据,但是字段mgr 和comm 的值为NULL 。这是因为在添加新数据时,如果没有为某个字段赋值,系统会自动为该字段添加默认值。
语法格式:INSERT INTO 数据表名SET 字段名1=值1 [ , 字段名2=值2, ... ] ;
插入这条信息
查看
从上述执行来看,插入成功
如果需要一次向数据表中插入多条数据,可以使用上面学习的方式将数据逐条添加,但这样做需要书写多条INSERT语句,比较麻烦。为解决一次插入多条数据,MySQL允许使用一条INSERT语句同时添加多条数据。
语法格式:
INSERT [ INTO ] 数据表名 [ ( 字段名 , 字段名2 , ... ) ]
{ VALUES | VALUE } (值1 , 值2 , ... ) , (值1 , 值2 , ... ) ,
...
(值1 , 值2 , ... ) ;
在上述语法格式中,“(字段名1,字段名2,...)”是可选的,用于指定插入的字段名,如果向全部字段插入数据,可以省略。“(值1,值2,..)”表示要插入的数据,该数据可以有多条,多条数据之间用逗号隔开。
根据这个表,使用上述语法创建一个表
查看
从执行结果来看看,员工表emp中添加了7条新数据。
更新数据是指对数据表中已经存在的数据进行修改,例如某个部门名称变更了,就需要对数据表中部门名称字段的值进行修改。MySQL 中使用UPDATE 语句更新表中的数据。
语法格式:
UPDATE 数据表名 SET 字段名1 = 值1 [ , 字段名2 = 值2, ... ] [ WHERE 条件表达式 ] ;
在上述语法格式中,字段名用于指定要更新的字段名称,值表示字段更新后的数据。WHERE子句中的条件表达式用于指定更新数据需要满足的条件。
UPDATE语句可以更新数据表中的部分数据和全部数据。
更新部分数据是指根据指定条件更新数据表中的某条或某几条数据,需要使用WHERE子句来指定更新数据的条件。
先使用SELECT语句查询张三当前信息
使用UPDATE 语句更新张三的工资,将sal 字段的值在原来的基础上增加200
查看
如果数据表中有多条数据满足WHERE子句中的条件表达式,则满足条件的数据都会发生更新。
先查询SELECT 语句查询保洁职位的数据,并查看
使用UPDATE 语句将职位为保洁的员工涨薪300,并查看
UPDATE 语句中如果没有使用WHERE 子句,则会将表中所有数据的指定字段都进行更新。
给所有员工涨薪500
先使用SELECT 语句查询员工表中的数据,并查看
使用UPDATE 语句将所有员工涨薪500,并查看
从上述执行结果可以看出,员工表中所有员工的工资都在原来的基础上增加了500,这说明如果没有使用WHERE子句,则会将表中所有数据的指定字段都进行更新。
删除数据是指数据表已经存在的数据进行删除。
语法格式: DELET FROM 数据表名 [ WHERE 条件表达式 ] ;
在上面的语法格式中,数据表名指定要删除的数据表的名称,WHERE子句为可选项,用于指定删除的条件,满足条件的数据会被删除。DELETE语句可以删除表中的部分数据和全部数据.
删除部分数据是指根据指定条件删除数据表中的某一条或某几条数据,需要使用WHERE子句指定删除数据的条件。
先使用SELECT 语句查询孙七的员工表中的数据,并查看
使用DELETE 语句删除员工表中孙七的数据,并查看
从上述执行结果可以看到数据为空,说明孙七的数据被成功删除。
在执行删除操作的数据表中,如果有多条数据满足“WHERE”子句中的条件表达式,
则满足条件的数据都会被删除。
先使用SELECT 语句查询分析员的员工表中的数据,并查看
使用DELETE 语句删除员工表中分析员的数据,并查看
从上述执行结果可以看到数据为空,说明职位为分析员的数据被成功删除。
DELETE语句中如果没有使用WHERE子句,则会将数据表中的所有数据都删除。
语法格式:DELETE FROM 表名 ;
先使用SELECT 语句查询员工表中的数据,并查看
使用DELETE 语句删除员工表中的数据,并查看
从上述执行结果可以看到数据为空,说明员工表中所有的数据都被删除。