数据库中DDL、DML、DQL、DCL的概念

数据库中DDL、DML、DQL、DCL的概念

  • DDL(Data Definition Language 数据定义语言)
    • CREATE
      • 创建数据表
      • 创建视图
      • 创建索引
    • DROP
      • 删除数据表
      • 删除视图
      • 删除索引
  • DML(Data Manipulation Language 数据操控语言)
  • DQL(Data Query Language 数据查询语言 )
  • DCL(Data Control Language 数据控制语句)

DDL(Data Definition Language 数据定义语言)

DDL主要用来定义表或者改变表结构,数据类型,表之间的链接和约束等初始化工作。
DDL用于操作对象和对象的属性,对象包括数据库本身以及数据库对象:表,视图等等。
DDL不会对数据内容进行操作。

create table 创建表
alter table 修改表
drop table 删除表
truncate table 删除表中所有行
create index 创建索引
drop index 删除索引

当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。
DDL是属于表的结构层面的语言,对表结构的操作。不会对数据内容进行操作。

CREATE

CREATE可用于创建数据库对象,结合相应的关键字使用。

创建数据表

创建数据表时主要需要声明:数据表名称、数据列名、数据列的类型。

CREATE TABLE `表名` (
    `列名` 列的类型,
    ...
    `列名` 列的类型
)

------实战演练------

CREATE TABLE students_info (
	studentId INT,
	studentName VARCHAR (255),
	studentSex VARCHAR (255),
	address VARCHAR (255),
	city VARCHAR (255)
);

创建视图

创建视图时,需要指定视图名称,并且需要指定查询语句

CREATE VIEW `视图名称` AS 查询语句

-----实战演练----

CREATE VIEW view_students_info AS SELECT * FROM tb_students_info;

默认情况下,创建的视图和基本表的字段是一样的,也可以通过指定视图字段的名称来创建视图。
数据库中DDL、DML、DQL、DCL的概念_第1张图片
数据库中DDL、DML、DQL、DCL的概念_第2张图片

创建索引

索引是作用在某一个数据表的列上的,不同的索引类型有不同的关键字,以普通索引为例。

CREATE INDEX `索引名称` ON 表名(列名,...)

—实战演练----

CREATE INDEX studentId_idx ON students_info (studentId);

默认情况下,索引将允许重复的条目并按升序对条目进行排序。
要要求唯一索引条目,请在CREATE之后添加关键字UNIQUE

CREATE UNIQUE INDEX studentId_idx ON students_info (studentId);

在MySQL中,您可以查看特定表上的可用索引

SHOW INDEXES FROM customers \G

用\G代替分号(;)终止SQL语句。 如果结果对于当前窗口而言太宽,则垂直显示结果而不是常规表格格式。

DROP

使用DROP删除时会直接删除数据库对象的结构。

删除数据表

删除数据表时,会连同删除已存储的数据。

DROP TABLE `表名`

删除视图

DROP VIEW `视图名称`

删除索引

DROP INDEX `索引名称` ON `表名`

DML(Data Manipulation Language 数据操控语言)

insert 将记录插入到数据库
update 修改数据库的记录
delete 删除数据库的记录

当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。

属于表里面的数据层面语言,对表里数据的操作。

DQL(Data Query Language 数据查询语言 )

select 查询表中的数据

DCL(Data Control Language 数据控制语句)

用于操作数据库对象的权限

GRANT:分配权限给用户
revoke:废除数据库中某用户的权限

你可能感兴趣的:(mysql,数据库,oracle,sql)