数据定义包括模式定义,表定义,视图和索引定义。如下
创建 | 删除 | 修改 | |
---|---|---|---|
模式 | create schema | drop schema | |
表 | create table | drop table | alert table |
视图 | create view | drop view | |
索引 | create index | drop index | alert index |
1.模式定义和删除
(1)创建模式
create schema <模式名> authorization <用户名>;
如果没有创建模式,那么数据库会默认使用用户名创建一个以用户名为模式名的模式,然后在此基础上创建表
(2)删除模式
drop schema<模式名> <cascade | restrict>
cascade:表示级联删除
restrict:表示限制删除,如果有下属对象或者关联对象则拒绝
2.基本表的定义,删除,修改
2.1表的创建
create table <表名>(<列名><基本数据类型>[列级完整性约束条件],
<列名><基本数据类型>[列级完整性约束条件],
…
[<表级完整性约束条件>]);
例2.1: 创建一个学生表
create table student
(sno char(12) primary key , //列级完整性约束
sname char(20),
sex char(2),
sage int,
cno char(12)
foreign key (cno) renferences class(cno), //表级完整性约束
);
2.2数据类型
数据类型 | 含义 |
---|---|
Char(n) | 长度为n的定长字符串 |
Varchar(n) | 最大长度为n的变长字符串(变长:可以变化的长度) |
Clob | 字符串大对象(oracle特有),相当于Long,用于存储大内存的文字内容像文章之类,最大大小为4GB |
Blob | 二进制大对象,用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节,多用于存储图片,音乐,文件等 |
Int,integer | 长整数(4字节) |
Smallint | 短整数(2字节) |
Bigint | 大整数(8字节) |
Numeric(p,d) | 定点数,由p位数字(不包括符号,小数点)组成,小数点后面有d位数字 |
Decimal(p,d), dec(p,d) | 同Numeric(p,d) |
Real | 取决于机器精度的单精度浮点数 |
Double | 取决于机器精度的双精度浮点数 |
Float(n) | 可选精度的浮点数,精度至少为n位数字 |
Boolean | 逻辑布尔量 |
Date | 日期,包含年、月、日,格式为YYYY-MM-DD(应用传来的string数据只要可是正确也能转换接收) |
Time | 时间,包含时、分、秒,格式为HH:mm:SS(格式正确就能转换接收) |
Timestamp | 时间戳类型 |
Interval | 时间间类型 |
2.3修改基本表
alter table <表名>
[add [column]<新列名><数据类型>[完整性约束] //增加新列,新的列级完整性约束
[add<表级完整性约束>] //增加表级完整性约束
[drop [column]<列名>[cascade|restrict]] //删除表中的列,cascade:级联删除;restrict 有
关联关系则拒绝删除
[drop constraint<完整性约束名>[cascade]|[restrict]] //删除指定的完整性约束条件
[alter column<列名><数据类型>]; //修改列的原有定义
2.4删除基本表
drop table <表名> [cascade|restrict]
//删除表,cascade:级联删除;restrict 有关联关系则拒绝删除