MySQL学习二、表的增删改查

一、表中数据操作

1.向表中插入数据

单行数据+全列插入:

insert into 表名 values(...);

多行数据+指定列插入:

insert into 表名(指定列...) values (...), (...);

2.查询表中数据

全列查询:

select * from exam_result;

通常情况下不推荐使用 * 进行全列查询,因为查询的列越多,意味着需要传输的数据量越大,可能会影响到索引的使用。

指定列查询:

select id, nam, english from exam_result;

查询字段为表达式:

select id, name, english+10 from exam_result;

别名:

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

去重:

select distinct math from exam_result;

排序:

select name, english from exam_result order by english;//(若在最后加desc则为降序)

1.没有order by子句的查询时,返回的顺序是未定义的,不要依赖这个顺序。

2.NULL数据排序,视为比任何值都小。

select name, chinese + english as total from exam_result order by total desc;

3.使用表达式及别名排序。

select name, math, english, chinese from exam_result order by math desc, english, chinese;//查询同学的各门成绩,按数学降序,英语升序、语文升序的方式显示

指定列查询时,给我们生成的知识一个临时表,是临时表示,其根据服务器的数据生成,也就是说,所有的查询操作,都不会影响服务器磁盘上的数据。

条件查询(where)

1. WHERE条件可以使用表达式,但不能使用别名。

2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

范围查询

between...and...

select name, chinese from exam_result where chinese between 80 and 90;

in

select name, math from exam_result where math in (58, 59, 98, 99);

模糊查询

select name from exam_result where name like '孙%';

NULL的查询:

select name, mail from student where mail is not null;

分页查询

有时候数据太多,分成多个页进行显示。

select 列名 from 表名 limit N; 查询前N条记录

select 列名 from 表名 limit N offset M; 从第M条记录开始,找N条。

修改

update 表名 set ...

update exam_result set math = 90 where name = '小米';

删除

delete from 表名 ...

delete from exam_result where name = '小明';

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

列宁格勒的街头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值