zoukankan      html  css  js  c++  java
  • MySQL数据库增删改字段(属性)

    MySQL数据库的各种操作今天在这里总结一下:

    一、增加

    1.在已有的表中添加新的字段:

    首先是增加表的字段,比如一张表原本没有字段“ Time ”,现在我们要增加这样一个字段,可以用下面的SQL语句实现:

    alter table +table的名字+ add + 字段名字 + 数据类型+分号,以下SQL在表testTable中插入了2个字段,font和age

    1 alter table testTable add font varchar(20) , add age int ;

    结果如下图

    2.将表A中的项,复制到表B中去

    insert into newxiaomi select * from xiaomi where No>0 and (src='XiaomiCo_4e:e5:79' or src='XiaomiCo_dc:9c:06 (74:51:ba:dc:9c:06) (TA)');
    

      

     这里使用了等号'=',将特定的项的所有列(select * )从 xiaomi 表插入到了 newxiaomi

     二、修改

    1.在已有的表中修改目标字段的值:

    对于已经加入的数据记录而言,这样一个字段是没有填入值得,那么我们需要用如下语句填写值:

     update testTable set font='微软雅黑' ,age=2 where id = 1;

    这里我们需要注意2个问题:

    1. MySQL默认运行在“ safe-update-mode ”中,如果update语句缺少了where子句来选择primary key值或者where子句的判断条件不是用primary key值判断而是其他的字段的值,那么就会报错Error Code :1175
    2. 如果第一次插入,key的字段为NUll时,需要 手动加入第一条记录,否则不论是否用is null  判断为空,都不会update成功,但是MySQL不会报错

    更新成功后如下图:

    2.修改字段的数据类型:

    有的时候我们需要修改数据库表中某个字段的数据类型,这时候我们需要使用modify来完成,这一操作只修改数据类型,而不会改变字段中原先的值

    示例如下 :

    alter table newdb2.dataset modify class varchar(20);
    

      

    注意,这里一定要保证修改后的类型能够使得原先的数据精度受损,否则会报错

    然后我们可以将上述语句和其他语句结合起来,例如,我们可以将类型修改后,在将值也进行修改,示例如下:

    alter table newdb2.dataset modify class varchar(20);
    
    update newdb2.dataset set class= 'phone' where id >0 and class='1';
    

     三、统计不同类别的数目

    例如,统计手机的每种颜色,各有多少个样本:

    select color,count(*) as cnt from tableName group by color order by cnt desc;
    

     我们选出了颜色,以及按照颜色,分组计算count的数量(order by color),将每组的计算结果保存到cnt中,并按照cnt递减的顺序显示color和cnt

    如果我们不需要知道颜色,只需要直到数量,那么将对color进行改动即可,如下:

    select count(*) as cnt from tableName group by color order by cnt desc;
    

     

    向另一张表中插入根据其他表得到的元素:

    例如,我有一张表,专门存放某个特定iphone的用户统计信息,现在我得到了所有品牌的设备的统计信息,我要从这张新表中抽取出关于那个特定iphone的记录,并插入别的表中,我可以这么做:

    首先:建立一张完全一样的表,第一个sql语句拷贝了表结构,

    第二句话将表中的src数据取出进行选择,这里的关键是where语句的用法:

    create table iphone_validate_1 like iphone_train_1;
    
    select src,count(src) as a from validate where src=(select src as s1 from iphone_train_1 group by src) group by src;
    

      

    转载请注明出处:仰望大牛的小清新

  • 相关阅读:
    Liunx安装MQTT服务器
    ORACLE 把一个用户的权限给与另一个用户
    liunx 后台运行python代码
    ORACLE APEX 交互式网格动态操作
    oracle 创建表字段
    oracle 触发器
    ORACLE 程序包
    ORACLE 游标基本使用
    oracle 不等于 查询列中含有null
    liunx安装oracle 客户端
  • 原文地址:https://www.cnblogs.com/luruiyuan/p/5714800.html
Copyright © 2011-2022 走看看