前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle基础|什么是数据库操作语言|什么是DDL、DML、DCL

oracle基础|什么是数据库操作语言|什么是DDL、DML、DCL

作者头像
小小鱼儿小小林
发布2021-12-28 10:29:56
6180
发布2021-12-28 10:29:56
举报
文章被收录于专栏:灵儿的笔记灵儿的笔记

目录

一、什么是DDL、DML、DCL

二、DML详细介绍

1.insert语句

两种格式:直接插入和子查询插入

2.delete语句:

3.update 语句:


一、什么是DDL、DML、DCL

DDL:

数据定义语言:是SQL语言集中负责数据结构定义与数据库对象定义的语言,create alter drop

DCL:

数据控制语言:用来设置或者更改数据库用户或角色权限的语句,grant,deny,revoke

DML:

用户通过它可以实现对数据库的基本操作,可以对数据库作插,删,改,排,检等五种操作。

今天详细介绍一下DML语言,因为在实际使用过程中是用的最多的

二、DML详细介绍

数据操作语言:

insert update delete

事务控制语言:

commit rollback savepoint

1.insert语句

两种格式:直接插入和子查询插入

1. 直接插入基本语法:

代码语言:javascript
复制
insert into tb_name[(col_name,...)]
values(val1,....);

说明:

1.如果给每个列都插入数据,可以省略table后边的列,并且插入值的顺序和定义表的顺序一致

2.如果插入的顺序和表定义的顺序不同,或者只插入某几列的值table_name后边必须跟上列名

3.字符串和日期类型的值必须使用‘’引起来

4.insert语句一次只插入一条数据

5.插入的值可以使用系统函数,例如---user,sysdate

6.插入的值可以使用运行时参数。

例如:

代码语言:javascript
复制
create table test(
id number primary key,
name varchar2(10),
gender varchar2(2) check (gender in ('F','M')),
birthday date);

插入:

代码语言:javascript
复制
1.
insert into test(id,name) values  (3,'zs');
代码语言:javascript
复制
2.
insert into test(id,name,birthday) values
(1,'lisi','09-9月-10');
代码语言:javascript
复制
3. 
insert into test(id,name,birthday) values
(2,user,sysdate);
代码语言:javascript
复制
4. 
insert into test(id,name,birthday) values
(&id,'ss',sysdate);

2.使用子查询插入

代码语言:javascript
复制
insert into table_name[(col_name,....)]
select .......

说明:

1.不出现values关键字

2.插入的列的名字和子查询返回结果的列相匹配。

例如:

代码语言:javascript
复制
1. 
insert into test2
select * from test;
代码语言:javascript
复制
2. 
insert into test2(id,gender,name,birthday)
select id,gender,name,birthday from test;

2.delete语句:

语法:delete [from] tbl_name [where option...]

说明:

在加外键约束的时候,如果想在删除主表的记录的同时对外键表中已经存在的关联关系记录进行操作可以使用下面两个关键词:

on delete cascade:级联删除,删除主表记录,外键表的关联记录一块儿删除

on delete set null:删除主表记录,外键表的关联记录该列的值变成null

例如:

1.从test2表中删除id = 1

代码语言:javascript
复制
delete from test2 where id = 1;

2.级联删除

代码语言:javascript
复制
create table test3(
id number references test2(id) on delete cascade);

create table test3(
id number references test2(id) on delete set null);

3.update 语句:

语法:update table_name set column=value,[column=value]

[where condition...];

说明:

1.如果不加条件,默认修改表中所有的行。

例如:

1. update test set name = 'wangwu',gender='M' where id = 3; --只更改id=3的行。

2.update test set gender = 'F'; --所有行都改。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-12-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是DDL、DML、DCL
  • 二、DML详细介绍
    • 1.insert语句
      • 两种格式:直接插入和子查询插入
    • 2.delete语句:
      • 3.update 语句:
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档