关系型数据库学习之--2.数据定义

数据定义包括模式定义,表定义,视图和索引定义。如下

创建 删除 修改
模式 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:表示限制删除,如果有下属对象或者关联对象则拒绝

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 有关联关系则拒绝删除

你可能感兴趣的:(数据库学习,数据库,sql)