数据增、删、改SQL

学习目标

  • 掌握新增SQL语法
  • 掌握更新SQL语法
  • 掌握删除SQL语法

1. 向全部列插入数据

                    
语法:insert into 表名 values(列值1,列值2,...,列值n);
案例(id列不自增):insert into user_info values(1001,'张三',18);
案例(id列为自增):insert into user_info values(null,'张三',18);

解释:往user_info表中插入一条数据
                    
                
注意:
  • values的值要与表结构的列一一对应(数量对应、顺序对应、类型对应)
  • 字符类型和日期时间类型插入数据时,需要添加引号;数值类型不需要加引号
  • 列值和列值之间需要用英文逗号分隔
  • 插入数据时,要注意满足约束条件
  • 关键词into可以省略


2. 向指定列插入数据

                    
语法:insert into 表名 (列1, 列2,...,列n)values(列值1,列值2,...,列值n);
案例:insert into user_info (name,age)values('张三',20);

解释:往user_info表中插入一条数据,仅name、age有数据,其他列会使用默认值、null、自增
                    
                
注意:
  • values前后的字段和值,需要一一对应(数量对应、顺序对应、数据类型对应)
  • 插入数据时,无论是否指定列,所有列都需要满足约束条件
  • 若字段A的约束为:非空+无默认值,插入数据时未给字段A写值,则语句会因为不满足约束而报错


3. 批量插入全部列数据

                    
语法:insert into 表名 values(列值1,列值2,...列值n),(列值1,列值2,...列值n),...(列值1,列值2,...列值n);
案例:insert into user_info values(1001,'张三',18),(1002,'李四',18),(1003,'王五',18);

解释:一次性往user_info表中中插入多条数据
                    
                


4. 批量插入指定列数据

                    
语法:insert into 表名(列名1,列名2,......列名n) values(列值1,列值2,...列值n),(列值1,列值2,...列值n),...(列值1,列值2,...列值n);
案例:insert into user_info (name,age)values('张三',18),('李四',18),('王五',18);

解释:往user_info表中插入多条数据,仅name、age有数据,其他字段使用默认值、null、自增
                    
                

5. 更新某列的全部值

                    
语法:update 表名 set 列名1=新值,列名2=新值,...,列名n=新值;
案例:update user_info set name='赵六',age=88;

解释:在user_info表中,将name字段的全部值改为“赵六”,age字段的全部值改为88
                    
                

6. 筛选数据后,更新某列的值

                    
语法:update 表名 set 列名1=新值,列名2=新值,...,列名n=新值 where 条件;
案例:update user_info set name='赵六',age=88 where id=10;

解释:在user_info表里,先筛选id=10的数据,再将name字段改为“赵六”,age字段改为88
                    
                

7. 删除表里全部数据

                    
语法:delete from 表名;
案例:delete from user_info;

解释:删除user_info表里全部的数据,即清空表数据
                    
                

8. 筛选数据后,删除表里某部分数据

                    
语法:delete from 表名 where 条件;
案例:delete from user_info where id=10;

解释:删除user_info表里,先筛选出id=10的数据,再进行数据删除