MySQL数据库基础(2)表结构管理
目录
一、关系模型与数据表
- 概念
①关系模型:是由若干个关系模式组成的集合,关系模式的实例称为关系,每个关系实际上是一张二维表格
②关系数据库:是以关系模型为基础的数据库,是一种根据表、元组(记录)以及字段(列)之间的关系进行组织和访问数据的数据库,其通过若干个表来存取数据,并且通过关系将这些表联系在一起
③关系模型中的术语:
- 关系(Relation):对应通常所说的一张表,如订单表。
- 元组(Tuple):表中的一行即为一个元组,它可以标识实体集中的一个实体,元组亦可称作“记录(Record)”。表中任意两行(元组)不能相同。
- 属性(Attribute):表中的一列即为一个属性,给每个属性起一个名称即属性名,属性亦可称作列(Column),表中的属性名(列名)不能相同,每个属性都有值。
- 主键(Key):表中的某个属性组,它可以唯一确定一个元组,属性组可以有一个或多个属性。
- 关系模式:对关系的描述,可表示为关系名。
二、MySQL数据类型
- 常见类型
|
类型分类 |
类型 |
取值范围或描述 |
示例 |
||
|
整数类型 |
tinyint |
0 ~255 |
员工年龄:32 |
||
|
smallint |
-32768~32767 |
员工数:2540 |
|||
|
int |
-2147483648~2147483647 |
中国人口数:1354040000 |
|||
|
小数类型 |
decimal |
decimal(5,2)表示小数的取值范围是-999.99~999.99 |
商品单价:892.35 |
||
|
定长字符串类型 |
char |
char(10) 表示字符串存储 10 个字符,即便该字符串只有一个字符, 它所占用的存储空间也是 10 个字符空间大小 |
公司名:HUAWEI |
||
|
变长字符串类型 |
varchar |
varchar(10) 表示字符串最多存储10 个字符,如果该字符串仅包含一个字“中”,那么它所占用的存储空间也只是一个字符空间大小。定义 varchar 类型可节省存储空间 |
公司地址:武汉洪山区珞瑜路 546 路光谷科技会展中心 |
||
|
日期类型 |
date |
格式:YYYY-MM-DD(年 - 月- 日)取值范围:1000-01-01 ~ 9999-12-31 |
出生日期:1982-03-24 |
||
|
日期类型 |
time |
格式:HH:MM:SS(时 : 分钟 : 秒)取值范围:-838:59:59 ~ 838:59:59 注意:时间不限当天 |
早晨上班时间:08:30:00 |
||
|
datetime |
格式:YYYY-MM-DD HH:MM:SS 取 值 范 围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
登 机 时 间:2015-05-1214:35:0 |
|||
三、数据完整性约束
1、数据完整性:为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改以及删除等操作时,DBMS 自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容
2、作用:保证数据库中的数据在逻辑上的一致性、正确性和可靠性
3、数据完整性:
(1)实体完整性:规定表的每一行记录在表中是唯一的
1)主键约束:非空,唯一,递增
2)唯一约束:唯一,可以为空
(2)域完整性
1)非空约束:不能有空值
2)默认值约束:给指定列设置默认的数据,也可以更改
(3)参照完整性
四、参照完整性约束
MySQL数据库基础(2)表结构管理的更多相关文章
- java中访问mysql数据库中的表结构信息
package cn.hncu.meta; import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.Re ...
- 利用navcat为mysql数据库单独的表赋权限及表结构同步
为mysql数据库单独的表赋权限 场景:考勤系统需要拿OA数据库td_oa中的flow_run和flow_run_data表中的数据做考勤计算 考勤系统只需要读取这两张表的数据,所以只需要开通一个单独 ...
- MySql DDL语言(数据库和数据表的管理)
数据定义语言,负责数据库和数据表的管理 ⒈数据库的管理 1.创建数据库 create database if not exists DatabaseName; #if not exists可以省略 2 ...
- mysql管理 ------查看 MySQL 数据库中每个表占用的空间大小
如果想知道MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE ...
- MySQL数据库基础
MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...
- MySQL数据库基础学习
MySQL基础知识 ----------- MySQL数据库简介 内存:一断电数据就没有了---------数据库:可以实现数据的持久化存储,有完整的管理系统管理,方便查询--------- DB:数 ...
- 转 MySQL数据库基础
http://lib.csdn.net/article/mysql/57883 1 数据库基础 一.数据库与数据库管理系统 1.数据库(DB):存放数据的仓库,从广义来说,数据不仅包括数字,还包括了文 ...
- php面试专题---mysql数据库分库分表
php面试专题---mysql数据库分库分表 一.总结 一句话总结: 通过数据切分技术将一个大的MySQLServer切分成多个小的MySQLServer,既攻克了写入性能瓶颈问题,同一时候也再一次提 ...
- MySQL数据库--基础简述
MySQL数据库--基础简述 1.15.1 MySQL简介 Mysql是最流行的RDBMS(Relational Database Management System:关系数据库管理系统),特别是在W ...
- MySQL数据库基础知识及优化
MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...
随机推荐
- git pull、git fetch、git merge、git rebase的区别
一.git pull与git fetch区别 1.两者的区别 两者都是更新远程仓库代码到本地. git fetch相当于是从远程获取最新版本到本地,不会自动merge. 只是将远程仓库最新 ...
- OC Swift 走马灯效果
我们常见走马灯样式的功能,下面整理一下 Object-C 与 Swift 的实现代码 OC UILabel *label3 = [[UILabel alloc] initWithFrame:CGRec ...
- Can we access global variable if there is a local variable with same name?
In C, we cannot access a global variable if we have a local variable with same name, but it is possi ...
- OC-基础数据类型
七 字符串与基本数据类型转换 获取字符串的每个字符/字符串和其他数据类型转换 八 NSMutableString 基本概念/常用方法 九 NSArray NSArray基本概念/创建方式/注意事项/常 ...
- 【Linux】【Database】【MySQL】使用percona搭建高可用的MySQL数据库
1. 简介 1.1. 官方文档: 数据库架构:https://docs.openstack.org/ha-guide/shared-database.html 1.2. 本次使用的的是Percona ...
- HTTP协议及常见状态码
超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议.它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的. HTTP遵循经典的客户端-服务端模型,客户端打开一 ...
- Lock 锁的实现
锁的种类 自旋锁(spinlock):无法获得锁,就一直循环获取,适合短时间的加锁 睡眠锁(sleeplock):为了防止长时间的循环等待,在获取不到锁时,进程陷入睡眠,当锁释放时对睡眠进程进行唤醒 ...
- python3约瑟夫环问题
问题描述:n个人围成一个圈,从第一个人开始数1,数到第k个出局,然后下一个人继续从1数,求出局人编号 思路:将所有人编号放到数组里,一个人出局后,下一个人加上k对数组长度求余,得出下一个要删除的编号. ...
- 【模型推理】Tengine 模型转换及量化
欢迎关注我的公众号 [极智视界],回复001获取Google编程规范 O_o >_< o_O O_o ~_~ o_O 本文介绍一下 Tengine 模型转换 ...
- 试工具_ab
目录 一.简介 二.例子 三.参数 一.简介 ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的. 1.ab每次只能测试一个URL,适合做重复压力测 ...