1.基础SQL语句,DDL、DML、DQL每一个部分的增删改查语句
1.DDL:
数据库层面:
增:
create database [if not exists] databaseName;
删:
DROP database [if exists] databaseName;
改:
use databaseName;
查:
show databases;
select database();注意这个方法
定义表:
增:
Create table tableName()
删:
DROP table tableName;
改:
ALTER table tableName add 字段 字段类型(长度)
ALTER table tableName modify 字段 新字段类型(长度);
ALTER table tableName change 旧字段 新字段 字段类型(长度);
ALTER table tableName DROP 字段名;
查
Show tables;
Desc tableName; 查看表结构
Show Create table tableName;
2.DML:
增:
insert into tableName () values();
删:
delete from tableName where;
改:
update tableName set 字段名=字段值 where;
查:
Select * from tableName;
3.DQL:
聚合函数 count sum avg() 对相关字段进行操作
分组查询 要是查询的值 group by ……having
排序 order by 字段名 desc降 asc升
分页查询 limit a,b 【a表示起始的条数,b表示每页展示的条数】
SQL语句的执行循序:先执行from后面的表名,确定sql查询的大范围,之后执行where后的添加筛选,之后进行分组的操作,分组之后执行having,对分组后的结果进行查询,然后执行select,获得需要的字段和字段值,进行排序和分组;
这些sql语句都是比较常用、基础的,需要多敲多练。
2.外键约束
为什么要使用外键约束,通过使用外键约束,可以保证数据库中添加外键字段和相关联字段数据的一致性和完整性。
我们一般将带有外键约束的表称为子表,与外键相关联的表是父表;
添加数据时,我们先在父表中添加数据,然后再在子表中添加数据。
对于更改和删除数据时,我们先更改、删除子表中的数据,然后再更改、删除父表中的数据。
我们无法对父表中的关联字段直接删除,如果想要删除,需要删除外键约束或子表中的约束字段。
当然,我们也可以更改这种数据更新和删除模式,Mysql为我们提供了以下几种方式:
No ACTION(RESTRICT)不允许直接和删除更新父表中的数据,这也是Mysql中默认的模式
CASCADE (串联、同步更改) 当父表中数据更改和删除数据时,会对子表中对应的数据进行删除和更改。
SET NULL 当在父表中删除对应记录时,如果存在外键,则将对应的外键值设置为null
SET DEFAULT 父表有变更时,子表将外键列设置成一个默认值(Innodb不支持)
3.事务的四大特性:
- 原子性:事务是最小的工作单元,不可再分;
- 隔离性:事务是具有隔离等级的,等级依次为:读未提交、读已提交、不可重复读、序列化,隔离等级越来越强。
- 一致性:一个事务中的SQL语句要么同时成功,要么同时失败,保证数据的安全性和一致性;
- 持久性:事务提交后,更改的数据永远存储在硬盘上