DDL与DML语句
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语句的更多相关文章
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...
- 关于Oracle处理DDL和DML语句的事务管理
SQL主要程序设计语言 数据定义语言DDL(Data Definition Language) 如 create.alter.drop, 数据操作语言DML(Data Munipulation Lan ...
- 入门MySQL——DML语句篇
前言: 在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了.本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作. 这里说明下DDL与DML语句的分类,可能有的同学还不太 ...
- Mysql 数据库操作之DDL、DML、DQL语句操作
Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l Show databases 查看数据库列表信息 l 查看数据库中的数据表信息 ,格式: use 数据库名: sh ...
- dml语句和ddl语句 区别
delete from user删除所有记录,属于dml语句,一条记录一条记录删除.事务可以作用在dml语句上的 truncate table user;删除所有记录,属于ddl语句,将表删除,然后重 ...
- MySQL的DDL语句、DML语句与DCL语句
背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...
- 第1 章 mysql数据库之简单的DDL和DML sql语句
一.SQL 介绍 1.什么是sql? SQL,英文全称(Structured Query Language),中文是结构化查询语言,它是一种对关系数据库中数据进行定义和操作的语言方法,是大多数关系数据 ...
- jdbc java数据库连接 3)Statement接口之执行DDL、DML、DQL
|- Statement接口: 用于执行静态的sql语句 |- int executeUpdate(String sql) : 执行静态的更新sql语句(DDL,DML) |- ResultSet ...
- DDL、DML、DCL的理解
1.DDL 1-1.DDL的概述 DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以 ...
随机推荐
- 理解linux服务器mcelog如何工作
What are Machine Check Exceptions (or MCE)? A machine check exception is an error dedected by your s ...
- 【转】List<T>和ILIst<T>的区别
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace List ...
- python之02数据类型学习
参考链接:http://www.cnblogs.com/yuanchenqi/articles/5782764.html python的数据类型有:Number.Boolean.String .Lis ...
- Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) -- 样例(6)
managed-schema 样例: <?xml version="1.0" encoding="UTF-8" ?> <!-- License ...
- ASP.NET控件之RegularExpressValidator控件
作用:对Textbox或者其他输入框进行正则验证: 属性:ControlToValidate:要验证的控件: ErrorMessage:错误提示信息: ValidationExpression:正则表 ...
- .net core webapi框架
折腾了一段时间..还是用ef比较熟,哈哈 参考地址:https://www.cnblogs.com/danvic712/p/10331976.html --jwt 参考地址:https://www.c ...
- 通过用axios发送请求,全局拦截请求,获取到错误弄明白promise对象
axios.interceptors.response.use(function (response) { // 对响应数据做点什么 return response; }, function (err ...
- 原生Ajax实现
发现一件可怕的事情,前端学不完了,春招要开始了.唉,人生苦短.
- Hadoop_配置Hadoop开发环境(Eclipse)
通常我们可以用Eclipse作为Hadoop程序的开发平台. 1) 下载Eclipse 下载地址:http://www.eclipse.org/downloads/ 根据操作系统类型,选择合适的版本 ...
- Windows下搭建QT环境
必须软件 qt-windows-opensource-5.1.1-msvc2010-x86-offline qt-vs-addin-1.2.2-opensource支持vs2008.2010.2012 ...