delete和truncate区别:
delete
删除后面可以接
where
条件,
truncate
不可以。
delete
删除是一行一行删除 ,
truncate
删除整个表,再创建一个与原表结构相同的新表,
truncate
删除效率高。
delete
属于
DML
操作
,truncate
属于
DDL
操作。
delete
支持事务,
truncate
不支持事务。
delete
删除自增列不能从头开始;
truncate
删除自增列重新从
1
开始。
sql语言分类:
数据查询语言
DQL
(
Data Query Language
):
select
、
where
、
order by
、
group by
、
having
。
数据定义语言
DDL
(
Data Defifinition Language
):
create
、
alter
、
drop、
truncate
数据操作语言
DML
(
Data Manipulation Language
):
insert
、
update
、
delete
。
事务控制语言
TCL
(Transaction Control Language ):
commit
、
rollback
。
数据控制语言
DCL
(
Data Control Language
):
grant
、
revoke
。
sql语句编写顺序:
select
列名
from
表名
where
条件
group by
分组
having
过滤条件
order by
排序列(
asc|desc
)
limit
起始行,总条数
sql执行顺序:
1.
from
:指定数据来源表
2.
where
:
对查询数据做第一次过滤
3.
group by
: 分组
4.
having
:
对分组后的数据第二次过滤
5.
select
:
查询各字段的值
6.
order by
:
排序
7.
limit
:
限定查询结果
事务的ACID:
Atomicity(
原子性
):
表示一个事务内的所有操作是一个整体,要么全部成功,要么全部失败
Consistency(
一致性
):
表示一个事务内有一个操作失败时,所有的更改过的数据都必须回滚到修改前状态
Isolation(
隔离性
):
并发性。多个事务之间相互独立,互不干扰。
Durability(
持久性
):
持久性事务完成之后,它对于系统的影响是永久性的。