一、插入数据
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;