2025年五 SQL INSERT INTO 与 UPDATE

五 SQL INSERT INTO 与 UPDATESQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新记录 INSERT INTO 语句可以有两种编写形式 第一种形式无需指定要插入数据的列名 只需提供**入的值即可 INSERT INTO table name VALUES value1 value2 value3

大家好,我是讯享网,很高兴认识大家。

SQL INSERT INTO 语句

INSERT INTO 语句用于向表中插入新记录。

INSERT INTO 语句可以有两种编写形式。

第一种形式无需指定要插入数据的列名,只需提供**入的值即可:

INSERT INTO table_name VALUES (value1,value2,value3,...);

讯享网

第二种形式需要指定列名及**入的值:

讯享网INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | +----+--------------+---------------------------+-------+---------+

假设我们要向 "Websites" 表中插入一个新行。

我们可以使用下面的 SQL 语句:

讯享网INSERT INTO Websites (name, url, alexa, country) VALUES ('百度','https://www.baidu.com/','4','CN');


讯享网

您是否注意到,我们没有向 id 字段插入任何数字?
id 列是自动更新的,表中的每条记录都有一个唯一的数字。

 

在指定的列插入数据

我们也可以在指定的列插入数据。

下面的 SQL 语句将插入一个新行,但是只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新):

INSERT INTO Websites (name, url, country) VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND');

 没有指定要插入数据的列名的形式需要列出插入行的每一列数据:

讯享网INSERT INTO table_name VALUES (value1,value2,value3,...);

insert into select 和select into from 的区别

insert into scorebak select * from socre where neza='neza' --插入一行,要求表scorebak 必须存在 select * into scorebak from score where neza='neza' --也是插入一行,要求表scorebak 不存在

 

SQL UPDATE 语句

UPDATE 语句用于更新表中已存在的记录。

讯享网UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
请注意 SQL UPDATE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!

 设我们要把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA。

UPDATE Websites SET alexa='5000', country='USA' WHERE name='菜鸟教程';

 

Update 警告!

在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示:

讯享网UPDATE Websites SET alexa='5000', country='USA'

执行以上代码会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。

在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。

set sql_safe_updates=1; 表示开启该参数

小讯
上一篇 2025-01-04 19:01
下一篇 2025-03-31 21:23

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/15031.html