Bootstrap

MySQL(5)表的查询

目录

                1.表的查询


1.表的查询:

1.1创建表:

语法: create table 表名(

        字段 类型  约束,

        字段 类型  约束,

        ...

        字段 类型  约束

        );

 1.2 单行数据+全行插入:

🌰 表的字段都插入数据:

insert into student values(100, 1000, '唐三藏', null);

 1.3 多行数据 + 指定列插入:

🌰 插入多行数据, 但是是指定字段进行插入:

insert into students(id, sn, name) values(102, 1002, '曹孟德'); 

1.4 插入是否更新:

由于主键冲突或者唯一键冲突, 选择性进行同步更新的方式.

语法: insert into 表名(字段, 字段...) values(数据, 数据...) on duplicate key update 字段=数据, 字段=数据 ... ;

1.5 替换表数据:

语法: replace into b表名(字段,字段...) values(数据,数据...);

 1.6 全列查询和指定列查询:

全列查询:

        语法: select * from 表名;

⭐ 一般不建议全列查询, 如果数据很多, 查询效率就非常低下.

指定列查询:

        语法: select 字段 字段... from 表名;

⭐select查询的内容就是表达式, 可以是包含字段的也可以不包含.

(1) 查询结构指定别名:

(2) 结果去重:

关键字: distinct;

 1.7 where条件:

(1) 比较运算符:

(2)逻辑运算符:(分别相当于且或非)

         AND:                        OR:                 NOT:

(3)🌰 英语不及格的同学及英语成绩 ( < 60 )

select name,english from exam_result where english<60;

语文成绩在 [80, 90] 分的同学及语文成绩

数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩

姓孙的同学 及 孙某同学

%匹配多个字符 _匹配一个字符;

语文成绩好于英语成绩的同学

总分在 200 分以下的同学

where是无法使用重命名的字段进行查询.

语文成绩 > 80 并且不姓孙的同学

孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80

1.8 null的查询:

select null=null null=1 null=0;

1.9 结果排序:

语法: select 字段 from 表名 order by 字段 [desc/asc];

同学及数学成绩,按数学成绩升序显示:

同学及 qq 号,按 qq 号排序显示:

查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示:

查询同学及总分,由高到低:

order by支持重命名查找.

查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示:

1.10 筛选分页结果:

语法: select 字段 from 表名 order by 字段 m offset n;

表示从m页开始筛选n个数据.

1.11  update:

语法: update 表名 set 修改数据 where 字段属性;

将孙悟空同学的数学成绩变更为 80 分

将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分:

将总成绩倒数前三的 3 位同学的数学成绩加上 30 分:

将所有同学的语文成绩更新为原来的 2 倍:

 1.12 delete:

语法: delete from 表名 where 字段数据;

删除整张表:

语法: delete from 表名;

 1.13 截断表:

语法: truncate table 表名;

作用: 将表数据进行全部删除; 实际MySQL不会对数据进行处理, 不是真正的事物所以没有回滚.而且会重置auto_increment的值.

 1.14 插入查询结果:

语法:

🌰删除表中的的重复复记录,重复的数据只能有一份:

(1)先创建一张和原表一样的表;

(2) 将 duplicate_table 的去重数据插入到 no_duplicate_table:

(3) 重命名表:

 1.15 聚合函数:

🌰统计班级共有多少同学:

统计班级收集的q q号有多少?

统计本次考试的数学成绩分数个数:

统计数学成绩总分:

统计平均总分:

返回英语最高分:

返回 > 70 分以上的数学最低分:

1.16 group by子句:

载入oracle 9i的经典测试表(后台dd我)

如何显示每个部门的平均工资和最高工资:

显示每个部门的每种岗位的平均工资和最低工资:

显示平均工资低于2000的部门和它的平均工资:

后言: 球球三联, 博主这两天肝肝肝上火啦!!!蟹蟹!!!

;