当前位置:首页 > Mysql教程 > 列表

mysql中插入数据Insert into语句用法

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-09 10:27:34 浏览: 评论:0 

在mysql中要向数据库中保存数据我们最常用的一种方法就是直接使用Insert into语句来实现了,下面我来给大家详细介绍Insert into语句用法.

INSERT用于向一个已有的表中插入新行。INSERT…VALUES语句根据明确指定的值插入行。让我们先来看一下insert语句标准的定义,放在[]内的都是可以省略的:

语法:

  1. INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE
  2.  
  3.     [INTO] tbl_name [(col_name,...)] 
  4.  
  5.     VALUES ({expr | DEFAULT},...),(...),... 
  6.  
  7.     [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 

实例:create table links (name varchar(255) not null default '', address varchar(255) not null default '');

最简单的插入方法,代码如下:

  1. Mysql>insert into worker values(‘tom’,’tom@yahoo.com’),(‘paul’,’paul@yahoo.com’); 
  2.  
  3. --或 
  4.  
  5. insert into links values('jerichen','gdsz'); 

批量保存数据

假如我们想一次性的往数据库里插入多条数据咋办?一定要写多条语句吗?肯定是不会的,因为MySQL设计的还是很人性的,其提供insert语句的一种非标准格式,即,values(字段值1,字段值2,字段值3),(另一个字段1的值,另一个字段2的值,另一个字段3的值);

同时插入两条数据,看语法说明,那个into被我省略了,代码如下:

insert links (name,url) values('jerichen','gdsz'),('alone','gdgz');  

使用INSERT…SELECT语句插入从其他表选择的行,当我们在上一节学习创建表时,知道可以使用select从其它表来直接创建表,甚至可以同时复制数据记录。如果你已经拥有了一个表,你同样可以从select语句的配合中获益。

从其它表中录入数据,代码如下:

mysql>insert into tbl_name1(col1,col2) select col3,col4 from tbl_name2;

你也可以略去目的表的列列表,如果你每一列都有数据录入,代码如下:

mysql>insert into tbl_name1 select col3,col4 from tbl_name2;

INSERT INTO ... SELECT语句满足下列条件:

查询不能包含一个ORDER BY子句.

关于insert语句的几点说明:

其实也不是啥说明了,都是书上面的例子,不过懒的敲了,而且感觉没有啥太大意义,都是需要大家理解的。给不给例子是一样的。

1. 因为之前我在日志中介绍创建表结构的时候,字段是可以有默认值的,在MySQL4.0.3及更高版本都支持一个DEFAULT关键字,在我们使用 insert 语句的时候,可以使字段的值等于DEFAULT关键字,来使其等于数据库创建的时候的default值。

2. AUTOINCREMENT自增字段,这个我们是不用给出值的,因为系统会自动为该字段来进行自增,但是如果您愿意,也是可以传值的,看您心情。

3. UNIQUE这个我们也说过,就是字段唯一的意思,比如说用户的id设置UNIQUE,已经存在一条用户id为1的数据,如果此时您再想插入一条用户id为1的数据是不会成功的,系统会出错的。

4. 如果数据库字段允许存在NULL值的话,我们在insert插入语句中,也是可以将字段值设为NULL的。

Tags: mysql插入数据 Insert语句

分享到: