文档章节

sql命令(四)-操作数据表中的记录

117
 117
发布于 2015/12/28 14:40
字数 757
阅读 51
收藏 1

create table users (   //实验所使用的表结构
id SMALLINT UNSIGNED PRIMARY key auto_increment,
username varchar(20) not null,
passwd varchar(20) not null,
agee TINYINT UNSIGNED not null DEFAULT 10,
sex boolean
);

1,insert使用

insert users VALUES(null,'tom','123',25,1);//id为自动标号,使用null/default 都可以让其自动增长(此写法可以省略列名,又可以让id自动增长)

insert users VALUES(default,'tom','123',default,1),(default,'tom','123',25,1);//同时插入两条记录

insert users set username='Bean',passwd='456';//插入一条记录username的值是Bean,passwd是456

2,update使用(更新记录)

UPDATE users set agee = agee + 5;//更新表中agee字段的所有记录。所有记录都加5

UPDATE users set agee = agee - id,sex = 0;//参照上面的注释

UPDATE users set agee = agee + 10 where id % 2 = 0;//id为偶数的agee字段都加10

3,delete使用(删除记录)

delete from 表 where 条件;

4,select 操作(查找语句

SELECT VERSION();//查看版本号

SELECT NOW();//查看当前系统时间

select 3+5;//计算表达式

select id,username from users;//从表中查询两列数据

SELECT id as userid,username as uname from users;//添加别名(查询出的表的字段以别名出现)


5,group by 查询结果分组(不同的值为一组) (ASC 升序,DESC 降序)

SELECT sex from users  GROUP BY sex;//得到sex字段值不同的表,相同的值只会出现一次

6,having 分组条件 ()

SELECT sex,agee from users  GROUP BY sex HAVING agee > 10;//得到sex字段值不同的表,相同的值只会出现一次,并且agee的值必须大于10

//COUNT(*)返回的是表中所有的记录数,而COUNT(expr)返回的是expr字段不为空的记录数。

SELECT sex from users  GROUP BY sex HAVING count(id)>=2;//词条语句的意思是:对sex进行分组,每个值为一组,每组的个数大于或等于2个的,则将对应的sex值显示出来。参考下面的例子


7,order by 的使用

SELECT * from users ORDER BY id DESC; //搜索表中的数据,以降序排列(显示又大到小)

SELECT * from users ORDER BY agee,id desc ;//优先以agee的值进行升序排列,如果有agee相同的值,则以对应的id进行降序排列

8,limit语句限制查询数量

SELECT * from users limit 2 ; //返回查询出的结果中前2条数据


SELECT * from users limit 3,2 ;//返回第四条开始的前2条(id为4和5的数据)数据(因为数据的是以0开始,所以3表示id为4的那条数据,2表示要查询的条数)

create table test(  //创建一张新表
id TINYINT UNSIGNED PRIMARY key auto_increment,
username varchar(20)
); 

insert test(username) SELECT username from users WHERE agee >= 30;//从表users中查询出agee大于等于30的数据,将username的值插入test(由于查询出的字段只有一个username ,但是表test有id和username,所以不能使用insert test SELECT username from users WHERE agee >= 30;,而是必须指定插入的字段


insert test1(username,agee) SELECT username ,agee from users WHERE agee >= 30;  //插入两个字段



© 著作权归作者所有

117

117

粉丝 11
博文 50
码字总数 41049
作品 0
福州
私信 提问
4、MySQL查询语句01

上一章内容介绍了关于MySQL数据类型组成及应用,本章将介绍MySQL中的一些查询语句一些常用的命令和使用实例 一、相关命令语法格式 1.1 添加字段 alter table tbname add 列类型 [not null| n...

CARYFLASH
2017/11/15
0
0
php数据库之mysql (where 、order By 、 Update)

一、如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。 WHERE 子句 如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。 语法 SELECT column FROM tableWHERE co...

wbf961127
2017/11/12
0
0
MySQL专题5之MySQL插入数据、查询数据以及WHERE子句、UPDATE查询和DELETE语句

1、MySQL插入数据 - 表中使用INSERT INTO SQL语句来插入数据。 - 你可以通过mysql>命令提示窗口中向数据表中插入数据。以下为MySQL数据表插入数据通用的INSERT INTO SQL语法: INSERT INTO ...

极客微信条
2017/11/16
0
0
sql删除多个字段重复数据有主键和没主键解决方法(mysql)

table user name age nub 张三 12 23 张三 12 23 张三 12 23 李四 13 21 李四 13 21 王五 11 25 查询重复记录(一条) sql:select from user group by name,age,nub having count()>1; (如需......

嗯嗯是哦
2014/03/10
0
0
一个完整的用于追踪数据改变的解决方案

在之前一篇介绍CDC的文章中,我说Audit Trail(或者Audit Log)是大部分企业级应用不可以或缺的功能。本篇给你一个完整的Audit Trail解决方案,不仅可以记录每一笔业务操作的信息(比如操作时...

长平狐
2012/09/04
65
0

没有更多内容

加载失败,请刷新页面

加载更多

C++的变量初始化

C++中变量的初始化有很多种方式,如:默认初始化,值初始化,直接初始化,拷贝初始化,列表初始化。 1、默认初始化:默认初始化是指定义变量时没有指定初值时进行的初始化操作。 如:int a;...

天王盖地虎626
29分钟前
0
0
MySQL-入门(一)

一、SQL的分类 DDL(Data Definition Language):数据定义语言,用来操作数据库对象:库、表、列等; DML(Data Manipulation Language):数据操作语言,用来增删改数据库中的数据; DCL(...

潜行-L
32分钟前
1
0
微服务架构在Kubernetes上的实现

我们讨论了最近的微服务趋势,以及伴随微服务架构可能出现的一些复杂问题。在接下来的几周内,我们将深入探讨这个问题。我们将探讨不同设计选择中固有的权衡,以及可以采取哪些措施来缓解这些...

别打我会飞
33分钟前
3
0
IDEA2018导入eclipse web项目

看别人的攻略:https://blog.csdn.net/qq_33229669/article/details/83751316 完成之后,出现了IDEA编译java报错:找不到符号_的解决方法错误, 然后百度出来是编码问题, 1.更改editor的文件编码...

流光韶逝
48分钟前
3
0
NIO 学习

比如 socket 通信, 服务的的 socket 对应的 线程会一直等待 client 端的 消息。 这就是bio的 阻塞 。而且在高并发下 很容易出现问题。 1, 非阻塞式IO模型、 2. 弹性伸缩能力强(服务的的接...

之渊
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部