www.6766.com详解SQL四种语言:DDL DML DCL TCL

DROP DATABASE test;// 删除test数据库

和率先个例子重复的就不提了。

2. DML – Data Manipulation Language

CREATE – to create objects in the database 在数据库创制对象

SET NAMES utf8;SET FOREIGN_KEY_CHECKS = 0; -- ------------------------------ Table structure for `city`-- ----------------------------DROP TABLE IF EXISTS `city`;CREATE TABLE `city` ( `id` int(11) NOT NULL DEFAULT '0' COMMENT '城市ID', `name` varchar(20) DEFAULT NULL COMMENT '名称', `state` varchar(20) DEFAULT NULL COMMENT '状态', `country` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1; SET FOREIGN_KEY_CHECKS = 1;

例:

SET TRANSACTION – 更动专门的学业选项

www.6766.com详解SQL四种语言:DDL DML DCL TCL。ALTE哈弗 – alters the structure of the database 改革数据库构造

GRANT – 为客户付与访谈权限

SAVEPOINT – 在作业中设置保存点,能够回滚到此地

CREATE DATABASE test; // 创建一个名为test的数据库

数据库操作语言:SQL中管理数据库中的数据

TRUNCATE – 截断表内容

还或者有其余素不相识的:

第 9 行:证明了一个保存点

第 24 行:设置了保存点

第 33 行:回滚事务到该保存点

CALL – 调用一个PL/SQL或Java子程序

事情调控语言

其关键命令有INSERT,UPDATE,DELETE等,那么些事例大家常用就比较小器晚成一介绍了。该语言必要commit。还恐怕有常用的
LOCK TABLE。

例:

事例:Java中JDBC封装了对作业的支撑。比方大家第后生可畏新建二个表:test

COMMIT – 保存已到位的行事

终极来张图总计:

REVOKE – 撤回授权权限

下边包车型客车代码涉及到的是 TCL语言中的 SAVEPOINT

盼望本文对大家学习sql有所援救。

1. DDL – Data Definition Language

/** * 描述:JDBC数据库事务回滚 * * Created by bysocket on 16/6/6. */public class TransactionRollBack extends BaseJDBC { public static void main(String[] args) throws SQLException { Connection conn = null; try { // 加载数据库驱动 Class.forName(DRIVER); // 数据库连接 conn = DriverManager.getConnection(URL,USER,PWD); // 关闭自动提交的事务机制 conn.setAutoCommit(false); // 设置事务隔离级别 SERIALIZABLE conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); Statement stmt = conn.createStatement(); int rows = stmt.executeUpdate("INSERT INTO city VALUES (3,'china',1,'cc')"); rows = stmt.executeUpdate("UPDATE city set country = 'TAIWAN' WHERE id = 4"); // 提交事务 conn.commit(); } catch (Exception e) { e.printStackTrace(); // 回滚事务 if (conn != null) { conn.rollback(); } } finally { /** 关闭数据库连接 */ if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }}

COMMENT– 为数量辞典增添备注

JDBC事务回滚第二个例子 -JDBC数据库事务回滚:

第 19 行:设置了业务隔开分离等级为 SE梅赛德斯-AMGIALIZABLE 底层调用的是TCL语言的SET
TRANSACTION

第 23 行:实践不通过,未有主键为4的笔录,直接抛出极度

还也许有其余的:

数据库定义语言:定义数据库的架构。

EXPLAIN PLAN– 深入分析解析数据访谈路线

例:

3. DCL – Data Control Language

DROP – delete objects from the database 从数据库中删去对象

其根本命令有CREATE,ALTER,DROP等,上面用例子详细解释。该语言不要求commit,由此稳重。

看样子许四人讨论SQL还分为两种档案的次序,在这里边知识广泛一下,并总计下她们的界别吗。

ALTER TABLE test ADD birthday date; // 修改test表,新增date类型的birthday列

第 31 行:事务回滚,封装的正是 TCL 语句的ROLLBACK

/** * 描述:JDBC数据库事务回滚,回滚到特定的保存点 * * Created by bysocket on 16/6/6. */public class TransactionRollBack2 extends BaseJDBC { public static void main(String[] args) throws SQLException { Connection conn = null; Savepoint svpt = null; try { // 加载数据库驱动 Class.forName(DRIVER); // 数据库连接 conn = DriverManager.getConnection(URL,USER,PWD); // 关闭自动提交的事务机制 conn.setAutoCommit(false); // 设置事务隔离级别 SERIALIZABLE conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); Statement stmt = conn.createStatement(); int rows = stmt.executeUpdate("INSERT INTO city VALUES (3,'china',1,'cc')"); // 设置事务保存点 svpt = conn.setSavepoint(); rows = stmt.executeUpdate("UPDATE city set country = 'TAIWAN' WHERE id = 4"); // 提交事务 conn.commit(); } catch (Exception e) { e.printStackTrace(); // 回滚事务 if (conn != null) { conn.rollback(svpt); } } finally { /** 关闭数据库连接 */ if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }}

数据库调整语言:授权,剧中人物决定等

第 22 行:实践通过,插入数据

ROLLBACK– 回滚

JDBC事务回滚第3个例子-JDBC数据库事务回滚,回滚到一定的保存点:

test.sql

4. TCL – Transaction Control Language

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图