修改数据库表结构

时间:2021-10-13 07:47:03

准备一张Students表,表结构为:

  Students(SId,SName,SAge)

1.更改表中某一属性的类型

  alter table Students alter column SAge smallint

  alter table Students alter cloumn SName varchar(20)

----------------20120917---------------------

     PS:ORACLE就是个坑爹的货 ORACLE中 修改列属性的语法不同

     alter table tanleName modify(columnName columnType)

     这么写就对了

    PS+1:oracle中 拼接字符串请使用||

    如:update tableName columnName = columnName+addStr (这是在sqlServer中)

 oracle中 updata tableName = column || addStr

2.添加列

  alter table Students add SAdd varchar(50)//为Students表添加sadd(地址)属性,

3.null/not null (空/非空约束)

  只能在定义或添加列时定义

  alter table Students add SAdd varchar(50)  not null //缺省值是null

4.default(默认值约束)

  在添加列时定义默认值

  alter table Students add SAdd varchar(50) default '上海市'

  单独添加默认值

  alter table Students add constraint def default '上海市' for SAdd

5.unique(唯一约束)

  在添加列时定义唯一约束

  alter table StUdents add SIdCard int(18) constraint un unique //原表记录数据条数必须≤1

  单独添加唯一约束

  alter table Students add constraint un unique(SIdCard) //必须保证该属性在已有数据中是唯一的

 6.check(检查约束)

  在添加列是定义检查约束

  alter table Students add SSex int(1) constraint ck1 check(SSex = '0' or SSex = '1') //ck1为约束名

  单独添加检查约束

  alter table Students add constraint ck2 check(SAge > 0 and SAge < 100)

7.删除约束

  alter table Students drop ck1 

8.删除列

  alter table Students drop column SAdd //要删除列是必须先将该列的所有约束删除