<b>透视MySQL数据库之更新语句</b>[MySQL防范]
本文“<b>透视MySQL数据库之更新语句</b>[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
用于操作数据库的SQL普通分为两种,一种是查询语句,也就是我们所说的SELECT语句,别的一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据举行改正.在尺度的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE.在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为后台来谈论若何使有SQL中的更新语句.
1、INSERT和REPLACE
INSERT和REPLACE语句的功效都是向表中插入新的数据.这两条语句的语法近似.它们的主要辨别是若何处理反复的数据.
1. INSERT的普通用法
MySQL中的INSERT语句和尺度的INSERT不太一样,在尺度的SQL语句中,一次插入一条记录的INSERT语句只有一种情势.
INSERT INTO tablename(列名…) VALUES(列值);
而在MySQL中还有别的一种情势.
INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;
第一种办法将列名和列值脱离了,在利用时,列名必须和列值的数一致.以下面的语句向users表中插入了一条记录:
INSERT INTO users(id, name, age) VALUES(123, '姚明', 25);
第二种办法答应列名和列值成对呈现和利用,以下面的语句将产生中样的效果.
INSERT INTO users SET id = 123, name = '姚明', age = 25;
假如利用了SET方法,必须至少为一列赋值.假如某一个字段利用了省缺值(如默许或自增值),这两种办法都可以省略这些字段.如id字段上利用了自增值,上面两条语句可以写成以下情势:
INSERT INTO users (name, age) VALUES('姚明',25);
INSERT INTO uses SET name = '姚明', age = 25;
MySQL在VALUES上也做了些改变.假如VALUES中什么都不写,那MySQL将利用表中每一列的默许值来插入新记录.
INSERT INTO users () VALUES();
假如表名后什么都不写,就表示向表中全部的字段赋值.利用这种方法,不但在VALUES中的值要和列数一致,并且次序不能倒置. INSERT INTO users VALUES(123, '姚明', 25);
假如将INSERT语句写成以下情势MySQL将会报错.
INSERT INTO users VALUES('姚明',25);
2. 利用INSERT插入多条记录
看到这个标题大概大家会问,这有什么好说的,调用多次INSERT语句不便可以插入多条记录了吗!但利用这种办法要增添服务器的负荷,因为,履行每一次SQL服务器都要一样对SQL举行解析、优化等操作.好在MySQL供应了另一种办理筹划,就是利用一条INSERT语句来插入多条记录.这并非尺度的SQL语法,因此只能在MySQL中利用.
INSERT INTO users(name, age)
VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人', 600);
上面的INSERT 语句向users表中持续插入了3条记录.值得注意的是,上面的INSERT语句中的VALUES后必须每一条记录的值放到一对(…)中,中间利用","分割.假定有一个表table1
CREATE TABLE table1(n INT);
假如要向table1中插入5条记录,下面写法是错误的:
INSERT INTO table1 (i) VALUES(1,2,3,4,5);
MySQL将会抛出下面的错误
ERROR 1136: Column count doesn't match value count at row 1
而精确的写法应当是这样:
INSERT INTO t able1(i) VALUES(1),(2),(3),(4),(5);
当然,这种写法也可以省略列名,这样每一对括号里的值的数目必须一致,并且这个数目必须和列数一致.如:
INSERT INTO t able1 VALUES(1),(2),(3),(4),(5);
以上是“<b>透视MySQL数据库之更新语句</b>[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |