数据库语言分类-DDL DCL DML DQL DTL 数据提交的三种类型-显示 隐式 自动

数据库语言分类

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

DQL(Data Query Language)

数据库查询语言,关键字为SELECT

SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]

特别说明下SELECT INTO 语句,MySQL不支持该语句。作用为:

  • 从一个表中选取数据,然后把数据插入另一个表中
SELECT *
INTO new_table_name [IN externaldatabase] 
FROM old_tablename
SELECT column_name(s)
INTO new_table_name [IN externaldatabase] 
FROM old_tablename
  • 用于创建表的备份复制或者用于对记录进程存档
    将Persons备份至Persons_backup
SELECT *
INTO Persons_backup
FROM Persons

在MySQL中可以用如下方法代替:

方法1:CREATE TABLE bk(SELECT * FROM USER);

方法2:INSERT INTO bk SELECT * FROM  user

DML(Data Manipulation Language)

数据操纵语言

  • INSERT
  • UPDATE
  • DELETE

DDL(Data Definition Language)

数据定义语言,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,索引,聚簇,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
DDL操作是隐性提交的!不能rollback

DCL(Data Control Language)

数据控制语言,DCL是用来设置或更改数据库用户或角色权限的语句

  • GRANT:授权
  • REVOKE:回收权限
  • CREATE USER:创建用户

TCL(TransactionControl Language)

事务控制用于,用来控制数据库事务,维护数据完整性

  • SET AUTOCOMMIT 设置是否开启事务
  • ROLLBACK 回滚
  • COMMIT 提交
  • SAVEPOINT 保存点,使当前的事务可以回退到指定的保存点,便于取消部分改变

数据提交的三种类型

数据库的插入、修改和删除操作时,只有当事务在提交到数据库是才算完成。提交数据有三种类型:显式提交、隐式提交及自动提交。

显式提交

AUTOCOMMIT设置为OFF,然后开启事务,当SQL执行完毕后,运行COMMIT命令将本次事务提交,此时数据库才会发送改变。

SQL>COMMIT;

隐式提交

用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

自动提交

AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交。AUTOCOMMIT的默认值为ON。

修改AUTOCOMMIT 的值:

SQL>SET AUTOCOMMIT ON;

你可能感兴趣的:(MySQL)