当前位置:   article > 正文

SQL必知必会 - 插入/更新/删除数据_sql insert

sql insert

目录

一、插入数据 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

  1. INSERT INTO customers
  2. VALUES ('1006',
  3. 'TOY',
  4. 'NEW YORK',
  5. NULL,
  6. NULL );

2 从表取数 插入他表 SELECT INTO

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

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

  1. select *
  2. into seniordrives
  3. from drivers
  4. where drivedistanced>=5000;

3  插入检索出的数据

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

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

  1. INSERT INTO customers(cust_id,
  2. cust_contact,
  3. cust_email)
  4. SELECT cust_id,cust_contact,cust_email
  5. FROM custnew;

二、复制数据CREATE 

形式: CREATE 新表名 AS SELECTFROM 原表

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

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

  1. CREATE TABLE custcopy AS
  2. SELECT * FROM custmers;

三、更新数据 update

形式

                 UPDATE 要更新的表名

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

                 WHRER 限定条件语句;

注意点

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

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

  1. UPDATE customers
  2. SET cust_email = '333@ew.com'
  3. WHERE cust_id = 1001;

e.g2. 多列更新

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

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

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

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

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

拓展 replace函数

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

VALUES(赋值1,赋值2);

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

四、删除数据  DELETE FROM

  • 形式:

                DELETE FROM 要删除数据的表名

                WHERE语句限定要删除的行;

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

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

  1. DELETE FROM customers
  2. WHERE cust_id=1001;
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/487817
推荐阅读
相关标签
  

闽ICP备14008679号