【MySQL】查询操作(一)
前言:本节内容讲述基本查询, 基本查询要分为两篇文章进行讲解。 本篇文章主要讲解的是where子句、 order by、 limit查询。 如果想要学习对应知识的可以观看哦。
ps:本篇内容友友们只要会创建表了就可以看起来了哦!!!
目录
Create
单行插入
多行插入
duplicate
replace
查询
表达式查询
结构去重
比较运算符
逻辑运算符
where子句
结果排序
筛选分页结果
综合使用
Create
单行插入
首先认识一下插入:
insert into 表名称(列属性, 不添加默认为全列插入) values(数据)
这里我们创建一个学生表:
mysql> create table students( -> id int unsigned primary key auto_increment, -> sn int unsigned unique key, -> name varchar(20) not null, -> qq varchar(32) unique key -> );
然后我们插入:
insert into students values(1,11, '张三', '111111111');//如果这时候students后面不加括号, 就是默认的全列插入。 如果加上括号, 那么就是指定插入。
多行插入
多行插入就是插入数据的时候添加逗号, 多写几条数据。
insert into students values(2,12, '张三', '1111111111'), (3, 22, '李四','22222222');
duplicate
当我们插入的时候, 如果发生了冲突, 就不能进行插入。 并且如果加上duplicate key update就能在插入的时候对原数据进行更新:
replace
除了insert也可以进行替换, 替换就是如果没有对应的行就进行插入, 如果存在就进行替换:
如果replace一个没有插入过的数据就是一行被影响, 但是如果插入一个插入过的就是修改, 并且是显示两行被影响:
查询
查询中我们使用最多的就是select语句, 下面我们创建一个表:
CREATE TABLE exam_result ( id int unsigned NOT NULL AUTO_INCREMENT, name varchar(20) NOT NULL COMMENT '同学姓名', chinese float DEFAULT '0' COMMENT '语文成绩', math float DEFAULT '0' COMMENT '数学成绩', english float DEFAULT '0' COMMENT '英语成绩', PRIMARY KEY (id) )
然后向其中插入一些数据后得到:
下面我们讲一下如何查询, 首先最基本的查询就是:
select 列名(可以是*, 代表全部查询;也可以是多列, 中间用逗号隔开) from 表名;
这样就可以查询到上面的图中的信息。
表达式查询
select 可以查询表达式的值:
所以, 我们就可以对表结构里面的列进行表达式运算, 进而求值:
select name, math + chinese from exam_result;
select name, math + chinese as total from exam_result;
结构去重
我们查询的结果可以去重, 使用distinct:
select distinct 列名 from 表名;
比较运算符
在mysql中进行条件筛选的时候可能会用到一些运算符, 比如下面的比较运算符以及后面的逻辑运算符。 这些运算符有的和我们以前的语言语法一样,有的不一样:
>, >=, |