MySQL中的SQL语言
从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类。
1. DDL(Data Definition Language)
数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 ;
CREATE---创建表
ALTER---修改表
DROP---删除表
2. DML(Data Manipulation Language)
数据操纵语言,SQL中处理数据等操作统称为数据操纵语言 ;
INSERT---数据的插入
DELETE---数据的删除
UPDATE---数据的修改
SELECT---数据的查询
3. DCL(Data Control Language)
数据控制语言,用来授予或回收访问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等;
GRANT--- 授权。
ROLLBACK---回滚。
COMMIT--- 提交。
4. 提交数据有三种类型:显式提交、隐式提交及自动提交。
下面分 别说明这三种类型。
(1) 显式提交
用 COMMIT 命令直接完成的提交为显式提交。
(2) 隐式提交
用 SQL 命令间接完成的提交为隐式提交。这些命令是:
ALTER FUNCTION, ALTER PROCEDURE, ALTER TABLE, BEGIN, CREATEDATABASE, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATETABLE, DROP DATABASE, DROP FUNCTION, DROP INDEX, DROP PROCEDURE,DROP TABLE, LOAD MASTER DATA, LOCK TABLES, RENAME TABLE, SETAUTOCOMMIT=1, START TRANSACTION, TRUNCATE TABLE, UNLOCK TABLES.
(3) 自动提交
若把 AUTOCOMMIT 设置为 ON ,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为: SQL>SET AUTOCOMMIT ON;
COMMIT / ROLLBACK这两个命令用的时候要小心。 COMMIT / ROLLBACK 都是用在执行DML语句(INSERT / DELETE / UPDATE / SELECT )之后的。DML语句,执行完之后,处理的数据,都会放在回滚段中(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚(ROLLBACK),当用户执行 COMMIT / ROLLBACK后,放在回滚段中的数据就会被删除。
(SELECT语句执行后,数据都存在共享池。提供给其他人查询相同的数据时,直接在共享池中提取,不用再去数据库中提取,提高了数据查询的速度。)
所有的 DML 语句都是要显式提交的,也就是说要在执行完DML语句之后,执行 COMMIT 。而其他的诸如 DDL语句的,都是隐式提交的。也就是说,在运行那些非 DML 语句后,数据库已经进行了隐式提交,例如 CREATETABLE,在运行脚本后,表已经建好了,并不在需要你再进行显式提交。
在提交事务(commit)之前可以用rollback回滚事务。
相关文章
- MySQL无法启动报 Error: could not open single-table tablespace file ./mysql/innodb_table_sta
- 为什么 MySQL 采用 B+ 树作为索引?
- 关于Mysql 查询所有表的实时记录用于对比2个MySQL 库的数据是否异步
- mysql远程连接 Host * is not allowed to connect to this MySQL server
- [小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型
- 给linux用户的11个高级MySQL数据库面试问题和答案
- MySQL DBA 面试全揭秘
- 去IOE 遇到Jdbc mysql sql_mode的坑[转载]
- mySQL windows 服务
- MySQL监控
- MySQL八股文背诵版
- Sharding-JDBC搭建MySQL读写分离
- 【MySQL进阶-02】mysql的explain执行计划以及索引优化
- MySQL mysqldump备份数据库及恢复数据库(mysql命令)
- MySQL创建用户(3种方式)
- 【数据库】Mysql表字段转Java实体(sql语句)
- 修改MySQL中字段的类型和长度
- MySQL基本语法(一):和SQL Server语法的差异小归纳
- Mysql 当前月每天累计统计,Mysql 本月第一天
- sql语言实践之自学SQL网(SQL Lesson8,9)
- MySQL基础之 排序与限制,聚合
- MySql的sql_mode
- PowerDesigner 逆向工程Non SQL Error : Could not load class com.mysql.jdbc.Driver
- MySQL存储过程实现动态执行SQL
- mysql—MySQL数据库中10位时间戳转换为标准时间后,如何对标准时间进行加减X天处理
- Mysql学习---SQL语言的四大分类
- (2.12)Mysql之SQL基础——存储过程条件定义与错误处理
- (2.9)Mysql之SQL基础——索引的查看与删除
- Oracle与Sql server 在SQL上的不同
- 【MySQL】练习三 SQL语言
- 【MySQL】Mybatis-Plus解决多数据源无法输出SQL语句的问题
- sql-如何提高SQL查询的效率?
- MySQL 查询数据库中的所有表 生成每张表对应的SQL查询语句
- Linux安装Mysql server镜像安装失败 警告:mysql-community-devel-8.0.31-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature