插入记录INSERT(二十五)
插入记录INSERT
我们先来看第一个操作:INSERT
实际上在mysql当中一共存在着3种不同的insert语句,我们先来看第一种。它的语法结构如下:
一、插入记录
INSERT [INTO] tbl_name [(col_name,…)] {VALUES | VALUE}
({expr | DEFAULT},…),(…),…
从语法结构中我们可以看到有个可选项col_name,就是我们的列名称,如果省略掉的话,就代表所有的字段依次被赋值,接下来我们可以发现,在值当中我们既可以跟表达式也可以跟默认值,如果存在多个字段,他们之间用“逗号”分割,除此之外,我们还可以看到,在mysql的插入语句当中,可以一次性的插入多条记录,下面我们来做一个简单的演示:
我们先来创建一张简单的数据表user,操作命令如下:
create table user( id smallint unsigned primary key auto_increment, username varchar(20) not null, password varchar(30) not null, age tinyint unsigned not null default 10, sex boolean );
show columns from user;
下面我们就按照上面的语法结构往表里插入数据,我们先来使用最简单的方式,省略掉字段名,也就是说所有字段都要赋值。
1.1注意:有一个字段比较个性,就是id字段,因为id字段是自动编号的,其实我们在为自动编号的字段赋值的时候,我们可以采用两个特殊的值,依次让其采用默认的编码方式。
第一种:使用null来表示id为默认的自增的方式
insert user values(null,'Tom','123',24,1); select * from user; insert user values(null,'join','456',25,1); select * from user;
第二种:使用default来表示id为默认的自增的方式下面我们使用default再来插入一条记录,结果证明这样也是可以的,如下图:
insert user values(default,'Tom','123',24,0);
select * from user;
1.2注意:刚才我们为所有的字段都赋了值,如果不这样做,系统将提示我们错误,下面我们来验证一下,假设我们省掉一个字段,这个时候系统提示我们错误,如下图:
insert user values(null,'join','456',25);
大概意思就是列和值的数目不匹配,所以也就是说,如果省略掉了列名的话,就要为所有的字段依次赋值
1.3 注意 除了可以为所有的字段依次赋值之外,我们还可以插入表达式,下面我们来试验一下,假设我们把age字段修改为2*8+2,操作命令及结果如下:
insert user values(default,'Tom','123'',2*8+3,0); select * from user;
除了可以写成数字表达式,还可以写成字符表达式或函数表达式。
1.4注意 default的另一个作用default,它除了可以对刚才我们提到过的自动编号的字段起作用外,如果说某个字段赋过默认值的话,我们也可以将default赋予它,比如刚才我们的user表中的age字段,他的默认值就是10,所以说如果我们要age赋予10的话,我们既可以写个10,又可以写个default,操作命令及结果如下。
insert user values(default,'Tom','123',default,0); select * from user;
1.5 注意 实际上我们还可以一次性的写入多条记录,注意两个值之间要用逗号分割,操作命令及结果如下:
insert user values(default,'Tom','123',2*8+3,0),(null,'jack','1234',default,0); select * from user;
二、插入记录
INSERT [INTO] tbl_name SET col_name={expr | DEFAULT},…
insert user set username='jack',password='123';
age字段存在着默认值,即使不赋值也为10,同时sex字段允许为空,所以我们可以只写这两个字段。
三、插入记录
INSERT [INTO] tbl_name [(col_name,…)] SELECT…
这种方法我们稍后再详细讲解。
作者:大数据和人工智能躺过的坑
出处:http://www.cnblogs.com/zlslch/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击右下角的【好文要顶】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!