跳转至

3. 表操作

表字段操作

  1. 语法: alter table 表名 ...;

  2. 添加字段(add)

    alter table 表名 add 字段名 数据类型;                默认放在最后  
    alter table 表名 add 字段名 数据类型 first;          默认添加到最前  
    alter table 表名 add 字段名 数据类型 after 字段名;    放在某个字段前  
    

  3. 删除字段(drop)

    alter table 表名 drop 字段名;  
    

  4. 修改字段数据类型(modify)
    alter table 表名 modify 字段名 新数据类型;  
    修改会受到表中已有数据的限制  
    
  5. 修改表名(rename)
    alter table 表名 rename 新表名;  
    
  6. 修改字段名(change)
    alter table 表名 change 原字段名 新字段名 数据类型;  
    
  7. 练习
    1. db2库中 创建表 stutab 字段有3;
        name, age, phnumber (bigint)
    
        create table stutab(name char, age int, phnumber bigint);
    
    2. 在表中第一列添加一个id 字段
        alter table stutab add id int(3) zerofill first;
    
    3.  phnumber 的数据类型改为 char(11)
        alter table stutab change phnumber phnumber char(11);
    
    4. 在表中最后一列添加一个字段 address
        alter table stutab add address varchar(20);
    5. 删除表中的age 字段
        alter table stutab drop age;
    

表记录的删除

  1. 删除表记录(delete)
    delete from 表名 where 条件;
    
  2. 注意 一定要加where条件, 不加条件全部删除

更改表记录

update 表名 set 字段1 = 1, 字段2 = 2, where 条件;

运算符操作

  1. 数值比较 && 字符比较 && 逻辑比较

    数值比较: = = > >= < <=  
    字符比较: = =  
    逻辑比较: and or  
    

  2. 范围内比较

    between 1 and 2  
    in(1, 2)  
    not in(1, 2)  
    

  3. 练习

    1. 查找攻击力高于150的英雄的名字和攻击力
        select name,gongji from sanguo
        where gongji > 150;
    
    2. 将赵云的攻击力设置为360, 防御力设置为88, 名字设置为赵子龙
        update sanguo set gongji=360,fangyu=88,name='赵子龙'
        where name = '赵云';
    
    3. 将吴国英雄中的攻击力值为110的英雄攻击值改为100,防御改为60
        update sanguo set gongji=100,fangyu=60
        where country='吴国' and gongji=110;
    
    4.查找蜀国和魏国的英雄信息
        select * from sanguo
        where country='蜀国' or country='魏国';
    
    5. 找出攻击力高于200的蜀国英雄的名字,攻击力值和国家
        select name,gongji,country from sanguo
        where gongji>200 and country='蜀国';
    
    6. 查找攻击值100-200之间的蜀国英雄的数据
        select * from sanguo
        where
        (gongji between 100 and 200) and country='蜀国';
    
    7. 查找蜀国和吴国以外的国家的女英雄的信息
        select * from sanguo
        where country not in ('蜀国', '吴国') and sex='女';
    
    8. 查找id为1, 3  5 的蜀国英雄和貂蝉的信息
        select * from sanguo
        where (id in (1, 3, 5) and country='蜀国') or name='貂蝉';
    

表字段和表记录的操作

                表字段(alter table 表名)             表记录()
                       add                       insert into 表名
                       drop                      delete from 表名 where
                       modify                    update 表名 set 字段= where
                       desc 表名                 select 字段 from 表名 where