SQL必知必会 – 插入/更新/删除数据

SQL必知必会 – 插入/更新/删除数据一 插入数据 INSERT 1 插入行 INSERTINTO2 从表取数插入他表 SELECTINTO3 插入检索出的数据二 复制数据 CREATE 三 更新数据 update 拓展 replace 函数四 删除数据 DELETEFROM sqlinsert

大家好,欢迎来到IT知识分享网。

目录

一、插入数据 INSERT

1 插入行 INSERT INTO

2 从表取数 插入他表 SELECT INTO

3  插入检索出的数据

二、复制数据CREATE 

三、更新数据 update

拓展 replace函数

四、删除数据  DELETE FROM


一、插入数据 INSERT

  • 普通插入(全字段)

        INSERT INTO   table_name

        VALUES   (value1, value2, …)

  • 普通插入(限定字段)

       INSERT INTO  table_name   (column1, column2, …)

        VALUES   (value1, value2, …)

  • 多条一次性插入

        INSERT INTO table_name  (column1, column2, …)

         VALUES (value1_1, value1_2, …), (value2_1, value2_2, …), …

  • 从另一个表导入

       INSERT INTO table_name

       SELECT * FROM table_name2

       [WHERE key=value]

1 插入行 INSERT INTO

插入所有行

  • INSERR INTO 表名  VALUES (‘ ‘,’ ‘ …)

 插入部分行

  • INSERT INTO 表名( ‘各个列名’ )  VALUES ( ‘各个赋值 ‘)

写明各个列名,是为了原表顺序改变,改语句也不会受影响

e.g. 将一个顾客插入到customers表,每一列都按照列顺序提供一个值,如该列没有对应值,用null

INSERT INTO customers VALUES ('1006', 'TOY', 'NEW YORK', NULL, NULL );

2 从表取数 插入他表 SELECT INTO

  • 从一张表中选取数据,插入到另一张表里
  • 可用于创建表的备份复件or存档记录

e.g. 将驾驶里程drivedistanced超过5000里的四级信息,转存到另一张seniordrivers表中,他们的详细情况记录的原表为drivers

select * into seniordrives from drivers where drivedistanced>=5000; 

3  插入检索出的数据

即在insert语句中,嵌套select语句

e.g 把custnew表的顾客列对应值,合并到customers 表

INSERT INTO customers(cust_id, cust_contact, cust_email) SELECT cust_id,cust_contact,cust_email FROM custnew;

二、复制数据CREATE 

形式: CREATE 新表名 AS SELECTFROM 原表

  • 从 表 复制到 表
  • 可用于联结多个表
  • 数据一次只能插入到一个表里

e.g.从创建一个叫做custcopy的新表,把customers表的所有值复制过去

CREATE TABLE custcopy AS SELECT * FROM custmers;

三、更新数据 update

形式

                 UPDATE 要更新的表名

                 SET 要更新的列名 = ‘新赋值内容’

                 WHRER 限定条件语句;

注意点

  • 如果不加where语句,更新的是该列的所有值
  • update语句改多个字段时,字段中间 用逗号 隔开(需要用AND隔开的是where语句)

e.g1. 设置给id是1001的cust_email新的赋值

UPDATE customers SET cust_email = '' WHERE cust_id = 1001; 

e.g2. 多列更新

UPDATE customers SET cust_contact ='aa', cust_email = 'ww@.esd.com' WHERE cust_id = 1001;

e.g3. 删除某列的值,即将其赋值为null  (删除某行,用delete)

  • IS 用在is null 
UPDATE customers SET cust_contact IS NULL WHERE cust_id = '1001';

 e.g4. 将type列中,是tool的序号都减2,序号列为shelf

update books set shelf=shelf-2 where type='tool';

拓展 replace函数

REPLACE INTO 表名(字段1,字段2,…)

VALUES(赋值1,赋值2);

同样用于更新数据,但可以先检索原表有无同样的数据,如果有可以作为替换更新,不会报错

四、删除数据  DELETE FROM

  • 形式:

                DELETE FROM 要删除数据的表名

                WHERE语句限定要删除的行;

  • 删除所有的行,还可以用 TRUNCATE TABLE语句

e.g. 删除cust_id是1001的整行

DELETE FROM customers WHERE cust_id=1001;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/138983.html

(0)
上一篇 2025-06-09 17:33
下一篇 2025-06-09 17:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信