文章目录
基本select语句
SQL的分类
DDL
- 数据定义语言
- CREATE / ALTER / DROP / RENAME / TRUNCATE
DML
- 数据操作语言
- INSERT / DELETE / UPDATE / SELECT
DCL
- 数据控制语言
- COMMIT / ROLLBACK / SAVEPOINT / GRANT / REVOKE
SQL的规则与规范
SQL的规则
-
SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进

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

-
关键字不能被缩写也不能分行
-
关于标点符号
- 必须保证所有的()、单引号、双引号是成对结束的
- 必须使用英文状态下的半角输入方式
- 字符串型和日期时间类型的数据可以使用单引号(’ ')表示
- 列的别名,尽量使用双引号(" "),而且不建议省略as
SQL的规范
- MySQL 在 Windows 环境下是大小写不敏感的
- MySQL 在 Linux 环境下是大小写敏感的
- 数据库名、表名、表的别名、变量名是严格区分大小写的
- 关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。
- 推荐采用统一的书写规范:
- 数据库名、表名、表别名、字段名、字段别名等都小写
- SQL 关键字、函数名、绑定变量等都大写
注释
- 单行注释 : # 注释文字 OR – 注释文字
- 多行注释: /* 注释文字 */
导入数据(现有数据)
方式1
source 文件的全路径名
举例:source 文件.sql;
方式2
基于具体的图形化界面的工具可以导入数据
最基本的SELECT语句
SELECT 字段1,字段2,… FROM 表名
SELECT 1 + 1,3 * 2;
# 效果相同
SELECT 1 + 1,3 * 2
FROM DUAL; #dual:伪表
结果:

- *:表中所有的字段
SELECT *
FROM employees;

SELECT `name`
FROM employees;

列的别名
格式: SELECT 列名 (AS )别名 FROM 表名;
SELECT name 姓名 FROM employees;

去除重复行
SELECT DISTINCT 列名 FROM 表名;
SELECT DISTINCT * FROM employees


空值参与运算
- 空值:null
- null不等同于0,‘’,‘null’
- 空值参与运算:结果一定也为空
- 实际问题的解决方案:引入IFNULL
着重号 ``
SELECT * FROM `order`;
查询常数
SELECT 123,id,name
FROM employees;

显示表结构
DESCRIBE employees; #显示了表中字段的详细信息
DESC employees;
过滤数据
SELECT *
FROM employees
WHERE `name` = 'txd';

运算符
算术运算符
- / div % mod
SELECT 100, 100 + 0, 100 - 0, 100 + 50, 100 + 50 * 30, 100 + 35.5, 100 - 35.5
FROM DUAL;

SELECT 100 + '1', 100 + 'a'
FROM DUAL;

注意: 在SQL中,+没有连接的作用,就表示加法运算。此时,会将字符串转换为数值(隐式转换)
比较运算符
= <=> <> != < <= > >=
SELECT 1 = 2,1 != 2,1 = '1',1 = 'a',0 = 'a' #字符串存在隐式转换。如果转换数值不成功,则看做0
FROM DUAL;


IS NULL \ IS NOT NULL \ ISNULL
判断是否为NULL
LEAST() \ GREATEST
SELECT LEAST('g','b','t','m'),GREATEST('g','b','t','m')
FROM DUAL;

BETWEEN 条件下界1 AND 条件上界2
包含条件1和条件2的值
LIKE 模糊查询
% : 代表不确定个数的字符 (0个,1个,或多个)
_ :代表一个不确定的字符
SELECT *
FROM employees
WHERE name LIKE '%a%';

REGEXP \ RLIKE :正则表达式
符合一般的正则表达式规则,需要专门去学习
逻辑运算符
OR || AND && NOT ! XOR
位运算符
& | ^ ~ >> <<
本文介绍了SQL的基本语句分类,包括DDL(如CREATE,ALTER等),DML(INSERT,DELETE等)和DCL(COMMIT,GRANT等)。强调了SQL的书写规则与规范,如区分大小写、注释方法。此外,讲解了SELECT语句、去除重复行、处理空值以及数据过滤等操作。还提到了数据导入和运算符的使用,包括模糊查询和正则表达式。
828

被折叠的 条评论
为什么被折叠?



