SQL
1、SQL概述
SQL是一门语言 :结构化查询语言,是一种非过程化语言,只需要提出做什么,而不需要指明怎么
SQL是最重要的关系型数据库操作语言,是所有的关系型数据库管理系统的标准语言。
- 关系型数据库:oracle mysql sqlserver
非关系型数据库(nosql):redis mongdb Hbase
SQL语言的作用:
- 可以对数据进行增删查改(CRUD)操作
- 数据库的队形进行创建、修改、删除操作
- 用户赋予权限、取消权限、角色赋权限、取消权限、给用户关联角色
- 事务控制
2、SQL语言的分类
- DML:数据操纵语言
- DDL:数据定义语言
- DCL:数据控制语言
1 . DML
DML 用于查询与修改数据记录 包括:
- insert 添加数据到数据库中
- update 更新数据库中的数据
- delete 删除数据库中的数据
- select 查询数据库中的数据
2 . DML
用于定义数据库的结构 比如创建 修改或删除数据库对象。包括:
- Create Table 创建数据库表
- ALTER TABLE :更改表结构 添加 删除 修改列
- DROP Table 删除表
- CRATE INDEX :在表上建立索引
- drop index 删除索引
- CREATE VIEW 创建试图
- drop view 删除试图
3 . DCL
用来控制数据库的访问,包括:
- GRANT 授予权限
- REVOKE 撤销、回收权限
- COMMIT 提交事务
- Rollback 回滚事务
- SAVEPOINT 设置保存点
- lock:对数据库的特定部分进行锁定
3、SQL语句的数写规范
1 . 使用大小写规范提供词义的识别能力
- 在名称中仅使用字母 数字 下划线
- 列明 参数 变量等标量小写
- 模式对象名首字母大写:表 试图 存储过程 函数 触发器
- 保留关键字大写
2 . 使用空格提供良好的语言标记区分
- 等号的两边要使用空格
在逗号的后面使用空格
3 . 使用缩进提高语句的逻辑层次表达能力
4 . 使用垂直空白提供关键字和参数的区分能力
5 . 注释:
- 单行注释:–
- 多行注释:/* */
- mysql中的注释是:#
6 . 拿到需求如何分析并编写SQL
- 确定数据源 数据来自那张表(1张表或多张表)
- 确定需要查询的字段 是所有的字段还是特定的字段
- 确定条件 有几个条件 条件来自那个字段 多个条件的关系
4、基本的 select 语句
SELECT 标识选择的列
FROM 标识从那个表查询
注意:
- SQL语言大小写不敏感
- SQL可以写在一行或者多行
- 关键字不能被缩写也不能分行
- 各个子句一般要分行写
- 使用缩进来提供代码的可读性
1 . 选择全部列
SELECT * FROM dept;--* 表示查询所有的列
SELECT deptno,dname,loc from dept;
2 . 选择特定的列
SELECT empno<