MySQL数据库增删改字段(属性)
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个问题:
- MySQL默认运行在“ safe-update-mode ”中,如果update语句缺少了where子句来选择primary key值,或者where子句的判断条件不是用primary key值判断而是其他的字段的值,那么就会报错Error Code :1175
- 如果第一次插入,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数据库增删改字段(属性)的更多相关文章
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- MySQL数据库(增删改查语句)
MySQL数据库(增删改查语句)一.登录数据库:----> mysql -uroot -proot;(对应用户名和密码)二.SQL语句: 数据定义语言DDL 用来定义数据库.表.列,关 ...
- Asp.Net操作MySql数据库增删改查
Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git 1.安装MySQL数据库 ...
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...
- Python实现mysql数据库增删改查
利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增.删.改.查的简易封装! 1. 环境配置 安装第三方包 ,导入模块 mysql.connector pip inst ...
- python2.7入门---操作mysql数据库增删改查
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口.Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: G ...
- MySQL数据库增删改查等常用命令介绍
MySQL可以说是最常用的小型数据库,加上现在越来越流行的分布式架构,哪怕是一般的中大型项目也可以用MySQL来进行部署. 数据库的操作最常用的就是增删改查,还有一些切换数据库等操作.以下命令不加说明 ...
- jsp-2 简单的servlet连接mysql数据库 增删改查
连接mysql数据库的操作 有增删改查 用的包有 commons-lang3-3.5 mysql-connector-java-5.1.40-bin 但是实际上也就是 数据查询和数据处理两种 所以对数 ...
- 安卓版php服务器的mysql数据库增删改查简单案例
界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
随机推荐
- hdu 1285 确定比赛名次 (拓扑)
确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU 6208 The Dominator of Strings(AC自动机)
The Dominator of Strings Time Limit: 3000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java ...
- 【题解】HEOI2013Eden 的新背包问题
这题真的神奇了……蜜汁复杂度(`・ω・´) 应该是一个比较连贯的思维方式:去掉一个物品,那么我们转移的时候不考虑它就好了呗.考虑暴力:每一次都对剩余的n - 1个物品进行多重背包转移,获得答案.既然可 ...
- 洛谷P4589 [TJOI2018]智力竞赛 【floyd + 二分 + KM】
题目链接 洛谷P4589 题意可能不清,就是给出一个带权有向图,选出\(n + 1\)条链,问能否全部点覆盖,如果不能,问不能覆盖的点权最小值最大是多少 题解 如果要问全部覆盖,就是经典的可重点的DA ...
- 【ZJ选讲·钻石游戏】
N×M的棋盘(M,N<=500)中,每个格子有一个颜色(颜色数1~9) P次操作(P<=1000),每次给出两个相邻的位置(保证颜色不同,两个格子有一条公共边),把这两个格子交换. 定 ...
- [POI2008] Poc (原名 Trians) Treap+Hash
这个题和千山鸟飞绝体现出了一种用平衡树解决动态集合问题,主要套路就是蜜汁标记. 这个题我一开始用替罪羊树搞了一下对了28个点,后来我换成了Treap一搞对了14个点,再后来发现被卡了Hash我竟然在自 ...
- HDU 1394 Minimum Inversion Number(树状数组/归并排序实现
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- 常见通用的 JOIN 查询
SQL执行循序: 手写: SELECT DISTINCT <query_list> FROM <left_table> <join type> JOIN <r ...
- 用eval转化对象
var str = '{"name": "tom","age": 12,"sex": "man"}' ...
- 51nod K 汽油补给 大根堆+小根堆....
题目传送门 用优先队列瞎搞... 想着在每个地方 先算上一个点到这一个点要花费多少钱 这个用小根堆算就好 然后在这个地方加油 把油钱比自己多的替代掉 这个用大根堆维护一下 然后两个堆之间信息要保持互通 ...