一.表操作
MySQL的操作中,一些专用的词无论是大写还是小写都是可以通过的。
1.插入数据
NSERT [INTO] table_name (列名称...) VALUES (列数据...), (列数据...);
"[]"表示可有可无,插入时,如果不指定要插入的列,则表示默认全部列都要插入数据,插入数据的顺序必须和列的顺序一致。
如果插入单行数据,则只需一个"()",如果想要多行插入,则可以同时追加多个"()"。
2.更新数据
此外,由于主键或者唯一键对应的值已经存在而导致插入失败,则可以更新数据:
INSERT INTO 表名称 (列名称...) VALUES (列数据...) ON DUPLICATE KEY UPDATE 列名称=新数据...;
除这条语句之外,还有一条语句,名为替换,也可以解决主键或唯一键冲突问题:
REPLACE INTO 表名称 (列名称...) VALUES (列数据...);
如果没有发生冲突,就相当于直接插入,如果发生冲突,则删除原有数据,重新插入新数据。
二.查询
1.查找数据
(1)整体查找
全列查询
select * from 表名称;
指定列查询
select 列名称... from 表名称;
查询字段表达式
select 列名称... 表达式 from 表名称;
表达式与字段有关:生成表达式为english + 10即将学生的英语成绩+10分的列并显示。
SELECT id, name, chinese + math + english FROM exam_result;
还有如上表达式,表示显示学生汉数英的成绩之和。
SELECT id, name, chinese + math + english 总分 FROM exam_result;
还可以给表达式指定别名,即在表达式后追加别名。
SELECT DISTINCT 字段 FROM 表名称;
通过DISTINCT,可以将查询结果去重。
(2)定向查找
上边的查找操作,都是对一整个列的数据进行查找,如果我们想要对列中的特定数据进行查找,则可以通过WHERE 条件。

where基本使用
select 字段... from 表名称 where 条件;
例如,查找一张成绩表中,英语不及格的学生名单:
SELECT name, english FROM exam_result WHERE english < 60;
多个条件可以通过逻辑运算符相互组合。
如果现在要查找一个同学,但是不记得他的全名,只记得他的姓为孙,该怎么找到他呢?
SELECT name FROM exam_result WHERE name LIKE '孙%';
SELECT name FROM exam_result WHERE name LIKE '孙_';
通过 "LIKE" 条件, 其中 '%' 表示该同学的名字可以是任意数量的字符,'_' 表示该同学的名字只有一个字。
值得注意的是,在MySQL中,null 、0、和空字符' ',三者互不相干,执行相关的查询时应注意。