Oracle 创建表、修改表、约束

创建表:

基本语句:creat table 表名 (字段名  类型,字段名  类型,.......)

创建学生表:

create table student(
    snum number(10),
    sname varcahr2(100),--指定姓名的存储上限100字节
    sex char(4),
    sal number(6, 2),--指定工资的整数位为6,小数位为2
    mail varchar(50)
)

字段类型:

number类型:数字类型,用来声明存储数字的字段。 number(指定数字的整数长度,指定数字的小数位长度)

varchar2类型:字符类型,用来声明存储字符的字段。会根据存储的数据自动增长大小,varchar2(存储上限)
char类型:字符类型,用来声明存储字符的字符。会开辟指定大小的内存来存储数据。
                            区别1:char的存储效率高于varchar2
                            区别2:char是开辟指定大小的内存空间,varchar2是根据数据大小来开辟空间的大小
date类型:存储日期类型

修改表:

在命令窗口查看表结构 desc 表名
添加新字段  alter table 表名 add 字段名 类型
                    alter table student add phone number(11)
修改字段类型     alter table 表名 modify 字段名 类型
                         alter table  student modify sname varchar2(200)
 删除字段    alter table 表名 drop column 字段名
                         alter table student drop column phone
 修改表名 rename 表名 to 新的表名
                        rename student to stu
                        rename stu to student 
   删除表   drop table 表名
                  drop table student

约束:

create table student(
    snum number(10),--primary key,--使用主键约束
    sna varchar2(100), --not null,
    sex char(4), --default '男' check(sex='男' or sex='女') not null,
    age number check(age>0 and age<120),
    qq number, --unique,
    sal number(6,2),
    mail varchar2(50)
     -- constraints pk_student_snum primary key(snum)
     -- constraints ck_student_sna check(sna is not null)
    -- constraints ck_student_sex  check(sex ='男' or sex='女')
      --constraints uk_student_qq unique(qq)
)

alter table student add constraints pk_student_snum primary key(snum);--在创建表后添加主键
alter table student drop constraints pk_student_snum--删除主键

 alter table student modify sna varchar2(100) not null;--添加非空约束
 alter table student modify sna varchar2(100) null;--修改字段为空

  alter table student add constraints ck_student_sex check(sex='男' or sex='女')--添加检查约束
  alter table student drop constraints ck_student_sex --删除检查约束

  alter table student add constraints uk_student_qq unique(qq)
  alter  table student drop constraints uk_student_qq

 drop table student

主键约束:

1、在确定为主键的字段后添加 primary key关键字

2、在创建表的后面使用:constraints pk_表名_字段名 primary key(字段名);

3、在创建表后使用 alter table 表名 add constraints pk_表名_字段名 primary key(字段名);

非空约束:

1、创建表的时候在字段后面添加not null

2、在创建表字段后使用 constraints ck_表名_字段名 check(字段名 is not null)  了解

3、在创建表后使用alter table 表名 modify 字段名 类型 not null;

4、修改字段可以存储空值:alter table 表名 modify 字段名 类型 null;

检查约束:

1、创建表的时候在字段后使用 default 值 check(条件);但是会允许空值的出现,并且默认值只有在字段不声明的情况下生效

2、在创建表所有字段后使用:constraints ck_表名_字段名  check(条件);

3、在创建表后使用:alter table 表名 add constraints ck_表名_字段名 check(条件)

唯一约束:

1、在字段后直接使用unique关键字;

2、在所有字段后使用:constraints uk_表名_字段名 unique(字段名);

3、alter table 表名 add constraints uk_表名_字段名 unique(字段名);

删除唯一约束:alter table 表名 drop constraints uk_表名_字段名

外键约束:

1、在字段后使用 references 参照表表名(参照字段);

2、在所有字段后使用 constraints fk_表名_字段名 foreign key(字段名) references 参照表名(参照字段名);

3、在创建表后使用alter table 表名 add constraints fk_表名_字段名 foreign key(字段名) references 参照表名(参照字段名);

删除外键 alter table 表名 drop constraints fk_表名_字段名

序列

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值