MySQL之DQL

SELECT 语法

SELECT [(ALL)|DISTINCT]
{*|table.*|[table.field1 [as alias1]],[table.field2[as alias2]],[..]}
FROM table_name [as table_alias]
[left|out|inner join table_name2] #联合查询
[WHERE ...]  #指定结果需满足的条件
[GROUP BY ...]  #指定结果按照哪几个字段来分组
[HAVING ...]  #过滤分组的记录必须满足的次要条件
[ORDER BY ...]  #指定查询记录按一个或者多个条件排序
[LIMIT { [offset,]row_count | row_count OFFSET offset }]
#指定查询的记录从哪条至哪条
[]代表可选的
{}代表必须的

 指定查询字段

  • 查询表中所有的数据列结果,采用 " * " 符号

 效率低,不推荐!

  • 可指定查询的结果数据列

       SELECT 表名【alias】.需要查询的列名 FROM 表名 【as.alias】,【】内可选。

 查询出的列取别名:

当多表之间存在依赖关系时,可以创建或者添加外键关联,生产测试不推荐使用外键关联! 

创建表时当作一个字段创建外键 :constraint 约束名 foreign key (XXX) references XXX主键所在的表名(XXX);

创建表后添加外键约束:

 删除外键:

   ​​​​​​

 更新字段信息:

update 表名 set 列名=赋值 where 

 DISTINCT关键字的使用:

作用:去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同),只返回一条

SELECT DISTINCT 字段名1,字段名2...  FROM 表名

 ALL关键字是默认的,返回所有的记录,与之相反!

 distinct * 用来除去重复行

 

 

使用表达式的列

表达式一般由文本值、列值、NULL、函数和操作符等组成

应用场景:

SELECT语句返回结果列中使用

SELECT语句的ORDER BY、HAVING等句子中使用

DML语句中的where条件语句中使用表达式

在SQL语句中使用表达式

返回的列中使用,如

SELECT version(),  100*6                           #返回MySQL版本和计算结果

SELECT SubjectNo,SubjectName,classHour+10,grade FROM subject;

#给返回结果中的课时都加10个课时

 避免SQL返回结果中包含" ." ", " "* "和括号等干扰开发语言程序。

where条件语句

  • 用于检索数据表中符合条件的记录
  • 搜索条件可由一个或多个逻辑表达式组成,结果一般为真或假
  • 搜索条件的组成
    • 逻辑操作符
    • 比较操作符

 逻辑操作符

操作符名称语法描述
AND或&&a AND b 或者 a&&b逻辑与,同时为真,结果才为真
OR或||a OR b 或者 a||b逻辑或,只要一个为真,结果就为真
NOT或!

NOT a 或!a

逻辑非,若操作数为假,结果则为真

比较操作符

操作符名称语法描述
IS NULLa IS NULL若操作符为NULL,则结果为真
IS NOT NULLaIS NOT NULL若操作符不为NULL,则结果为真
BETWEENa BETWEEN b AND c若a范围在b与c之间则结果为真
LIKEa LIKE bSQL模式匹配,若a匹配b,则结果为真
INa IN (a1,a2,a3,....)若a等于a1,a2...中的某一个,则结果为真
  1. 数值数据类型的记录之间才能进行算术运算
  2. 相同数据类型的数据之间才能进行比较

查询科目成绩在80到90之间的信息(between..and..包含边界值)

 

 查询科目成绩小于等于70或者等于100的信息

查找学科编号为1,考试成绩不为100的信息

 查找信息中是否存在null值

使用"%"或者"_"模糊查询

 

 

查询都学过课程1、课程2或课程3的学号

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值