★数据库—库表
2022-03-09 00:54:32 77 举报
AI智能生成
数据库是存储和管理数据的系统,而库表则是数据库中用于组织和存储数据的基本单位。库表由行和列组成,每一行代表一个记录,每一列代表一个字段。通过定义不同的字段类型和约束条件,可以对数据进行有效的管理和查询。在数据库中,可以创建多个库表,并通过主键和外键等关联关系将它们连接起来,实现数据的共享和引用。库表的设计和优化对于数据库的性能和可扩展性至关重要。
作者其他创作
大纲/内容
数据库简介
数据库概要
数据库系统
数据、数据库、数据库管理系统
数据库管理系统
MySQL、SQL server、Oracle
数据库系统的特征
数据结构化
高共享、低冗余、易扩充
数据独立性高
方便统一管理与控制
数据库模型
数据模型
概念模型
★实体:客观存在可区别
★属性:实体的特征
★联系:实体之间的联系
1:1,1:n,m:n
码:唯一标识实体属性
域:一组相同数据类型的值
实体型:相同属性的实体共有的特征
实体集:同一类实体的集合
逻辑模型
层次模型:树形结构
网状模型:树形之再婚孤儿模式
关系模型:二维表
组成
关系:表
元组:一条记录
属性:列名
主码:主键,唯一确定元组
域:属性的取值范围
分量:元组的一个属性值
关系模式:对关系的描述
关系操作
插入、删除、修改、检索
选择、投影、连接、除、并、交、差、笛卡尔积
完整性约束条件
实体完整性
主属性不能为空
复合主码各属性不能为空
参照完整性
外键若与另一个表主码相对应,那么外键的值应为主码值或为空值
用户定义的完整性
用户定义的不为空或者唯一性等
范式
第一范式
属性值不可分割
第二范式
完全依赖于主键
第三范式
不存在传递依赖
面向对象模型
物理模型
数据库设计过程
需求分析
数据字典
数据流图
概念结构设计
E-R图
逻辑结构设计
关系模式
物理结构设计
存储资源的分配和利用
实施与维护
数据入库、性能检测与调整、投入运行、备份与恢复、日常维护
MySQL
简介
开源、小型、跨平台
特性
使用c\c++编写,可移植
提供多种接口API
提供多种自然语言格式
自动优化查询算法
多种存储引擎
★MEMEORY
每一个表结构对应一个磁盘文件,数据文件存储在内存
优点:处理速度快
缺点:耗费内存、重启丢失
MRG_MYISAM
CSV
FREDERATED
PERFORMANCE_SCHEMA
★MyISAM
表存储为三个文件,表结构、数据、索引;三种存储方式,动态,静态,压缩
优点:可压缩;插入,读出记录效率高
缺点:不支持事务、外键
★InnoDB
现默认存储引擎
优点:支持自动增长;支持外键;提供了事务、版本控制等
缺点:读写能力稍差,占用数据空间相对较大
BLACKHOLE
ARCHIVE
可以记录海量数据
图形工具
MySQL workbench
SQLyog
Navicat
phpAdmin
数据库
库的创建
CREATE DATABASE [数据库名]
DEFAULT CHARACTER SET [语言格式]
DEFAULT COLLATE [校对规则]
DEFAULT CHARACTER SET [语言格式]
DEFAULT COLLATE [校对规则]
库的查看
查看所有数据库:SHOW DATABASES
查看数据库结构:SHOW CREATE DATABASE [数据库名]
库的使用
USE [数据库名]
库的修改
ALTER DATABASE [数据库名]
DEFAULT CHARACTER SET [语言格式]
DEFAULT COLLATE [校对规则]
DEFAULT CHARACTER SET [语言格式]
DEFAULT COLLATE [校对规则]
库的删除
DROP DATABASE (IF EXISTS) [数据库名]
数据表
对象:列、索引、触发器
数据类型
整型
tinyint
smallint
mediumint
int
integer
bigint
浮点
float
double
decimal
日期
year
time
date
datetime
timestamp
字符串
char
varchar
text
enum
set
二进制
binary
varbinary
bit
tinyblob
blob
mediumblob
longblob
JSON
轻量级数据交换格式
分类
系统表
用户表
分区表
命令行
表的创建
CREATE TABLE [表名]
([字段名] [数据类型] [约束条件]
· · · · · ·
[字段名] [数据类型] [约束条件])
[存储引擎] [字符集];
([字段名] [数据类型] [约束条件]
· · · · · ·
[字段名] [数据类型] [约束条件])
[存储引擎] [字符集];
表的查看
查看数据库中表的信息:SHOW TABLES
查看表的结构:DESC [表名]
查看表的规则:SHOW CREATE TABLE [表名]
表的修改
修改表名
ALTER TABLE [表名]
RENAME [新表名]
RENAME [新表名]
修改数据类型
ALTER TABLE [表名]
MODIFY [字段名] [新数据类型]
MODIFY [字段名] [新数据类型]
修改字段名
ALTER TABLE [表名]
CHANGE [旧字段名] [新字段名] [新数据类型]
CHANGE [旧字段名] [新字段名] [新数据类型]
增加字段
ALTER TABLE[表名]
ADD [新字段名][数据类型][完整性约束]
ADD [新字段名][数据类型][完整性约束]
删除字段或约束
ALTER TABLE [表名]
DROP [字段名或约束名]
DROP [字段名或约束名]
修改字段位置
ALTER TABLE [表名]
MODIFY [字段名] [数据类型] FIRST/AFTER [字段名]
MODIFY [字段名] [数据类型] FIRST/AFTER [字段名]
更改存储引擎
ALTER TABLE [表名]
ENGINE=[存储引擎]
ENGINE=[存储引擎]
修改默认字符集
ALTER TABLE [表名]
DEFAULT CHARACTER SET [字符集] COLLATION [校对规则]
DEFAULT CHARACTER SET [字符集] COLLATION [校对规则]
表的删除
DROP TABLE [IF EXISTS] [表名}
外键问题
restrict(约束)
no action
cascade(级联)
set null(空值)
约束
约束类型
列级约束
not null|:是否允许空值
default default_value:指定默认值
auto_increment:值是否自增长
unique [key]:唯一性约束
[primary] key:主键约束
foreign [key]:外键约束
comment ‘string’:注释字段名
check (条件):检查约束
default default_value:指定默认值
auto_increment:值是否自增长
unique [key]:唯一性约束
[primary] key:主键约束
foreign [key]:外键约束
comment ‘string’:注释字段名
check (条件):检查约束
表级约束
CONSTRAINT [约束名] PRIMARY KEY [主键属性]
CONSTRAINT [约束名] FOREIGN KEY [外键属性名] REFERENCES [父表名] [属性名]
CONSTRAINT [约束名] FOREIGN KEY [外键属性名] REFERENCES [父表名] [属性名]
外键约束特殊性
指定删除或更新父表记录如何处理子表记录
ON DELETE [reference_option]
ON UPDATE [reference_option]
ON DELETE [reference_option]
ON UPDATE [reference_option]
其他命令
修改表约束:ALTER TABLE [表名]
ADD/DROP [约束]
ADD/DROP [约束]
CHAR与VARCHAR
ENUM与SET
0 条评论
下一页