1. SQL 概述

1.3 SQL分类

  • DDL(Data Definition Languages)数据定义语言:可以用来创建数据库、表、视图、索引等数据库对象,还可以创建、删除、修改数据库和数据表的结构

    • 主要关键字:CREATE、DROP、ALTER等
  • DML(Data Manipulation Language)数据操作语言:用于添加、删除、修改和查询数据库数据记录,并且检查数据完整性

    • 主要关键字:INSERT、DELETE、UPDATE、SELECT等
  • DCL(Data Control Language)数据控制语言:用于定义数据库、表、字段、用户的访问权限和安全级别

    • 主要关键字:GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT等。

2. SQL 语言的规则与规范

2.1 基本规则

  • SQL 各个子句分行写
  • 每条命令以 ;\g\G 结束
  • 字符串类型和日期时间类型的数据可以使用单引号('')表示

2.2 SQL规范

  • MySQL 在 Windows 中大小写不敏感
  • 在 Linux 中 大小写敏感
    • 关键字、函数名、字段名、字段别名是 忽略大小写
    • 数据库名、表名、表别名、变量名是 区分大小写
  • 推荐规范
    • 数据库名、表名、表别名、字段名、字段别名等都小写
    • SQL 关键字、函数名、变量等都大写

2.3 注释

单行注释:#文字
单行注释:-- 文字
多行注释:/*文字*/

2.4 导入sql文件中的数据

  • 方式一:命令行:source 文件的全路径名
  • 方式二:基于图形化界面工具导入数据

3. SELECT 语句

3.1 最基本的 SELECT 语句

SELECT 1+1 ,2 + 2
FROM DUAL;# DUAL 伪表

3.2 列的别名

SELECT 1 + 1 AS "结果"
FROM DUAL;
  • 在结果集中重命名一个列名

  • 列名与别名中添加 AS,别名使用双引号

3.3 去除重复行

关键字:DISTINCT

SELECT DISTINCT department_id
FROM employees;

3.4 空值参与计算

  • 所有运算符或字段值有 null 值时,运算结果都为 null

4. 显示表结构

  • 关键字:DESC 或 DESCRIBE
DESCRIBE employees;
或
DESC employees;
mysql> desc employees;
+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| employee_id    | int(6)      | NO   | PRI | 0       |       |
| first_name     | varchar(20) | YES  |     | NULL    |       |
| last_name      | varchar(25) | NO   |     | NULL    |       |
| email          | varchar(25) | NO   | UNI | NULL    |       |
| phone_number   | varchar(20) | YES  |     | NULL    |       |
| hire_date      | date        | NO   |     | NULL    |       |
| job_id         | varchar(10) | NO   | MUL | NULL    |       |
| salary         | double(8,2) | YES  |     | NULL    |       |
| commission_pct | double(2,2) | YES  |     | NULL    |       |
| manager_id     | int(6)      | YES  | MUL | NULL    |       |
| department_id  | int(4)      | YES  | MUL | NULL    |       |
+----------------+-------------+------+-----+---------+-------+
11 rows in set (0.00 sec)
  • Field:表示字段名
  • Type:表示字段类型
  • Null:表示该字段是否允许为 Null 值
  • Key:表示该列已存在的索引。
    • PRI表示该列是表主键的一部分
    • UNI表示该列是 UNIQUE 索引的一部分
    • MUL表示列中某个定值是否允许出现多次
  • Default:表示该列是否有默认值
  • Extra:表示可以与列相关的附加信息。例如:AUTO_INCREMENT等
文章作者: 临川
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 临川羡鱼
MySQL MySQL
喜欢就支持一下吧