数据库
SQL、DB、DBMS分别是什么,他们之间的关系?
DB:
- DataBase(数据库,数据库实际上在硬盘上以文件的形式存在)
DBMS:
- DataBase Managementsystem(数据库管理系统,常见的有:Mysql,Oracle DB2,Sybase ,Sqlserver…)
SQL:
- 结构化查询语言,是一门标准通用的语言。标准的sql适合于所有的数据库产品。
SQL语句在执行的时候,实际上内部也会先进行编译,然后再执行sql。(sql语句的编译由DBMS完成。)
DBMS负责执行sql语句,通过执行sql语句来操作DB当中的数据。
DBMS-(执行)->SQL-(操作)->DB
什么是表?
一个表包括行和列:
行:被称为数据/记录(data)
列.被称为之段(column)
表: table是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强。
每一个齐段应该包括哪些属性?
字段名、数据类型、相关的约束。
SQL语句分类:
DQL(数据查询语言):查询语句,凡是select语句都是DQL。
DML(数据操作语言): insert delete update,对表当中的数据进行增删改。
DDL(数据定义语言): create drop alter,对表结构的增删改。
TCL (事务控制语言): commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
DCL(数据控制语言) : grant授权、revoke撤销权限等。
导入数据
连接查询
笛卡尔积现象:
如果两张表进行连接查询没有任何条件限制,最终查询条数结果结果是两张记录条数的乘积
内连接
- 等值连接 :最大特点是条件为等量关系
语法格式:
select
e.ename,d.name
from
emp e //表一 后面为缩写 可读性高
(inner)join //inner 可以省略
dept d //表二
on
e.deptno = d.deptno; //连接条件
where.....
- 非等值连接 :最大特点是连接条件为非等量关系
select
e.ename,e.sal,s.grade
from
emp e //表一 后面为缩写 可读性高
(inner)join //inner 可以省略
salgrade s //表二
on
e.sal between s.losal and s.hisal; //连接条件
where.....
- 自连接 : 最大特点是,一张表看做两张表。自己连接自己
左边是员工编号 右边是领导编号
外连接
连接三个表:
a表和b表现进行表连接,连接之后a表和c表进行连接