当前位置: Oracle DBA培训网-优技培训 >> MySQL培训 > MySQL培训教程 >

MySQL培训课程:insert语句插入新数据

MySQL培训课程:insert语句插入新数据

MySQL培训课程:insert语句插入新数据,语法:INSERT [INTO] tbl_name [(col_name,...)] VALUES (pression,...),…

INSERT [INTO] tbl_name SET col_name=expression, ...

让我们开始利用 INSERT 语句来增加记录,这是一个 SQL 语句,需要为它指定希望插入数据行的表或将值按行放入的表。INSERT 语句具有几种形式:

可指定所有列的值:

例如:

shell> mysql –u root –p

mysql> use mytest;

mysql> insert into worker values(“tom”,”tom@yahoo.com”);

“INTO”一词自 MySQL 3.22.5 以来是可选的。(这一点对其他形式的 INSERT 语句也成立。)VALUES 表必须包含表中每列的值,并且按表中列的存放次序给出。(一般,这就是创建表时列的定义次序。如果不能肯定的话,可使用 DESCRIBE tbl_name 来查看这个次序。)

使用多个值表,可以一次提供多行数据。

Mysql>insert into worker values(‘tom’,’tom@yahoo.com’),(‘paul’,’paul@yahoo.com’);

有多个值表的INSERT ... VALUES的形式在MySQL 3.22.5或以后版本中支持。

可以给出要赋值的那个列,然后再列出值。

这对于希望建立只有几个列需要初始设置的记录是很有用的。

例如:

mysql>insert into worker (name) values (‘tom’);

自 MySQL 3.22.5 以来,这种形式的 INSERT 也允许多个值表:

mysql>insert into worker (name) values (‘tom’), (‘paul’);

在列的列表中未给出名称的列都将赋予缺省值。

自 MySQL 3.22 .10 以来,可以 col_name = value 的形式给出列和值。

例如:

mysql>insert into worker set name=’tom’;

在 SET 子句中未命名的行都赋予一个缺省值。

使用这种形式的 INSERT 语句不能插入多行。

一个expression可以引用在一个值表先前设置的任何列。

例如,你能这样:

mysql> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);

但不能这样:

mysql> INSERT INTO tbl_name (col1,col2) VALUES(col2*2,15);

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙