1.1 SQL分类
- DDL(数据定义语言):用来创建、删除、修改数据库和数据表的结构。
- 主要语句:create、drop(删结构)、alter等。
- DML(数据操作语言):用于添加、删除、更新和查询数据库记录,并检查数据完整性。
- 主要语句:insert、delete(删记录)、update、select等。
- DCL(数据控制语言):用于定义数据库、表、字段、用户的访问权限和安全级别。
- 主要语句:grant、revoke、commit、rollback、savepoint等。
1.2 语法规则
- 每条命令以;或\g或\G结束
- 列的别名,尽量使用双引号,而且不建议省略as。
- 建议
- 数据库名、表名、表别名、字段名、字段别名等都小写
- SQL关键字、函数名、绑定变量等都大写
- 字符串使用单引号,别名使用双引号
- MySQL在windows环境下是大小写不敏感的
- MySQL在linux环境下是大小写敏感的
1.3注释
| 单行注释:#注释文字(MySQL特有的方式) |
| 单行注释: |
| 多行注释: |
1.4 Select语句
1.数据导入指令
可以在命令行登录后导入数据
2.SELECT
| SELECT 1; |
| SELECT 9/2; |
| SELECT * FROM departmenms; #选中所有列 |
| SELECT department_id,location_id FROM departments; |
3.列的别名
使用AS
| SELECT last_name AS name,commission_pct comm |
| FROM employees; |
省略AS,使用双引号(可以包含空格)
| SELECT last_name "Name",salary*12 "Annual Salary" |
| From employees; |
4.去重DISTINCT
查询结果中不会有department_id重复的数据。
DISTINCT要写在所有列名的前面,否则会报错,多个列名时,是对所有列名的组合进行去重。
| SELECt DISTINCT department_id |
| FROM employees; |

5.空值参与运算
所有运算符或列值遇到null值,运算的结果都为null
| SELECT |
| employee_id,salary,commission_pct,12*salary*(1+commission_pct) "annual_sal" |
| FROM employees; |

6.着重号
表名、字段名等和保留字、数据库系统或常用函数冲突时会报错
| SELECT * FROM ORDER; #报错 |
| SELECT * FROM `ORDER`; #正确的 |
7.查询常数
| SELECT '卡拉肖克' AS corporation,last_name FROM employees; |

8.显示表结构
| DESC employees; |
| 或 |
| DESCRIBE employees; |

9.过滤数据WHERE
| SELECT employee_id,last_name,job_id,department_id |
| FROM employees |
| WHERE department_id=90; |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本