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

一、增加

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

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

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

 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;

  

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

MySQL数据库增删改字段(属性)的更多相关文章

  1. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  2. MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句)一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)二.SQL语句:    数据定义语言DDL  用来定义数据库.表.列,关 ...

  3. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  4. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  5. Python实现mysql数据库增删改查

    利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增.删.改.查的简易封装!   1. 环境配置 安装第三方包  ,导入模块 mysql.connector  pip inst ...

  6. python2.7入门---操作mysql数据库增删改查

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口.Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: G ...

  7. MySQL数据库增删改查等常用命令介绍

    MySQL可以说是最常用的小型数据库,加上现在越来越流行的分布式架构,哪怕是一般的中大型项目也可以用MySQL来进行部署. 数据库的操作最常用的就是增删改查,还有一些切换数据库等操作.以下命令不加说明 ...

  8. jsp-2 简单的servlet连接mysql数据库 增删改查

    连接mysql数据库的操作 有增删改查 用的包有 commons-lang3-3.5 mysql-connector-java-5.1.40-bin 但是实际上也就是 数据查询和数据处理两种 所以对数 ...

  9. 安卓版php服务器的mysql数据库增删改查简单案例

    界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

随机推荐

  1. BZOJ4557 JLOI2016侦察守卫(树形dp)

    下称放置守卫的点为监控点.设f[i][j]为i子树中深度最大的未被监视点与i的距离不超过j时的最小代价,g[i][j]为i子树中距离i最近的监控点与i的距离不超过j且i子树内点全部被监视时的最小代价. ...

  2. P3509 [POI2010]ZAB-Frog

    题目描述 On the bed of one particularly long and straight Byteotian brook there lie  rocks jutting above ...

  3. [洛谷P3865]【模板】ST表

    题目大意:区间静态最大值 题解:ST表,zkw线段树 ST表: st[i][j]存[i,i+$j^{2}$-1]的最大值,查询时把区间分成两个长度相同的小区间(可重复) #include<cst ...

  4. JavaScript十大经典排序算法

    排序算法说明 (1)排序的定义:对一序列对象根据某个关键字进行排序: 输入:n个数:a1,a2,a3,…,an输出:n个数的排列:a1’,a2’,a3’,…,an’,使得a1’ 再讲的形象点就是排排坐 ...

  5. 深入研究JavaScript的事件机制

    本篇开始将回顾下Javascript的事件机制.同时会从一个最小的函数开始写到最后一个具有完整功能的,强大的事件模块.为叙述方便将响应函数/回调函数/事件Listener/事件handler都称为事件 ...

  6. 如何用Ajax传一个数组数据

    PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便.但是还是有解决办法的,就是利用javascript做一下预处 理.多个同名复选框在javascript中还是以数组的 ...

  7. cookie中的path与domain属性详解

    1.domain表示的是cookie所在的域,默认为请求的地址,如网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net.而跨域访问,如域A为t1 ...

  8. 解决echarts中X轴文字过长的问题。【转】

    axisLabel: { interval: , formatter:function(value) { debugger var ret = "";//拼接加\n返回的类目项 ; ...

  9. shell脚本应用

    解析乱的日志文件到临时文件中,然后用awk  1004  cd /usr/local  1005  ll  1006  cd pttmsg/  1007  ll  1008  cd msgbin-2/ ...

  10. 洛谷P1346 电车

    P1346 电车 236通过 757提交 题目提供者yeszy 标签图论福建省历届夏令营 难度普及/提高- 提交该题 讨论 题解 记录 最新讨论 解不好啊,快疯了!!哪位大… 求解:为何除了-1的点之 ...