1.DDL,DML,DQL,DCL的区别
(由于DCL是关乎用户的,以下内容重点讲述数据库,表与数据的操作,所以对DCL不详细赘述)
DDL | DML | DQL | DCL | |
中文/英文 | 数据库定义语言 data definition language | 数据库操作语言 data manipulation language | 数据库查询语言 data query language | 数据库控制语言 data control language |
用途 | 定义数据库对象:数据库,表,列等 | 对数据库中表的数据进行增删改 | 查询数据库中表的记录(数据) | 设置/更改数据库用户权限 |
方式,方法 | 查询创建删除使用 数据库,查删改 表与表列的结构 | 增删改表内数据 | 主查询信息 | GRANT (授权) REVOKE (取消权限) |
关于事务 | 一旦执行便无法回滚,因为它们会立即影响数据库的结构 | 可以通过事务进行控制(可回滚),允许用户在出错时撤销更改。 | 只读取数据,不改变数据库的状态,因此不需要事务控制 |
2.总思维导图
3.DDL,DML的基础语句
关于DQL查询具体放在下一篇文章讲述
上半部分是DDL修改表的一些内容,下半部分是DML删改查数据的内容。(仅仅只是用于对比SQL语句,因为当时我一直记不住)
其中DDL还有关于操作数据库的SQL语句:
1.查询
show databases;
2.创建
create database 数据库名称;
-- 为防止报错,可以判断其数据库是否存在
create database if exists 数据库名称;
3.删除
drop database 数据库名称;
-- 同样是为了防止删除未存在的数据库而报错,可以先判断是否存在
drop database if exists 数据库名称;
4.使用数据库
-- 查看当前使用的数据库
select database();
-- 使用数据库
use 数据库名称;
DDL关于表与数据的操作:
查询表
-- 查询当下数据库表名称
show tables;
-- 查询表结构
desc 表名称;
describe 表名; -- 同上(仅一缩写一全称)
show columns from 表名;
创建表(包含结构版)
create table 表名(
字段名1 数据类型1,
字段名2 数据类型2,
字段名3 数据类型3,
……
字段名n 数据类型n
);