• MySQL基础


    一、SQL语言分类

    1、DML(Data Manipulation Language):数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性。

    • INSERT:添加数据到数据库中
    • UPDATE:修改数据库中的数据
    • DELETE:删除数据库中的数据
    • SELECT:选择(查询)数据

    2、DDL(Data Definition Language):数据定义语句,用于库和表的创建、修改、删除。

    • CREATE TABLE:创建数据库表
    • ALTER TABLE:更改表结构、添加、删除、修改列长度
    • DROP TABLE:删除表
    • CREATE INDEX:在表上建立索引
    • DROP INDEX:删除索引

    3、DCL(Data Control Language):数据控制语句,用于定义用户的访问权限和安全级别。

    • GRANT:授予访问权限
    • REVOKE:撤销访问权限
    • COMMIT:提交事务处理
    • ROLLBACK:事务处理回退
    • SAVEPOINT:设置保存点
    • LOCK:对数据库的特定部分进行锁定

    二、SQL语言的规则与规范

    基本规则

    1、SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进

    2、每条命令以 ; 或 \g 或 \G 结束

    3、关键字不能被缩写也不能分行

    4、关于标点符号

    • 必须保证所有的()、单引号、双引号是成对结束的
    • 必须使用英文状态下的半角输入方式
    • 字符串型和日期时间类型的数据可以使用单引号 ( ' ' ) 表示
    • 列的别名,尽量使用双引号 ( " " )  ,而且不建议省略as

    大小写规范

    1、MySQL在Windows环境下是大小写不敏感

    2、MySQL在Linux环境下是敏感的

    • 数据库名,表名,表的别名,变量名是区分大小写的
    • 关键字,函数名,列名,列的别名是忽略大小写的

    推荐使用统一的书写规范

    • 数据库名,表名,表别名,字段名,字段别名都小写
    • SQL关键字,函数名,绑定变量等都大写

    三、基本SELECT语句

    1. SELECT *|{[DISTINCT] column|expression [alias],...}
    2. FROM table;

    SELECT 标识选择哪些列。FROM 标识从哪个表中选择。* 选择表中全部列。

    表employees截图

    1. SELECT employee_id, first_name
    2. FROM employees

    查询结果 


    四、列的别名

    重命名一个列,便于计算。紧跟列名,也可以在列名和别名之间加入关键字 ‘AS’ (alias),别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。

    1. SELECT employee_id e_id, first_name
    2. FROM employees

    1. SELECT employee_id e_id, first_name AS "姓"
    2. FROM employees


    五、去除重复行

    1. SELECT country_id
    2. From locations;

     去除上面结果重复数据

    1. SELECT DISTINCT country_id
    2. From locations;


    六、空值(null)参与运算

    空值参与运算结果也一定为空

    1. SELECT employee_id, first_name, salary, commission_pct, salary * (1 + commission_pct) * 12 AS "年薪"
    2. FROM employees;

     在该例中用 IFNULL(commission_pct, 0) 处理,但null不等同于0


    七、着重号 ``

    当出现字段与关键字重复,字段需要用着重号引用,即`字段`


    八、显示表结构

    DESCRIBE employees;

    九、过滤数据

    1. SELECT employee_id, first_name, department_id
    2. FROM employees
    3. WHERE department_id = 90;

  • 相关阅读:
    基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯
    JavaScript入门③-函数(2)原理{深入}执行上下文
    Leetcode刷题350. 两个数组的交集 II
    数据分析必备的5个工具,你用过几个?
    剑指offer 76 删除链表中重复的点
    水果店活动朋友圈文案怎么写,水果店文字文案这么写
    【MySQL系列】-B+树索引和HASH索引有什么区别
    嵌入式算法——傅里叶变换算法
    pytorch开发问题汇总
    SSM+Vue+Element-UI实现网上跳蚤市场
  • 原文地址:https://blog.csdn.net/qq_51578257/article/details/137435970