db2 约束条件 添加字段 删除字段 创建索引 主键 primary key 外键创建与运用

一。约束条件  作用控制如何给字段赋值

NULL       |                  key      |     default   |    extra

是否允许赋null值      键值            默认值        额外设置

 null(允许为空)   not(不允许为空) key(索引类型)   default(设置默认值,缺省为null)

create    table   t7(name   char (15)   not    null,   (不允许为空)

 class       char(7)   default      "nsd1804",            (设置默认值缺省为null)

age     tinyint(2)   not    null   default     19,

sex    enum("boy","girl")  not  null    default   "boy");   (enum给定值中选择一个)set(给定值中选择一个或多个)

desc    t7;

 

insert   into    t7(name)values("bob");(定义name的值为bob)

insert  into    t7    values("bob2","nsd1803",21,"girl");   (表结构对应的值)

insert into     t7   values("null",null,22,"boy");  

insert  into    t7  values("jim",null,22,"boy");       

insert  into  t7  values("",null,31,"boy");(姓名为空字符也算一个值,)

select   *  from  t7;

 

 

create    table  t8(name char(15)  not  null  default  "",

class   char(7)   default   "nsd1804",

age     tinyint(2)   not  null  default  19,

sex   enum ("boy","girl")  not   null  default  "boy");

insert   into   t8(class,age,sex)values("nsd1802",45,"boy");

select  *  from  t8;

二,修改表结构 :对已经创建的表的结构做修改:

添加新字段    :格式用法:alter  table   表名    add    字段名      类型(宽度)    约束条件;可加after字段名;或者first;

add

alter  table   db2.t8

add    email   varchar(50)  default   "student@tedu.cn",

add   qq      char(11);

desc   t8;

select     *   from   t8;

可加after字段名(在指定字段后面);或者first;(在所有字段前面)

alter  table   db2.t8

add   stu_num   char(9)   first,  (表结构在所有字段最前面)

add   likes    set("eat","sleeps","game","film")  after   sex;    (字段likes在指定字段sex后面)

删除已有字段:alter    table   db2.t8    drop    email; 

删除多个:alter  table   db2.t8   drop   email,   drop   qq;

desc   t8;

select   *  from   t8;

   修改已有字段类型 :       格式:alter   table   表名    modify   字段名    l类型(宽度)   约束条件;     可加可加after字段名;或者first;

modify

*修改字段类型时,若新的类型与字段已经存储数据冲突,不允许修改。

不修改的部分要原样写一遍,否则alter   table  t8  modify   stu_num   varchar(9);就是还原。

alter   table  t8  modify   stu_num   varchar(9);(不修改的写一遍)

alter    table   t8  modify

sex   enum('boy','girl',"no")  not  null   default   "boy";(修改性别为boy)

desc  t8;

(改变位置)

alter   table   t8    modify    sex   enum('boy','girl',"no")   not   null   default   "boy"  after  name;(sex性别默认值为boy,在表结构字段name后面)

select   *    from   t8;

    修改字段名    :   格式:alter   table    表名  change    源字段名    新字段名    类型(宽度)   约束条件;

change

   alter   table   t8   change   stu_num   stu_id   varchar(9);(把字段stu_num  改名为stu_id)

select  *   from    t8;

修改表 : 格式;alter  table  表名   rename  新表名;

rename  

alter    table   t8   rename  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值