数据库1

来源:互联网 发布:电台播音员自学软件 编辑:程序博客网 时间:2024/05/21 03:56

关系型数据库:

关系模型把世界看成是由实体和联系组成的,而关系型数据库是将数据库表作为实体,以数据库表的主键和外键的关联关系描述联系的一种数据库结构;


关系型数据库:

一对一:一条主表记录对应一条从表记录,同时一条从表记录也对应一条主表记录一对多:一条主表记录对应多条从表记录,同时一条从表记录只对应一条主表记录多对多:一条主表记录对应多条从表记录,同时一条从表记录也对应多条主表记录

数据库管理系统:

关系型数据库只是一个保存数据的容器,大多数带护具依靠一个称为数据库管理系统DBMS的软件来管理数据库中的数据管理关系型数据库的软件称为关系型数据库管理系统RDBMS  数据库应用程序通过RDBMS与关系型数据库进行交互

数据库管理系统分类:

    本地数据库管理系统    数据库服务器管理系统

SQL:结构化查询语言 是一种利于管理关系型数据库,并与数据库中的数据进行通讯的计算机语言

SQL语句分类:

数据定义语言DDL 创建,修改,删除数据库的内部数据结构数据查询语言DQL 用于数据库中数据的查询数据操作语言DML 用于数据库中数据的增,删,查,改数据控制语言DCL 控制数据库的访问权限

数据类型

整型:int 浮点型:float,double,decimal(10,2  10位有效数据,小数位保留2位)字符型:varchar (20)日期型:date

PRIMARY KEY定义当前列为主键,主键不能为空,且不能重复

AUTO_INCREMENT设置当前列为自动增长列,由DBMS为该列分配值,确保该列的值不重复。

条件判断:

case whenSELECT g.* ,(  CASE WHEN grade>= 90 THEN '优'WHEN grade >=80 AND grade <90 THEN '良'WHEN grade >=60 AND grade <80 THEN '中'WHEN grade <60 THEN '差'-- else '差 'END)  '评价'FROM t_student g;

SELECT g.* ,(CASE WHEN grade>= 90 THEN '优' WHEN grade >=80 AND grade <90 THEN '良' WHEN grade >=60 AND grade <80 THEN '中' WHEN grade <60 THEN '差' -- else '差 ' END

)'评价'FROM t_student g;

-- 删除数据 TRUNCATE TABLE 表名: DELETE 会记录日志,删除后还可以恢复,但是效率低, TRUNCATE不会记录日志,不可恢复,效率高

聚合函数

count 统计行的数量

sum 获取单个列的合计值

avg 计算某个列的平均值

max 计算列的最大值

min 计算列的最小值

HAVING和WHERE的区别

二者都是过滤条件 WHERE运行在分组前,因此不能执行任何聚合函数,HAVING是运行在分组后,只能用做聚合函数过滤

SQL执行的顺序

执行FROM;WHERE条件过滤;GROUP BY 分组;执行SELECT投影列;HAVING条件过滤;执行ORDER BY排序

在分组查询中,能够查询的字段,只能是分组字段和聚合函数。

数据完整性

为什么要保证数据完整性:

为了防止垃圾数据的产生,从而影响数据库的执行效率

数据完整性分类:

实体完整性 保证一行数据是有效的 不能存在两条一模一样的数据

实现方法:

主键约束 Primary Key主键不能为空,也不能重复 一个表只能有一个主键

唯一约束 Unique 指的是给定列的所有值必须唯一,该列在表中每一行的值必须唯一,可以为空,并且可以在一张表中给多个列设置唯一约束

域完整性 保证一列数据是有效的 指的是指定列的输入有效性

实现方法: 非空约束 Not Null

cotent table (

id INT PRIMARY KEY AUTO_INCREMENT,设置主键manName varchra(20) NOT NULL, --- NOT NULL表示该列必须添加值,不能为NULLsex VARCHAR(10) DEFAULT'男' --- DEFAULT表示该列不插入值,则默认为男,如果插入了,则以插入的值为准);默认约束 Default检查约束 Check(MySQL不支持)引用完整性 保证引用编号是有效的 指的是 外键中出现的数据,主键中必须出现    实现方法:用户自定义完整性 保证自定义规则

两个表之间如果存在外键约束时,那么删除主表记录时,由于外键约束存在,无法删除有从表记录引用的主表记录 这时,删除主表记录有两种方式:

1.级联删除:将主表记录对应的从表记录先删除,再删除主表记录

DELETE FROM troom WHERE manId = 1; DELETE FROM tman WHERE id= 1;

2.外键设空:将主表记录对应的从表记录外键设置为null,再删除主表记录

UPDATE FROM t-room SET manId = null WHERE manId= 2; DELETE FROM t_man WHERE id = 2;

外键:指的是从表的某列与主表的某列存在依附关系

外键约束:指的是在在外键关联主键上强制加上一个约束,如果违反该约束,则不允许该条数据的修改

没有建立外键约束不等于没有外键

0 0
原创粉丝点击