DDL(数据定义语言)
1.Oracle中常见的数据类型分类:(A)
1.number(x,y) 数字类型,x表示最大长度,y表示精度
对应java中除char外所有基本数据类型(byte、short、int、long、float、double、boolean)
2.varchar2(x) 可变字符串,x表示最大长度。对应java中String
3.char(x) 定长字符串,x表示最大长度。 对应java中String
4.long 长字符串,最大2G。对应java中String
5.Date,日期(年月日时分秒)对应java.sql.Date和java.sql.Time
6.TIMESTAMP 时间戳,精确到微秒 对应javal.sql.Timestamp
2.DDL的概念:(C)
数据定义语言DDL( Data definition language ):是SQL语言的一个分类,用于对数据库对象(表、视图、序列等)进行创建、修改、删除等操作。
通过以下几个关键字实现:
CREATE(新建)、 ALTER(修改) DROP(删除) RENAME(重命名) TRUNCATE(截断)
3.create关键字:(A)
3.1 作用:
用于创建数据库对象(表、视图、序列等)。
3.2 语法:
语法1:create table 表名(列1 数据类型, 列2 数据类型,...,列N 数据类型)
例:
--直接创建一张新的表
create table t_user (id number,username varchar2(30),password varchar2(30));
语法2:create table 表名 as 子查询
例:
--创建一个表查询结果的复制表
--因为where条件1=2始终不成立,所以只复制表结构
create table t_emp as (select * from emp where 1=2);
--如需复制整张表不写where子句即可
4.alter 关键字:(A)
4.1 作用:
用于修改数据库对象(表、视图、序列等)。
4.2 语法:
alter table 表名 [modify/add/drop] (列 数据类型)
modify:修改/add:增加/drop:删除
例:
--modif 一般用于修改列的数据类型或长度
alter table t_emp modify (ename varchar2(10)); --add 用于添加列
alter table t_emp add(phone varchar2(11)); --drop 用于删除列,因为删除不用管数据类型,所以不用指定数据类型
alter table t_emp drop(phone);
5.drop 关键字
5.1作用:
用来删除数据库的对象(表,视图,序列,索引等)
5.2语法:
drop table 表名
例:
drop table t_emp;
6.视图:(B)
6.1 概念:
视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本
身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用
的时候, 重新执行调用视图定义语句中的SQL语句。
6.2 作用:
将一些查询复杂的SQL语句变为视图,便于查询。
6.3 语法:
create [or replace] view v$_name
as 子查询
[with read only]
or replace:覆盖原有视图,一般不添加
with read only:只读,一般建议添加
6.4需要注意的点:
1.视图也可以从视图中产生
2.我们把用于产生视图的表称之为基表
3.我们对视图进行数据修改就是对基表进行数据修改,反之亦然
4.不能对多张表的数据,通过视图进行修改。
7.序列(B)
7.1 概念:
序列是oracle中专有的对象,它用来产生一个自动递增的数列。
7.2创建序列的语法:
create sequence 序列名
increment by n --每次递增n
start with m --从m开始
例:
--从1开始每次递增1
create sequence seq_emp_temp
increment by 1
start with 1
7.3 使用序列:
序列名.nextval :下一个值
序列名.currval : 当前值
例:
insert into emp_temp(empno) values(seq_emp_temp.nextval)
最新文章
- sublime2的快捷键
- Jquery 自定义弹窗等待
- Let’s encrypt 计划为网站提供免费的基本 SSL 证书,以加速互联网从 HTTP 向 HTTPS 过渡。
- DOM笔记整理及应用实例
- sql server手工注入
- Xml读取异常--Invalid byte 1 of 1-byte UTF-8 sequence
- 【高德地图API】从零开始学高德JS API(一)地图展现——仙剑地图,麻点图,街景,室内图
- python字符串常用内置方法
- 【一天一道LeetCode】#114. Flatten Binary Tree to Linked List
- @NotNull @NotEmpty @NotBlank区别
- 从零开始学安全(三十五)●mysql 盲注手工自定义python脚本
- 【托业】【怪兽】TEST04
- 封装一个通用的正则,不再为test和replace所烦恼,eval很棒~
- 论文笔记:Siamese Cascaded Region Proposal Networks for Real-Time Visual Tracking
- lightoj1214 大数取模模板
- typedef typename
- python标准库之secrets
- 塔式Server 服务器ESXI6.5安装
- [Umbraco] 入门教程(转)
- 异常处理简单例子--python
热门文章
- vue项目中解决type=”file“ change事件只执行一次的问题
- OC和Swift中的UITabBar和UINaviGationBar的适配 [UITabbar在IPad中的适配]
- Springboot+Atomikos+Jpa+Mysql实现JTA分布式事务
- System.nanoTime理解
- Linux kernel的中断子系统之(七):GIC代码分析
- React从入门到放弃之前奏(2):React简介
- python中用locust做简单的压力测试
- python获取操作系统平台、版本及架构
- scrapy顺序执行多个爬虫
- ASP.NET Core Identity Hands On(2)——注册、登录、Claim