一、插入数据 1、为表的所有字段插入数据
--------------------------------------------------------------------------
(1)insert语句中不指定具体的字段名 语法格式:insert into 表名 values(值1,值2,……,值n); 表名指定记录插入到哪一个表中; 值等表示要插入的数据;值1到值n分别对应着表中的每一个字的;表中定义了几个字段,insert语句中就应该对应有几个值; 值插入的顺序与表中字段的顺序相同;而且取值的数据类型与表中对应的数据类型应该一致; 举例:insert into product values(1001,‘abc‘,‘药物‘,‘治疗感冒‘); 字符串类型必须加上引号,否则系统会报错;
------------------------------------------------------------------------------------------
(2)insert语句中列出所有字段 insert语句中可以列出表的所有字段,来为这些字段插入数据; 语法格式:insert into 表名(属性1,属性2,……,属性n) values(值1,值2,……,值n); 属性n参数表示表中的字段名称,此处必须列出表的所有字段的名称; 值n参数表示每个字段的值,每个值与相应的字段对应; 举例:insert into product(id,name,function,company,address) values(1002,‘BCD‘,‘治疗头痛‘,‘BCD制药厂‘,‘北京市海淀区‘); -------------------------------------------------------------------------------------------
(3)insert语句中列出所有字段,但是字段的顺序和表中定义的顺序不同 举例:insert into product(id,function,name,address,company) values(1002,‘治疗癌症‘,‘AB康复丸‘,‘北京市顺义区‘,‘AB康复制药厂‘); 结果显示插入成功
----------------------------------------------------------------------------------------------
(4)为表的指定字段插入数据 即为表中的部分字段插入数据 语法格式:insert into 表名(属性1,属性2,……,属性n) values(值1,值2,……,值m); 属性m参数表示表中的字段名称,此处指定表的部分字段名称; 值m参数表示指定字段的值,每一个值与相应的字段对应; 举例:insert into product(id,name,company) values(1004,‘咳嗽灵‘,‘EF制药厂‘); 结果显示插入成功,但是function和address字段都为空值(null)。 因为这两个字的没有插入值,数据库系统为其插入了默认值。所以这两个字段才是空值 注意:没有赋值的字段,数据库系统会为其插入默认值,如果某个字段没有插入默认值,而且是非空,这就必须为其赋值,否则系统会报错。 注意:这种方式也可以随意设置字段的顺序,而不需要按照表定义时的顺序。
---------------------------------------------------------------------------------------------
(5)同时插入多条记录 MYSQL中,一个insert语句可以同时插入多条记录 语法格式:insert into 表名[(属性列表)] values(取值列表1), (取值列表2), …… (取值列表n); 表名指明向哪个表中插入数据; 属性列表参数是可选参数,指定那些字段插入数据,如果没有指定字段时,则向所有字段插入数据; 取值列表n表示要插入的记录,每条记录之间用逗号隔开; 注意:不指定字段时,必须为每个字段都插入数据,如果指定字段,就只需为指定的字段插入数据 举例: insert into product values(1006,‘头痛灵1号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘), (1007,‘头痛灵2号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘), (1008,‘头痛灵3号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘), (1009,‘头痛灵4号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘); 举例: insert into product(id,name,company) values(1009,‘护发1号‘,‘北京市护发素厂‘), (1010,‘护发2号‘,‘北京市护发素厂‘), (1011,‘护发3号‘,‘北京市护发素厂‘);
-----------------------------------------------------------------------------
(6)将查询结果插入到表中 insert语句可以将一个表中查询到的数据插入到另外一个表中 语法格式: insert into 表名1 (属性列表1) select 属性列表2 from 表名2 where 条件表达式; 表名1说明记录插入到哪个表中; 表名2表示记录是从哪个表中查询出来的; 属性列表1参数表示为哪些字段赋值; 属性列表2表示从表中查询出哪些字段的数据; 条件表达式参数设置了select语句的查询条件; 注意:使用这种方法时,必须保证属性列表1和属性列表2中的字段个数是一样的,而且每个对应字段的数据类型必须是一样的。 举例: insert into product(id,function,name,address,company) select id,function,name,address,company from medicine;
==========================================================================================
二、更新数据 更新数据是更新表中已经存在的记录。通过这种方式可以改变表中已经存在的数据。 语法格式: update 表名 set 属性名1 = 取值1, 属性名2 = 取值2, …… 属性名n = 取值n where 条件表达式; 属性名n表示需要更新的字段的名称; 取值n表示为字段更新的新的数据; 条件表达式指定更新满足条件的记录; 举例: update product set name=‘AAA感冒药‘,address=‘北京市朝阳区‘ where id=1001; 举例: update product set function=‘护理头发‘,address=‘北京市昌平区‘ where id>=1009 and id<=1011;
=================================================================================
三、删除数据 删除数据是删除表中已经存在的记录;通过这种方式可以删除表中不再使用的记录; 语法格式:delete from 表名 [ where 条件表达式 ]; 表名指明从哪个表中删除数据; where 条件表达式指定删除表中哪些数据;如果没有该条件表达式,数据库系统就会删除表中所有的记录; 举例: delete from product where id=1001;