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 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;
默认情况下,创建的视图和基本表的字段是一样的,也可以通过指定视图字段的名称来创建视图。
索引是作用在某一个数据表的列上的,不同的索引类型有不同的关键字,以普通索引为例。
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 TABLE `表名`
DROP VIEW `视图名称`
DROP INDEX `索引名称` ON `表名`
insert 将记录插入到数据库
update 修改数据库的记录
delete 删除数据库的记录
当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。
属于表里面的数据层面语言,对表里数据的操作。
select 查询表中的数据
用于操作数据库对象的权限
GRANT:分配权限给用户
revoke:废除数据库中某用户的权限