数据库
概念:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
数据库种类:mysql, oracle, db2
**数据库管理系统 (DBMS):**执行数据库管理任务所需的软件
**数据库管理员:**数据库的建立、使用和维护只靠DBMS是不够的,还需要有专门的人员来完成,这些人员称为数据库管理员。
**空值(NULL):**表示某个属性取值为未知。由于查询语句中使用IS NULL会影响效率,设计数据库时应尽量避免使用NULL值。
数据库模型
数据模型 是现实世界数据特征的抽象。
数据模型通常由数据结构、数据操作和完整性约束三部分组成。
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
(1) 关系: 一个关系对应于一张二维表。
(2) 关系名: 如“Student” 。
(3) 元组: 表中的一行,对应于存储文件中的一个记录。
4) 属性: 表中的一列。
(5) 属性名: 给每个属性起一个名字。对应于存储文件中的字段。
6)**候选码:**如果在一个关系中,存在属性(或属性组合)能唯一地决定关系中其他所有属性的值,而其任何真子集无此性质,则这个属性(或属性组合)都称为该关系的候选码(或候选关键字)。
(7)**主码(主键):**在若干个候选码中指定作为码的属性(或属性组合)称为该关系的主码(或主关键字 即 主键)。(可以有多个属性)
–sql中的注释
–DQL 查询语句
–select *|字段名1,字段名2… from 表名;
–查询某个表中的所有数据
–select * from 表名
select * from emp;
–查询所有员工的姓名
–select 字段名 from 表名;
select ename from emp;
–查询所有员工的姓名,员工编号,上级编号
–查询的数据: ename,empno,mgr
–数据来源: emp雇员表
–查询的条件:
select ename, empno, mgr from emp;
–查询所有员工的部门编号
–查询的数据: deptno
–来源: dept|emp
select deptno from dept;
select deptno from emp;
–所有有员工存在的部门的部门编号
–查询的数据: deptno
–来源: emp
–去重 distinct
select distinct deptno from emp;
select distinct ename,deptno from emp;
–表达式 结果字段的名字为表达式的名字 值为表达式计算的结果–>计算器
select 1+1 from emp;
select distinct 123*456 from emp;
–别名 select 字段1 as 别名,字段2 as 别名, 字段3 别名… from 表名 别名;
–别名如果是英文默认大写,如果想要原样使用|中文带空格,在别名的前后""
select distinct 123+456 as “get Sum” from dept;
select distinct 123+456 “求 和” from dept d;
–’'代表字符串 ""原样输出 结果字段名和值原样字符串输出
select ‘哈哈’ “123” from emp;
–表达式|字符串都是伪列:不是表中真是存在的字段
–字符串的拼接 ||
select ‘a-’||’-b’ from dual;
–查询所有员工的姓名添加同一前缀 尚学堂
select ‘尚学堂’||ename “学生姓名” from emp;
–虚表: oracle中不是真是存在的表,其中没有任何数据 dual
select sysdate from dual;