数据库基本概念
实体:在现实世界中客观存在并可相互区别的事物。
关系模型:关系模型把世界看作是由实体(Entity)和联系(Relationship)组成的。
关系型数据库:以关系模型来创建的数据库。
数据库管理系统:数据库只是保存数据的容器,还要依靠数据库管理系统(DBMS)来管理数据库中的数。
常见的关系型数据库:
- SQL server
- MySQL
- oracle
- SQLite
- BD2
非关系型数据库
- MongoDB
- Flare
SQL:结构化查询语言(Structured Query Language)的缩写。
SQL 语句分类:
- 数据查询语言(DQL)
- Select
- 数据操纵语言(DML)
- insert
- update
- delete
- 数据定义语句(DDL)
- create,新建
- alter,修改结构
- drop,删除
- rename,重命名
- truncate ,删除
- 数据控制语句(DCL)
- grant,授权
- revoke,解除授权
管理数据库
创建数据库:
create database 数据库名;
查看所有数据库:
show database;
删除数据库
drop database 数据库;
使用数据库:
use 数据库名
修改编码:
alter database 数据库名 character set = 'utf8' -注没有'-'
创建表:
create table 表名(
列名 数据类型 约束,
列名 数据类型 约束
)
-- 注:最后一行没有 ','
数据库中的数据类型:
- 整数型
- 浮点型
- 字符型
- 二进制型
- 日期和时间型
管理表
查看数据库中所有表:
show tables;
查看表的定义:
'show create table 表名;'
删除表
drop table 表名
复制表包括数据:
create table 表名 as (select * from 被复制的表名);
复制表结构:
create table like 被复制表名;
管理表
修改表名:
alter table 表名 rename 旧表名;
添加列:
alter table 表名 add 列名 数据类型;
删除列
alter table 表名 drop 列名;
保证数据完整性
完整性包括:
- 域完整性,约束方法:限制数据类型、 外键约束、 默认值、 非空约束
- 实体完整性,约束方法:唯一约束、主键约束、自增列
-自定义完整性,约束方法:规则、 存储过程、 触发器 - 参照完整性,约束方法:外键
主键:表中一列或几列的值能够唯一的标识表中的一行。
选择主键原则:尽量选着单个列做主键,尽量选择数值更新少的列作为主键。
删除主键:
alter table 表名 drop primary key;
添加外键
删除外键:
alter table 表名 drop foreign key 外键名;
数据库三大范式:
- 第一范式:确保列的原子性,即保证每个字段值都是不可分割的原子值。
- 第二范式:每个实例必须可以被唯一区分,即设置主键。
- 第三范式:确保每个字段都和主键直接相关,而不是间接相关。