一、插入语句
1.插入方式一
基本语法:
Insert into 表名(列名……)
Values (值1,……);
注意:
插入的值的类型要与对应字段的类型一致或兼容
不能为null的列必须插入值,可以为null的列插入值有两种方式:①列名和值都省略
②写出列名,值用null
列的顺序可以调换,但值与列名要严格对应
列数和值的个数必须一致
可以省略列名,默认所有列,且列的顺序与表中列的顺序一致
例:
Insert into employees (employee_id,job_id,manage_id)
Values (001, ‘IT’, 003);
2.插入方式二
基本语法:
Insert into 表名
Set 列名1=值1,列名2=值2……;
例:
Insert into employees
Set employee_id =001, job_id =‘IT’, manage_id =003;
3 .两种方式对比
① 方式一支持插入多行,方式二不支持
② 方式一支持子查询,方式二不支持
例:
Insert into employees (employee_id,job_id,manage_id)
Select 001, ‘IT’, 003;
二、修改语句
1.修改单表的记录
基本语法:
Update 表名
Set 列1=新值1,列2=新值2……
Where 筛选条件;
其执行顺序为:1 3 2
例:
Update employees
Set job_id=’IT’,manager_id=003
Where employee_id=001;
2.修改多表的记录
SQL92语法:
Update 表1 别名,表2 别名
Set 列1=新值1,列2=新值2……
Where 连接条件
And 筛选条件;
SQL99语法:
Update 表1 别名
Inner/left/right join表2 别名
On 连接条件
Set 列1=新值1,列2=新值2……
Where 筛选条件;
例:
Update employees e, employees m
Set job_id=’IT’,manager_id=003
Where employee_id= manager_id;
三 、删除语句
方式一:delete
单表的删除
Delete from 表名 where 筛选条件
例:
Delete from employee
Where employee_id like ‘%3’;
多表删除
SQL92语法:Delete 表1的别名,表2的别名
From 表1 别名,表2别名
Where 连接条件
And 筛选条件;
SQL99语法:Delete 表1的别名,表2的别名
From 表1 别名
Inner/left/rightjoin表2别名 on 连接条件
Where 筛选条件;
例:
Delete from b
From beauty b
Inner join boy bo on b.boyfriend=b0.boyfriend
Where bo.boyfriend=’渣男‘;
方式二:truncate table 表名:不能加where子句,使用truncate子句
(敲黑板!)面试常考
两种方式对比:1.delete可以加where子句, truncate不可以
2. truncate删除效率略高
3. 假如要删除的表中有自增长列,
若用delete删除后,再插入数据,自增长列的值从断点开始;
若用truncate删除后,再插入数据,自增长列的值从1开始
4. delete删除有返回值,truncate删除没有返回值
5.delete删除可以回滚,truncate删除不能回滚