MySQL——表操作及查询

一.表操作

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 条件。

MySQL——表操作及查询

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、和空字符' ',三者互不相干,执行相关的查询时应注意。

上一篇 统信系统Virtualbox启用USB设备支持的方法
下一篇 本地DNS如何解析公网域名