语法:
insert [into] 表名 [(列名)] values (值列表)
其中[]中的元素是可以省略的
添加数据的顺序是先向主表添加顺序再向子表添加数据
注意事项
1,每次插入一行数据,不能只插入半行或者几列数据
2,每个数据值的数据类型,精度和小数位数必须与相应的列匹配
3,不能为标识列指定值
4,如果在设计表的时候就指定了某列不允许为空,则必须插入数据
5,插入的数据项,要求符合检查约束的要求
6,具有缺省值的列,可以使用DEFAULT(缺省)来代替插入的数据
例子
--[1]向含有标识列的表中添加数据,要求标识列不允许手动插入
use E_Market --指向当前所操作的数据库
go
--向商品类别表添加数据
insert into CommoditySort values ('手机数码')
select * from CommoditySort
insert into CommoditySort values ('图书音像'),('家用电器')
select * from CommoditySort
go
--[2]向表中所有的列插入数据,要求值得顺序必须与列的顺序完全一致(列名可以省略)
--向用户表添加数据
insert UserInfo values('yoyo', 'iloveyou','卢晓凤',1, 'lxf@sohu.com','北京海淀','010-82338233')
select * from UserInfo
insert UserInfo values('feiyang', 'hongmei','段飞扬',0, 'dfy@tom.com','武汉江岸','027-85796644'),
('daxia', 'langyashan','赵可以',0, 'zky@163.com','上海普陀','021-58207097')
select * from UserInfo
go
--[3]向表中非空列插入数据,要求列的个数与值得个数必须完全相同
--向商品信息表添加数据
insert into CommodityInfo (SortId,CommodityName,InPrice,OutPrice,Amount)
values (1,'索尼Z3',3300,4299,100),(2,'JavaScript指南',20,50,200),(1,'华为荣耀3C畅玩',500,799,80)
select * from CommodityInfo
go
--[4]向有默认值的表中插入数据,默认值使用我们的default代替
--向订单表中添加数据
insert into OrderInfo (UserId,CommodityId,Amount,ParMoney,PayWay,OrderTime,Confirm,SendGoods)
values ('yoyo',1,2,8598,default,'2014-03-26',0,1), ('feiyang',2,10,500,'邮局汇款','2014-02-06',1,1),
('daxia',3,3,2397,'银行转账','2014-01-08',1,1)
select * from OrderInfo
go