1. DDL语句

SQL语句:结构化查询语句,使用SQL与数据库“沟通”,完成相应的数据库操作。

l DDL:数据定义语言,用来维护数据库对象

1.1 创建表

Ø CREATE:创建表

演示:创建员工表

CREATE TABLE employee(

id NUMBER(4),

name VARCHAR2(20),

gender CHAR(1),

birth DATE,

salary NUMBER(6,2),

job VARCHAR2(30),

deptno NUMBER(2)

);

Ø DESC:查看表的数据结构

演示:查看创建的员工表

DESC employee;

Ø DEFAULT:设置默认值

可以通过DEFAULT子句给列指定默认值

演示:建表时给gender默认值为”M”

CREATE TABLE emptest(

id NUMBER(4),

name VARCHAR2(20),

gender CHAR(1) DEFAULT 'M',

birth DATE

);

Ø NOT NULL:非空

默认情况下,任何列都允许有空值。非空(NOT NULL)是一种条件约束,用于确保字段值不为空,当某个字段被设置了非空约束条件,这个字段中必须存在有效值,即:当执行插入数据操作时,必须提供这个列的数据;当执行更新操作时,不能给这个列的值设置为NULL。

演示:创建员工表设置那么为非空字段

CREATE TABLE emptest(

id NUMBER(4) ,

name VARCHAR2(20) NOT NULL,

gender CHAR(1) DEFAULT 'M',

birth DATE

);

1.2 修改表

Ø RENAME:修改表名

演示:修改表名

RENAME emptest to testemp;

Ø ALTER TABLE的ADD子句

增加列,列只能增加在最后,不能插入现有的列中。

演示:在testemp表下面增加hiredate列,并将默认值设置为当前时间

ALTER TABLE testemp ADD(hiredate DATE DEFAULT sysdate);

Ø ALTER TABLE的DROP子句

删除列,删除字段需要从每行中删掉该字段占据的长度和数据,并释放在数据块中占据的空间,如果表记录比较大,删除字段可能需要比较长的时间。

演示:删除testemp表下的hiredate

ALTER TABLE testemp DROP (hiredate);

Ø DROP删除表

DROP TABLE emptest;

Ø ALTER TABLE的MODIFY子句

修改列,使用MODIFY可以改变表中列的数据类型、长度和默认值,注意这种修改仅对以后插入的数据有效。另外如果表中已经有数据的情况下,把长度由大改小,有可能不成功,比如原来类型是VARCHAR2(100),其中已经存放了100字节长度的数据,如果改为80字节,则不会修改成功。

演示:修改testemp表中name的长度为30

ALTER TABLE testemp MODIFY(name VARCHAR2(30));

2. DML语句

l 用于增删改表中数据,DML是伴随TCL事务控制的。

Ø INSERT

INSERT语句用来给数据表增加记录,每次增加一条记录。所有的DML操作,需要再执行事务提交语句COMMIT才算真正确认了此操作。

演示:想testemp中插入一条记录

INSERT INTO testemp (id,name,gender) VALUES (1,'张三','M');

COMMIT;

插入数据时忽略字段则是全列插入,顺序不能错误,如下:

INSERT INTO testemp VALUES (10,'李四','F',sysdate);

COMMIT;

Ø UPDATE

更新表中的记录,需要配合WHERE子句使用,否则全表的数据都会被更新。

演示:更新testemp表中张三的ID为2

UPDATE testemp SET id=2 WHERE name='张三';

COMMIT;

同时修改两个类型:

UPDATE testemp SET id=5,name='王五' WHERE name='李四';

COMMIT;

Ø DELETE

删除表中的记录,和UPDATE一样,需要配合WHERE子句使用,不然会将全表数据删除。

演示:将testemp表中id为2的记录删除

DELETE FROM testemp WHERE id=2;

清空表:

DELETE FROM testemp;

DDL与DML语句的更多相关文章

  1. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

  2. 关于Oracle处理DDL和DML语句的事务管理

    SQL主要程序设计语言 数据定义语言DDL(Data Definition Language) 如 create.alter.drop, 数据操作语言DML(Data Munipulation Lan ...

  3. 入门MySQL——DML语句篇

    前言:  在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了.本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作. 这里说明下DDL与DML语句的分类,可能有的同学还不太 ...

  4. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

  5. dml语句和ddl语句 区别

    delete from user删除所有记录,属于dml语句,一条记录一条记录删除.事务可以作用在dml语句上的 truncate table user;删除所有记录,属于ddl语句,将表删除,然后重 ...

  6. MySQL的DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  7. 第1 章 mysql数据库之简单的DDL和DML sql语句

    一.SQL 介绍 1.什么是sql? SQL,英文全称(Structured Query Language),中文是结构化查询语言,它是一种对关系数据库中数据进行定义和操作的语言方法,是大多数关系数据 ...

  8. jdbc java数据库连接 3)Statement接口之执行DDL、DML、DQL

    |- Statement接口: 用于执行静态的sql语句 |- int executeUpdate(String sql)  : 执行静态的更新sql语句(DDL,DML) |- ResultSet ...

  9. DDL、DML、DCL的理解

    1.DDL       1-1.DDL的概述                DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以 ...

随机推荐

  1. 理解linux服务器mcelog如何工作

    What are Machine Check Exceptions (or MCE)? A machine check exception is an error dedected by your s ...

  2. 【转】List<T>和ILIst<T>的区别

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace List ...

  3. python之02数据类型学习

    参考链接:http://www.cnblogs.com/yuanchenqi/articles/5782764.html python的数据类型有:Number.Boolean.String .Lis ...

  4. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) -- 样例(6)

    managed-schema 样例: <?xml version="1.0" encoding="UTF-8" ?> <!-- License ...

  5. ASP.NET控件之RegularExpressValidator控件

    作用:对Textbox或者其他输入框进行正则验证: 属性:ControlToValidate:要验证的控件: ErrorMessage:错误提示信息: ValidationExpression:正则表 ...

  6. .net core webapi框架

    折腾了一段时间..还是用ef比较熟,哈哈 参考地址:https://www.cnblogs.com/danvic712/p/10331976.html --jwt 参考地址:https://www.c ...

  7. 通过用axios发送请求,全局拦截请求,获取到错误弄明白promise对象

    axios.interceptors.response.use(function (response) { // 对响应数据做点什么 return response; }, function (err ...

  8. 原生Ajax实现

    发现一件可怕的事情,前端学不完了,春招要开始了.唉,人生苦短.

  9. Hadoop_配置Hadoop开发环境(Eclipse)

    通常我们可以用Eclipse作为Hadoop程序的开发平台. 1)  下载Eclipse 下载地址:http://www.eclipse.org/downloads/ 根据操作系统类型,选择合适的版本 ...

  10. Windows下搭建QT环境

    必须软件 qt-windows-opensource-5.1.1-msvc2010-x86-offline qt-vs-addin-1.2.2-opensource支持vs2008.2010.2012 ...