数据库 — 数据仓库 — 数据持久化,管理数据
关系(型)数据库:
MySQL
、Oracle
、SQLServer
、MariaDB
、DB2
、PostgreSQL
、SQLite
(嵌入式数据库)等
非关系型数据库:NoSQL
数据库/NewSQL
数据库
- 关系代数:关系运算 ——> 集合运算 / 关系运算 / (一阶)谓词逻辑
- 交集、 并集、 差集、 笛卡尔积、 子集、 超级 、 存在
- 关系运算:投影、别名、选择、连接、排除、与、或、非
- all / any / exists
- 具体表象:使用二维表保存数据
- 行: 记录 —— 元组(tuple)
- 列: 字段 —— 属性(attribute)
- 编程语言:SQL (Structured Query Language) ——结构化查询语言
- DDL: 数据定义语言 ——
creat
(创建) /drop
(删除) /alter
(修改) - DML:数据操作语言 ——
insert
(插入) /delete
(删除) /updata
(更新) - DQL:数据查询语言 ——
select
(选择) - DCL:数据控制语言 ——
grant
(授予) /recoke
(召回)
- DDL: 数据定义语言 ——
- MySQL命令行工具——数据库操作
- 显示所有数据库:
show databases;
- 创建数据库:
create database school default charset utf8mb4;
创建数据库并设置默认字符集为utf8mb4
- 删除数据库:
drop database if exists school;
- 修改数据库:
alter database school default charset linet1;
修改数据库宁设置默认字符集为`` - 切换数据库:
use school;
- 显示所有数据库:
- MySQL命令行工具——数据表操作
- 显示数据表:
show tables;
- 创建数据表:
create table 表名(字段名);
- 查看表结构:
desc tb_student;
- 删除表:
drop table if exists tb_student;
- 修改表:
- 添加列:
alter table tb_student add column stu_tel varchar(20) not null;
表中有数据不能进行非空约束 - 删除指定列:
alter table tb_student drop column stu_addr;
- 修改指定列:
alter table tb_student modify column stu_gender char(1) default "M";
只改变列的类型alter table tb_student change column stu_gender stu_sex char(1) not null default "男";
修改类型
- 添加约束条件:
- 添加唯一性约束:
alter table tb_student add constraint uk_student_tel unique (stu_tel);
add constraint
添加约束,uk_student_tel
是起的名,便于后续操作,后面同理 - 添加检查约束:
alter table tb_student add constraint ck_student_tel check (stu_birth >= '1990-1-1');
- 添加唯一性约束:
- 删除约束条件:
alter table tb_student drop constraint uk_student_tel;
删除添加约束是起的名
- 添加列:
- 显示数据表:
- 约束
- 非空约束:
not null
保证字段的值不能为空 - 默认约束:
default
默认约束,保证字段总会有值,即使没有插入值,都会有默认值! - 唯一性约束:
unique
保证唯一性但是可以为空,比如座位号 - 检查性约束:
check
检查性约束 - 外键约束:
foreign key
同时保证唯一性和非空 - 主键约束:
primary key
用于限制两个表的关系,保证从表该字段的值来自于主表相关联的字段的值!
- 非空约束:
- 引擎
engine = innodb
使用innodb
引擎
- 数据类型:
- 查看数据类型帮助:
?data types;
- 整数:
int / intrger
(32位) ——>bigint
(64位 )/samllint
(16位)/tinyint
(8位) ——>undignet
无长度整数 - 小数:
float / double
——>decimal
- 日期和时间:
date
/time
/datetime
——>timestamp
- 字符串:
varchar / char
- 二进制文件:
bolb
- JSON:
json
保存json数据或json对象
- 查看数据类型帮助: