INSERT新增:语法格式如下
insert
into 表名([列名1,列名2,....])
values(常量1,常量2,...)
以下面的student为例进行说明
create table student(Sid int,Snumber int comment '学号',Sname varchar(20) comment '姓名',Seamil varchar(20) comment '邮箱'
);

例子
①:插入如下三行数据,一次只插入一行
insert into student values(1, 2012345, '张三', 'zhangsan123@qq.com');
insert into student values(2, 2012557, '李三', NULL);
insert into student values(3, 2012663, '王五', 'wangwu@163.com');

②:指定列插入,并且一次插入多行数据
insert
into student(Sid, Sname)
values
(4, '赵倩'),
(5, '孙莉');

SELECT查询:根据WHERE子句的条件表达式从FROM子句指定的表、视图中找出满足条件的元组,再按照SELECT子句中的目标列表达式选出元组中的属性值形成结果表。如果有:

以下面的exam为例进行说明
create table exam(Sid, int,Sname varchar(20),Chinese decimal(3, 1),Math decimal(3, 1),English decimal(3, 1)
);insert into
exam
values
(1, '唐三藏', 67, 98, 56),
(2, '孙悟空', 87.5, 78, 77),
(3, '猪八戒', 88, 98.5, 90),
(4, '曹操', 82, 84, 67),
(5, '刘备', 55.5, 86, 45),
(5, '孙权', 70, 73, 78.5),
(5, '宋江', 75, 65, 30);

全列查询:语法格式如下
*进行查询,因为查询的列越多,传输的数据量就越大select * from 表名;
例子
select * from exam;

全列查询:语法格式如下
select 列名1, 列名2, .. from 表名;
例子
select Sname, English from exam;

查询字段为表达式:在查询时列可以参与运算
例子
select Sname, English from exam;

起别名:可以为查询结果起一个通俗易懂的名字,别名放在对应列名(表名、表达式也可以)之后即可
例子
select Sname 姓名, English + Math + Chinese 总成绩 from exam;

去重(DISTINCT):在列名前面加入distinct会把重复的记录合并为一个显示
例子
select distinct Math from exam;

排序(ORDER BY):使用order by可以按照指定列进行排序
asc(默认):升序desc:降序null数据在任何情况下被视为最小值例子
①:对所有数据按照Chinese升序排序
select * from exam order by Chinese;

②:对所有数据按照Engilish降序排序
select * from exam order by English desc;

③:对多个列进行排序,写在前面的列的权重要高于后面的列,也即主要关键字和次要关键字之分。如下对所有数据依次按照Math降序、English升序、Chinese升序排序。也即在保证Math降序的前提下再对English升序,最后对Chinese升序
select Sname, Math, English, Chinese from exam order by Math desc, English, Chinese;

条件查询(WHERE):查询时where后面可以跟上查询条件,select会根据where后面的内容来判断,查询条件主要包括
比较运算(特别注意这个=)

逻辑运算

例子
①:查询英语成绩低于60分的同学
select Sname from exam where English < 60;

②:查询语文成绩高于英语成绩的同学
select Sname from exam where Chinese > English;

③:查询总分低于200分的同学
select Sname, Chinese+Math+English from exam where Chinese+Math+English < 200;

AND优先级要高于OR例子
①:查询语文成绩大于80且英语成绩大于80的同学
select Sname, Chinese, English from exam where Chinese > 80 and English > 80;

②:查询语文成绩大于80或英语成绩大于80的同学
select Sname, Chinese, English from exam where Chinese > 80 or English > 80;

例子
①:查询语文成绩在[80, 90]的同学
select Sname, Chinese from exam where Chinese between 80 and 90;

②:between and等价于and
select Sname, Chinese from exam where Chinese >= 80 and Chinese <= 90;

例子
①:查询数学成绩是58或59或98或99的同学
select Sname, Math from exam where Math in (58, 59, 98, 99);

②:in 等价于 or
select Sname, Math from exam where Math = 50 or Math=59 or Math=98 or Math=99;

例子
①:%可以匹配任意多个字符(包括0个)
select Sname from exam where Sname like '孙%';

②:匹配严格的一个任意字符
select Sname from exam where Sname like '孙_';

例子
select Sname from student where Sname is not null;
select Sname from student where Sname is null;
其语法格式如下,表达的意思是从s开始,筛选n条结果
select ... from table limit n offset s;
例子
select * from exam limit 3 offset 4;

语法:格式如下,其功能是修改指定表中满足WHERE子句条件的元组

例子
①:将指定同学的数学成绩变更为80分
update exam set Math = 80 where Sname like '孙悟空';

②:将指定同学的数学、语文成绩分别变更为60分、70分
update exam set Chinese = 70, Math = 60 where Sname like '宋江';

③:将总成绩倒数前三的3位同学的数学成绩加上1分
update exam set Math = Math + 1 order by Chinese+Math+English limit 3;

语法:格式如下,其功能是从指定表中删除满足WHERE子句条件的所有元组,注意
DELETE删除的是表的数据,而不是表的定义WHERE子句,那么就表示删除全部元组
例子
delete from exam where Sname = '孙悟空';
