0
点赞
收藏
分享

微信扫一扫

SQL语言的学习

扒皮狼 2021-09-19 阅读 17

DQL语言:全称(Data Query Language)即数据查询语言,主要涉及select语句查询的。

  • 基础查询
  • 条件查询
  • 排序查询
  • 常见函数
  • 分组函数
  • 连接查询
  • 子查询
  • 分页查询
  • union联合查询

DML语言:全称(Data manipulation Language)即数据操纵语言,主要用于数据的增、删、改、没有查。

  • 插入语句
  • 删除语句
  • 修改语句

DDL语言:全称(Data Definition Language)即数据定义语言,主要关于库和表的定义,比如删除库表,定义表等。

  • 库和表的管理
  • 常见数据类型的介绍
  • 常见的一些约束

TCL语言:全称(Transaction Control Language)即事务控制语言,主要涉及事务的控制

  • 事务和事务处理

DCL语言:全称(Data Control Language)即数据控制语言,主要涉及的是权限控制


基础查询

1.查询表中的单个字段。

SELECT 字段名 FROM 表名;
SELECT stu_class FROM qinfb_class;

2.查询表中的多个字段。

SELECT stu_class,stu_year FROM qinfb_class;

3.查询表中的所有字段。

SELECT * FROM qinfb_class;

4.着重号查询,当数据库中定义的表名,或者表中定义的字段名和mysql数据库定义的关键字同名冲突时,需要启用着重号进行区分,一般情况下有无着重号,没有任何影响。

SELECT `stu_class` FROM qinfb_class;

5.查询表中有无此常量值。

SELECT 2019; //查询整数
SELECT 'Web项目应用';//查询字符串

6.查询计算表达式(加减乘除求余等)。

SELECT 100*2;
SELECT 50%2;

7.查询函数。

SELECT VERSION();

8.给查询字段起别名,便于辨认和理解,使用as关键字。
(使用别名的好处就是当查询的字段名和其他表中字段同名时,使用别名可以进行区分开来。)

SELECT stu_class AS 班级,stu_year AS 学年 FROM qinfb_class;


9.给数据库中不存在的常量值起别名。

SELECT 1+13*2 AS 计算结果为;


10.第二种起别名的方式,用空格,直接省略AS关键字也是可以的。

SELECT stu_class 班级,stu_year 学年 FROM qinfb_class;


11.值得注意的是这种多个空格或字符拼凑的起别名的方式,需要使用双引号括起来。

SELECT stu_class "(class) 班 级 是 :" FROM qinfb_class;


12.去重,去掉重复出现的数据,使用DISTINCT 关键字。

SELECT DISTINCT major_name FROM qinfb_class;


13.+号的拼接作用:数值型字符串+数值型,会自动将数值型字符串转换数值进行运算。

SELECT '123'+13;

14.字符串+数值,字符串会转为0,再和数值进行运算。

SELECT 'name'+123;


15.字符串+字符串,字符串会转为0,所以就是0+0=0

SELECT 'name'+'age';

16.字段+字段的拼接,会导致混乱结果,不会报错。

SELECT stu_class+stu_year FROM qinfb_class;


16.正确的拼接表中的字段需要使用CONCAT()函数,这个函数的功能就是方便我们进行拼接。

SELECT CONCAT(stu_id,stu_pwd) AS "账号 密码" FROM qinfb_student;


17.使用CONCAT()函数拼接字符串。

SELECT CONCAT('A','B','C') AS 拼接的结果为:;


18.SQL语句随意换行不受影响。

SELECT stu_class,stu_pwd
FROM qinfb_student;

SELECT stu_class,
stu_pwd
FROM 
qinfb_student;

条件查询

语法:

SELECT 字段
FROM 表面
WHERE 筛选条件

筛选条件分类:

(1)按条件表达式筛选:
使用到的条件运算符:

> 大于
< 小于
!= 不等于
<> 不等于
>= 大于或不等于
<= 小于或等于

(2)按逻辑表达式筛选:
逻辑运算符一般用于拼接条件运算符

使用到的逻辑运算符:

&& 与
|| 或
! 非

标准用法:
and 与(需要2个条件都为true,结果为true)
or 或
not 非

(3)模糊筛选:

like 有没有以...开头的一个字符
between and 在一个大概范围内
in  判断某字段的值是否属于in列表中的某一项
is null 不存在

1.查询工资大于3000的所有员工信息

SELECT *
FROM employees
WHERE salary > 3000;

2.查询不等于这个ID号的所有学生ID。

SELECT
    stu_id
FROM
    qinfb_student
WHERE
    stu_id <> 1903010331;


---------------------------------------------也可以
SELECT
    stu_id
FROM
    qinfb_student
WHERE
    stu_id != 1903010331;


3.查询工资在6000到8000之间的员工名、工资以及奖金

SELECT
    employee_name,
    salary,
    bonus
FROM
    employees
WHERE
    salary >= 6000 AND salary <= 8000;

4.查询部门变化不是在90到110之间,或者工资高于12000的员工信息

SELECT
    *
FROM
    employees
WHERE
   dep_id < 90 OR dep_id > 110 OR salary > 12000;

----------------------------还可以这样表达
SELECT
    *
FROM
    employees
WHERE
   NOT(dep_id >= 90 AND dep_id <= 110) OR salary > 12000;

5.查询员工名单中包含字符a的所有员工信息。

LIKE是模糊查询的一种,特点:一般和通配符搭配使用
常见的2个通配符:
% 百分号:任意符合条件的多个字符
_ 下划线:任意符合条件的单个字符
SELECT
    *
FROM
    employees
WHERE
   name LIKE '%a%';

6.查询员工id中第一字符为3,第五个字符为9的员工名和工资

SELECT
    name,
    salary
FROM
    employees
WHERE
   name LIKE '__3_9%';

7.查询员工编号在100到120之间的员工信息。

SELECT
    *
FROM
    employees
WHERE
    employee_id BETWEEN 100 AND 120;

page 33

举报

相关推荐

0 条评论