数据库设计
三范式:对数据库设计的一些规范,不是规定(Normal Form)
目前已经提出的共有6种,一般使用的是三范式。
第一范式:
第二范式:
第三范式
![](https://i-blog.csdnimg.cn/blog_migrate/7e12fe1074b4e25e0c587988e24bcb50.png)
建表、建库
创建数据库
实例:创建一个名为‘kkb17’的数据库
create database kkb17;
创建数据表
实例:创建info表里面有 id、name、age 字段
create table info(
id int unsigned auto_increment primary key not null ,
name varchar(30) not null ,
gender enum('男','女','未知') not null default '未知'
);
select * from info;
# 两种设定 primary key 方法
create table info(
id int unsigned auto_increment not null,
name varchar(20) not null ,
gender enum('男','女','未知') not null default '未知',
primary key (id)
)
查看建表语句
约束规则
主键约束
外键约束
主键与外键的区别
插入数据(增数据)
全列插入时值的顺序必须与表中字段的顺序对应
insert into info values(0,'程咬金','男');
部分列插入,值的顺序必须与给出的列顺序对应
insert into info (name, gender) values ('鲁班','男');
insert into info (gender,name ) values ('女','阿珂');
select * from info;
插入多行数据
# 全列插入多行数据
insert into info values (0,'孙悟空','男'),(0,'韩信','男');
# 选定列插入多行数据
insert into info (name) values ('梦琪'),('盾山'),('李元芳');
select * from info
*说明:主键列时自动增长,但是在全列插入时需要占位位,通常使用0或者default 或者null 来占位置,插入成功后以实际数据为准
更新表内数据(改数据)
实例:
update info set gender = '未知' where name = '鲁班';
update info set name = '赵云' ,gender='男' where id=6;
select *
from info;