mysql_01 简单介绍

数据库简介

文档型数据库:sqlite,是一个文件,通过对文件的复制完成对数据库的复制

服务型数据库:mysql、postgre,数据存储在一个物理文件中,需要终端使用tcp/ip协议链接,进行读写操作

E-R模型

Entry 实体

Relationship 关系

一个实体转换为数据库中的一个表,比如学生表,表中再存储关系

一对一、一对多、多对多

三范式

1NF:列不可拆分

2NF:唯一标识

3NF:引用主键 — 别的表要引用这张表,引用主键即可

数据完整性

字段类型

数字:int,decimal(m, n) m表示位数,n表示小数位数 (float,double也有,不常用)

字符串:char,varchar,text

​ char(8) 存储固定8个字符,如果不够,会补充空格,多了会截断

​ varchar(8) 存几个字符就是几个字符,多了截断

​ 字符编码:gb2312 简体字

​ utf8 国际通用

日期:datetime

布尔:bit(3) 0, 1

约束

主键约束 primary key

非空约束 not null

唯一 unique

默认 default

外键 foreign key

逻辑删除

重要数据并不想物理删除,而是设计一个isDelete列,类型设为bit

也可以叫DeleteFlag、DeleteStatus

数据库基本操作

mysql -h ip -u root -p
create database _databaseName charset=utf8;
drop database _databasename;

show databases;
select database();
show tables;

create table student ( 
    -> id int auto_increment primary key not null,
    -> name varchar(10) not null,
    -> gender bit default 1,
    -> birthday datetime);

desc student;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| name     | varchar(10) | NO   |     | NULL    |                |
| gender   | bit(1)      | YES  |     | b'1'    |                |
| birthday | datetime    | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
alter table student add isDelete bit default 0;

change
drop table _tableName;      物理删除

show create table 'student';   --  建表语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值