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)

MySQL学习二、表的增删改查_第1张图片

MySQL学习二、表的增删改查_第2张图片

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;

分页查询

修改

update 表名 set ...

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

删除

delete from 表名 ...

delete from exam_result where name = '小明';

你可能感兴趣的:(MySQL,mysql)