美文网首页数据库
SQL语言的学习

SQL语言的学习

作者: 似朝朝我心 | 来源:发表于2021-05-20 20:16 被阅读0次

    SQL语言分五类

    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

    相关文章

      网友评论

        本文标题:SQL语言的学习

        本文链接:https://www.haomeiwen.com/subject/ltavjltx.html