数据库-MySQL基础(1)

一.
数据库的基本概念
什么是数据库 : 存储数据的仓库
数据库的作用:
方便数据的存储和管理。
数据库的使用场景:
有数据产生的地方就有数据库的使用场景。
二.
1.约束
完整性约束 |说明

primary key |表示当前属性为该表的主键,可以区分不同的行记录

foreign key |修饰的属性为该表的外键,表之间关联使用的键

not null | 表示属性不能为空

unique |表示属性的值是唯一的

auto_increment | MYSQL特色,表示属性是自增的,自增类型为整形

default |给属性设定默认值
2.数据类型的选择:
(1)尽量小但要合适
字符串类型:(1)也要符合

char(int) varchar(int)
char(10) varchar(10)
int:最多向里面存储int个字符
varchar:存储数据时
(1)根据插入的数据进行计算 size
(2)开辟size+1个空间然后
(3)将数据存储进去
char 创建表的时候空间就已经开辟好了
存储数据时 直接将数据存储进去。
name 可长可短 varchar(20)
sex 长度固定 char(2)
text 文本类型 文件地址 30 用的少
非文本文件 二进制类型 文件地址 用的少
enum(‘m’,‘w’) 单选
set(‘java’,‘cpp’,‘linux’); 多选
3.范式
1NF(第一范式):
a、在设计表存储数据时候,如果表中设计的字段存储的数据,在取出来使用之前还需要额外的处理(拆分),那么表的设计不满足第一范式
b、第一范式要求字段具有原子性、不可再分割
2NF(第二范式):
a、在数据表设计过程中,如果有复合主键(多字段主键),且表中有字段并不是由整个主键来确定,而是依赖于主键中的某个字段(主键的部分)
b、存在字段依赖主键的部分的问题,称之为部分依赖
c、第二范式就是解决表设计不允许出现部分依赖
3NF(第三范式):
a、要满足第三范式、必须满足第二范式
b、理论上讲,应该一张表中的所有字段都应该直接依赖于主键(逻辑主键:代表的是业务主键),如果表设计中存在一个字段,并不直接依赖主键,而是通过某个非关键字段依赖,最终实现依赖主键:把这种不是直接依赖主键,而是依赖非主键字段的依赖关系称之为传递依赖
c、第三范式就是解决传递依赖的问题
BC :一个表中只能由一个候选键
候选键: 不重复的属性
4.主键 :通过主键推出其他的所有属性的值。
如果不满足上述条件说明主键设置的有问题。
一个表只能有一个主键

外键:多张表之间的约束
父表 子表:外键建在哪个表中哪个表就成为子表 references 后面跟的是父表
创建外键的原则: 只能将父表中的主键设置位外键
创建外键的作用: 保证数据一致性
插入数据的限制: 对父表没有限制,子表中的数据必须和父表一致。
首先保证父表有数据 先向父表中插入数据 再向子表中插入数据
创建表时候:先创建父表 再创建子表
删除顺序的限制: 先删除子表,后删除父表

1.登录登出操作

命令 登录mysql:
mysql -uroot -p123456
退出 
 exit
  1. 创建数据库
create database 数据库名

3.显示数据库

show databases;

4.删除数据库

drop database 数据库名

5.删除表

drop table  表名;

6.插入语句

1)
属性不可缺省方式:
test_user(id  int ,name varchar(20),age int)
insert into(into可以不写) 表名 values(属性值1,属性值2,属性值3,属性值4......);
(2)
属性可缺省方式:
insert into(into可以不写) 表名 (属性1,属性2,属性3,属性4......
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值