目录
I.大纲
理解数据库的基本概念、理解 DDL 及 DML 语言、能够根据业务需求及数据特征使用查询语言从数据库中获取准确、完整的数据信息、能够应用数据库函数进行数据处理及计算。
II. 数据库概述
2.1 概述
关系型数据库管理系统(RDBMS)与结构化查询语言(SQL)
数据库是存储、调用、分析数据的仓库,主要分为关系型数据库与非关系型数据库。
2.2 MySQL
MySQL 是最流行的关系型数据库管理系统之一。
数据库:数据库是表的集合,带有相关的数据
表:一个表是多个字段的集合
字段:一个字段是一列数据,由字段名和记录组成
商业数据分析中,使用的绝大部分数据都来自于企业数据库。
数据库——负责数据收集、数据整合、数据调用等工作
几乎所有数据分析类工具都支持调用数据库中数据
2.3 数据定义语言-DDL
数据定义语言是用来对数据库管理系统中的对象进行“增删改查”操作的SQL语句。
应用DDL语言对数据库不同对象进行定义操作时,需先有相应数据库管理权限。
- 针对数据库对象的操作语言
- 针对数据表对象的操作语言
2.3.1 定义数据库
操作关系型数据库
2.3.2 数据表
数据库是由多个数据表构成的
每张数据表存储多个字段
每个字段由不同字段名及记录构成,每个字段有自己的数据结构及约束条件
创建、查看及删除数据表
创建数据表:create table 表名(...)
2.3.3 数据表中的数据类型
字段属性内容:字段的不同的数据类型、不同的约束条件
【“位”与“字节”】
位:bit 电子计算机中最小的数据单位。每一位的状态只能是0或1
字节:byte ,1byte=8bit; 存储空间的基本计量单位
数据类型:不同的数据集类型具有不同的字节长度。
字节长度越长能取值的数值越大。
限制宽度:(11),限制的显示宽度;并不能限制实际的取值范围和占用空间。
可指定显示宽度和位数(M,D)M——显示宽度,D-显示位数。
year是一种单字节的数据类型;一般不指定的话,是默认4位。
如何选择用char 还是varchar?
数据长度相同,选用varchar 会多占用一位;
char 位数小于指定长度,会需要用空格填充。
使用char会比varchar高效,处理效率。
2.3.4 约束条件
约束是在表上强制执行的数据校验规则
用来保证创建的表的数据完整和准确
如果说不同数据,不同大小的沙粒,字段是承载的容器,约束条件是筛子,只有符合筛眼的才能进入该容器。
MySQL数据库常用约束条件:
主键约束:非空和唯一。导入的数据信息一定是非空和不重复。
Not null:限制了记录的数据信息不能有控制
unique:不可以出现重复值
auto increment:自动增加数值的字段,从1开始,1,2,3
default:设置默认值;出现空置的话,会按照默认值进行填充。
示例:
违反了哪些约束条件:
- 学号:有重复值、空置,不符合主键、非空、唯一 3个约束条件
- 学生姓名:不符合主键、唯一
- 成绩:有空置,不符合主键、非空 2项约束条件
- 序号:唯一、非空、自增、符合所有约束条件要求
2.3.5 主键约束
主键约束:保证表中每行记录都不重复
主键——主码;是数据表中一列或多列的组合。
主键约束:要求主键列的数据必须是唯一的,不允许为空。
使用主键,能唯一的标识表中的一条记录,还可以加快数据库查询的速度。
主键分为2种类型:单字段主键、多字段联合主键 (定义方法)
2.3.5 非空约束
非空约束,指的是字段的值不能为空:
语法:字段名 字段类型 not null
2.3.6 唯一约束
唯一性约束,要求该列的值 必须是唯一的:
- 允许为空,但只能出现一个空值;
- 一个表中可以有多个字段声明唯一的;
- 唯一约束确保数据表的一列或几列不出现重复值
语法:字段名 数据类型 unique
2.3.7 默认约束
默认约束,指定某个字段的默认值:
当插入记录时,如果没有明确为字段赋值时,那系统就会自动为这个字段赋值为默认值。
语法:字段名 数据类型 default 默认值
引用字符串,可用单引号或双引号。
2.3.8 自增字段
自增字段:一个表只能有一个自增字段,自增字段必须为主键的一部分。
默认情况下从1开始自增。
在字段后进行限定。要和主键约束一起使用。
先写primary key,再写 auto_increment
2.3.9 修改数据表
修改表——修改数据库中已经存在的数据表的结构:
mysql使用alter table语句修改数据表结构,包括:修改表名,修改字段数据类型或字段名,增加和删除字段,修改字段的排列位置等。
rename——表名
change——字段名
add——添加新字段
modify 和change的区别:
modify——主要用来修改字段的数据类型,不涉及修改名称的内容;
change——可以同时修改字段名称和数据类型2部分。
first——将当前修改的字段位置放在前面
first和after 2种改变字段的位置的命令
除了drop命令外,都至少要指定字段名和数据类型才可以;drop_只指定字段名称就可以。
III. 数据库演示
3.1 示例1
设置约束条件:
depid ——为主键
depname——为非空约束
peoplecount——可指定多个不同的约束条件,唯一和默认约束(0)
语法:
desc 查看创建中的表结构 是否创建成功
会显示各个字段的相关信息
3.2 示例2
带约束条件的创建表的语句
3.3 示例3
use test;
create table emp(
depid char(3) primary key,
depname varchar(20) not null default'-',
peoplecount int unique
);
-- 更改表名
alter table emp rename empdep;
-- 更改字段数据类型
desc empdep; -- 查看表结构
alter table empdep modify depname varchar(30);
-- 更改字段名称(depname 改成dep)
alter table empdep change depname dep varchar(30);
-- 更改字段名称及字段数据类型
desc dep;
alter table empdep change dep depname varchar(20);
-- 为表添加新字段
alter table empdep add manname dep varchar(10);
desc empdep;
--调整字段位置到第一位
alter table empdep modift manname varchar(10) first;
-- 将字段顺序改为另一个字段之后(放到depid 后,就在after后写)
alter table empdep modify maname varchar(10) after depid;
-- 删除字段
alter table empdep drop maname; --drop后直接跟字段名就行