sql 注释_SQL系列之简单查询

2022-09-08 08:37:43

一、 基本的查询语句

1.1 从表中查询某指定的列

SELECT 列名
FROM 表名;

具体操作:查询 -> 新建查询 -> 查询编辑器 -> 输入SQL语句 -> 运行 -> 查看结果

719385e2879ece894a7f60db317913af.png
图1 从student表中查询姓名和性别两列

1.2 从表中查询所有列

-- 星号(*):查询所有列
SELECT *
FROM 表名;

建议:数据量大的时候,SELECT子句中应尽量避免使用*。对于上千万条数据,全部遍历很费时,平时的练习中要培养良好的习惯,需要哪列数据,有针对性的提取。

1.2 为列设定别名AS

SELECT 列名 AS 新命名的列名
FROM 表名;

1.3 删除重复数据DISTINCT,用在多列之前

SELECT DISTINCT 列名
FROM 表名;

附加:SQL书写规则

  • SQL语句以英文分号(;)结尾;
  • SQL语句不区分关键字的大小写;
  • 列名不能加单引号,列名命名时不能有空格;
  • 只能使用英文符号;

二、指定查询条件WHERE

SQL运行顺序和书写顺序不同。

运行顺序:FROM从哪张表中查找数据 -> WHERE查询出符合条件的行 -> 从查询的行中选取SELECT语句指定的列。总结就是SELECT子句最后运行,其他子句按书写顺序运行。

对应的书写顺序:

SELECT 列名
FROM 表名
WHERE 条件;

PS:WHERE子句比较符号左侧避免函数,比较符号的左侧出现表达式、函数等操作,会导致数据库引擎进行全表扫描,增加运行时间。

比如:  WHERE 成绩+5 > 95 (表达式在比较符号左侧)
优化后:WHERE 成绩 > 90-5 (表达式在比较符号右侧)

三、注释和SQL语句注意事项

3.1 单行注释

3d5cbdea177948ba050f9b0d5dd6f195.png
图2 单行注释

3.2 多行注释

/*
注释内容
*/

四、运算符

运算符经常在WHERE子句中作为精准筛选的条件。

b25cc1d16f53c96423df9a1f5400d293.png
图3 三类运算符

PS:尽量避免使用or,会导致数据库进行全表搜索,用or从几百万语句中取出几条,非常划不来。

五、字符串模糊查询:LIKE

5.1 %表示任意字符串

-- 查询姓“张”的学生名单
SELECT *
FROM student
WHERE 姓名 LIKE '张%'

5.2 _1个下划线表示任意1个字符,两个字符需要两个下划线__

c7b30ae53884b7602adc63a9509d3602.png

对上面的知识点做了相关的练习,一定要亲自去练习,多练习,巩固知识。越来越觉得数学这门学科真奇妙,练习SQL除了要掌握基本的语句,最重要的还是理清思路,即查询前一定要明白自己的需求,和解数学题看清题意是一样的。

附上自己第二次打开Navicat遇到的问题:Navicat建立的数据库连接失败,显示错误是2003,大家一定不要害怕遇到问题,有句话叫“怕什么来什么”,报错的时候要学会看报错原因,最简单的办法是把报错提示直接复制到搜索栏中。

原因:我的电脑中SQL没有设置为自启动,一直是禁用状态,根据网上的提示进行操作,重启电脑就成功了。遇到问题卸载重装是下下策,不得已为之,尝试着去解决问题,也可以间接提升自己的能力。

  • 作者:weixin_39642761
  • 原文链接:https://blog.csdn.net/weixin_39642761/article/details/111094368
    更新时间:2022-09-08 08:37:43