一文带你拿下MySQL之增删查改(基础)(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 一文带你拿下MySQL之增删查改(基础)


前言


  • CRUD : Create, RetrieveUpdateDelete
  • 新增数据
  • 查询数据
  • 修改数据
  • 删除数据


一、新增数据


首先我们创建一张学生表,为后续的新增数据做准备。


 create table student(
     id int, //身份证号
     sn int, //学号
     name varchar(20), //姓名
     qq_mail varchar(20)); //QQ邮箱



1.1 单行数据-全列插入


1.1.1 语法


insert into 表名 values (值,值,值...);//单行全列插入


1.1.2 案例代码


插入两条记录, value_list 数量必须和定义表的列的数量及顺序一致。


insert into student values (100,10000,'唐三藏',null);
 
insert into student values (101,10001,'孙悟空','1111');




1.2 单行数据-指定列插入


1.2.1 语法


insert into 表名 (列名,列名...) values (值,值,值...);//单行指定列插入


1.2.2 案例代码


-- 插入一条记录,value_list 数量必须和指定列数量及顺序一致


 insert into student (id,name) values (102,'猪悟能');



1.3 多行数据-指定列插入


1.3.1 语法


insert into 表名 (列名,列名...) values (值,值...),(值,值...);//多行全列插入


1.3.2 案例代码


-- 插入两条记录, value_list 数量必须和指定列数量及顺序一致


insert into student (id,sn,name) values
    -> (103,20002,'曹孟德'),
    -> (104,20003,'孙仲谋');


1.4 多行数据-全列插入


1.4 语法


insert into 表名 values (值,值...),(值,值...);//多行全列插入


1.4.2 案例代码


插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致。


insert into student values
     (105,20004,'关云长',null),
     (106,20005,'张飞',null),
     (107,20006,'武则天',null);



二、查询


创建考试成绩表如下:


create table exam_result (
     id int,
     name varchar(20),
     chinese decimal(3,1),
     math decimal(3,1),
     english decimal(3,1));




插入测试数据


insert into exam_result (id,name,chinese,math,english) values
     (1,'唐三藏',67,98,56),
     (2,'孙悟空',87.5,78,77),
     (3,'猪悟能',88,98.5,90),
     (4,'曹孟德',82,84,67),
     (5,'刘玄德',55.5,85,45),
     (6,'孙权',70,73,78.5),
     (7,'宋公明',75,65,30);



2.1 全列查询


2.1.1 语法


select * from 表名;


2.1.2 案例代码


查询考试成绩表的学生信息


select * from exam_result;



2.2 指定列查询


2.2.1 语法

select 列名,列名... from 表名


2.2.2 案例代码


指定列的顺序不需要按定义表的顺序来,查询学生的姓名,id以及英语成绩


select name,id,english from exam_result;




2.3 查询字段为表达式


查询学生的英语成绩加10分后的学生id和姓名


select id,name, english+10 from exam_result;




查询学生的总成绩以及学生信息


select id, name, chinese + math + english from exam_result;



为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称


查询学生的总成绩以及学生信息


select id, name, chinese + math + english as total from exam_result;



使用DISTINCT关键字对某列数据进行去重


在创建的考试成绩表,可以利用关键字DISTINCT去除:(此表不重复,但不影响测试)


select distinct math from exam_result;



三、排序 ORDER BY


3.1 语法


select 列名,列名... from 表名 order by 列名 排序方式;
//排序方式默认为升序ASC
//降序为DES


3.2 案例代码


查询学生的英语成绩排名以及学生姓名


select name, english from exam_result order by english;



注意事项:


  • 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
  • NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面


也可以对多个字段进行排序,例如:


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



 select name,math,english,chinese from exam_result 
 order by math desc, english, chinese;



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL 关系型数据库 MySQL
MySQL基本操作——增删查改
MySQL基本操作——增删查改
11 2
|
3天前
|
NoSQL 关系型数据库 MySQL
【MySQL探索之旅】MySQL数据表的增删查改——约束
【MySQL探索之旅】MySQL数据表的增删查改——约束
|
3天前
|
关系型数据库 MySQL
一文带你拿下MySQL之增删查改(基础)(下)
一文带你拿下MySQL之增删查改(基础)
|
7月前
|
SQL 安全 关系型数据库
MySQL数据库中的增删查改(MySQL最核心,工作中最常用的部分)
MySQL数据库中的增删查改(MySQL最核心,工作中最常用的部分)
167 0
|
3天前
|
关系型数据库 MySQL 数据处理
『 MySQL数据库 』表的增删查改(CRUD)之表的数据插入及基本查询(下)
『 MySQL数据库 』表的增删查改(CRUD)之表的数据插入及基本查询(下)
|
3天前
|
关系型数据库 MySQL 数据库
『 MySQL数据库 』表的增删查改(CRUD)之表的数据插入及基本查询(上)
『 MySQL数据库 』表的增删查改(CRUD)之表的数据插入及基本查询(上)
|
5月前
|
安全 关系型数据库 MySQL
一文带你拿下MySQL之增删查改(基础)(下)
一文带你拿下MySQL之增删查改(基础)
38 0
|
5月前
|
关系型数据库 MySQL
一文带你拿下MySQL之增删查改(基础)(上)
一文带你拿下MySQL之增删查改(基础)
36 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL中表的增删查改(进阶),超详细!(下)
MySQL中表的增删查改(进阶),超详细!
40 0
|
6月前
|
存储 关系型数据库 MySQL
MySQL中表的增删查改(进阶),超详细!(上)
MySQL中表的增删查改(进阶),超详细!
26 0

推荐镜像

更多