MySQL数据库3 - MySQL常用数据类型
一. MySql常用数据类型
数据类型:整数(tinyint smailint int bigint)
定点数 decimal(p,s) ------ 小数点位置固定的 ---》 数据精度得到保证
浮点数 float(p,s) 4字节 double(p,s) 8字节 ----- 小数点位置不固定 ---》 表示的范围更大
日期时间 date - 某年某月某日
time - 一天中的具体时间,或者两个时间的间隔。可能大于24, 也肯能为负.
datetime - 日期+时间
文本 char - 固定长度的文本
varchar 根据输入文本来分配字节
text 大文本数据
二进制 bit 将输入数据转换为二进制形式
二. 创建数据表
1. 数据库设计基本步骤
需求分析阶段:分析客户的业务和数据处理需求
概要设计阶段:设计数据库E-R模型图,确认需求信息的正确和完整
详细设计阶段: 将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的三大范式进行审核
代码编写阶段: 选择具体数据库进行物理实现,并编写代码实现前端应用
eg:模拟QQ游戏大厅项目
需求分析:系统要记录哪些信息
数据表:游戏表,玩家表,分数表
每个表的字段:游戏表(编号,名称,类型,难度)
玩家表(QQ号,昵称,性别,生日,手机号)
分数表(游戏编号,玩家QQ,得分)
E-R (Entity - Relationship) 实体关系图
长方形 - - 实体,一般是名词
椭圆 - - 属性,一般是名词
菱形 - - 关系,一般是动词
什么是范式?
答:设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
Dr E.F.codd最初定义了规范化的几个级别,范式用以定义具有最小冗余的表结构。
第一范式(1st NF):如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式。
eg: 地址- 中国北京 ------为了满足第一范式应该将属性地址分为:国家,城市
第二范式(2nd NF): 如果一个关系满足1NF,并且除了主键以外的其他列都完全依赖于该主键,则满足第二范式。
第二范式要求每个表只描述一件事情。
第三范式(3rd NF): 如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式。
第三范式要求表中不存在冗余字段
使用客户端数据创建数据表步骤:
1. 打开链接,选择数据库
2. 右键选择新建表
3. 填写表各个字段的名称,数据类型,勾选是否允许空
4. 保存表
使用命令窗口创建数据库:
1. 从命令窗口登录Mysql - use Test ------进入Test 数据库进行操作
2. 使用CREATE TABLE语句创建表
create table table_name
(
col_name1 col_type [not null],
col_name2 col_type [not null],
.....
)
三. 为列添加约束
1. 主键约束 - primary key ( 不能出现重复值且不能为空)
作用:保证实体完整性
eg: 为玩家表的玩家QQ列添加主键约束
create table users (
user_qq varchar(20) not null primary key,
user_name varchar(50) not null,
user_sex char(2) not null,
user_birthday date not null,
user_phone char(11) not null
)
2. 外键约束
作用:保证引用完整性
eg: 为分数表添加外键约束
create table score(
user_qq varchar(20) not null references users(user_qq),
gno int not null references games(Gno),
score int not null
)
3. 检查约束
作用:保证域完整性。保证某个列的数据必须符合某种格式或范围
eg: 为游戏表添加检查约束
create table games(
gno int not null check(gno>0),
gname varchar(50) not null,
gtype varchar(20) not null
)
4. 默认约束
作用:保证域完整性(没有值的时候为默认值)
create table users (
user_qq varchar(20) not null ,
user_name varchar(50) not null,
user_sex char(2) not null default '男',
user_birthday date not null,
user_phone char(11) not null
)
5. 自动增长列
作用:保证实体完整性。自动排列编号
create table games(
gno int not null auto_increment,
gname varchar(50) not null,
gtype varchar(20) not null
)
MySQL数据库3 - MySQL常用数据类型的更多相关文章
- MySQL数据库笔记二:数据类型及数据库操作
三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...
- MySQL数据库之互联网常用架构方案
一.数据库架构原则 高可用 高性能 一致性 扩展性 二.常见的架构方案 方案一:主备架构,只有主库提供读写服务,备库冗余作故障转移用 jdbc:mysql://vip:3306/xxdb 高可用分析: ...
- Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数
mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...
- 【MySQL 数据库】MySQL目录
目录 [第一章]MySQL数据概述 [第二章]MySQL数据库基于Centos7.3-部署 [MySQL解惑笔记]Centos7下卸载彻底MySQL数据库 [MySQL解惑笔记]忘记MySQL数据库密 ...
- Mysql学习笔记之常用数据类型 (转)
http://www.cnblogs.com/doit8791/archive/2012/05/11/2495319.html 数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.My ...
- Mysql学习笔记之常用数据类型
数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.Mysql的常用数据类型主要有: 串数据类型:最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串.定长串结束长度固定的字符 ...
- MySql数据库2【常用命令行】
(一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL 进入mysql安装目录下的bin目录下,再键入命令mysql -uroot -p,回 ...
- MySQL 数据库和一些常用命令的使用
常用命令总结: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 ...
- MYSQL数据库学习----MYSQL数据类型
一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节. 通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型 ...
随机推荐
- 通过页面调用APP【H5与APP互通】
现在H5和App原生的内容原来越互通,所涉及的业务也越来越复杂和融合,所以如何互相之间方便的调用才是王道. 场景1 比如用hybrid获取地理位置和短信信息,这当然需要框架封装好,比如利用框架的bri ...
- 拆分SharePoint 2013 中CreatedModifiedInfo 的时间
最近在自定义DisForm.aspx页面时 发现 创建时间信息无法进行拆分,人事MM只想要修改时间,去掉创建人,创建时间和修改人. 于是我的重新研究下在SPD里面如何去拆分这个时间. 在详情页面上找到 ...
- uva 10271 (dp)
题意:有n个数据,给定k,要从中选出k+8个三元组(x,y,z,其中x<=y<=z),每选一次的代价为(x-y)^2,求最小代价和. [解题方法] 将筷子按长度从大到小排序 排序原因: 由 ...
- Jaxb annotation使用
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向 ...
- networkcomms 相关文章(转载)
介绍开源的.net通信框架NetworkComms框架之一 首字节验证 介绍开源的.net通信框架NetworkComms框架之二 传递类 介绍开源的.net通信框架NetworkComms框架之三 ...
- yii2 配置文件加载顺序, 以及调用自定义配置信息。
在配置上一般有以下问题: 每个团队成员都会有自己的配置项,提交这样的配置项将会影响其他团队成员: 生产库密码和API密钥不应该出现在代码库中: 有多个服务器环境的情况:开发.测试.生产:每一种环境应该 ...
- CASthesis 模板编译的问题
使用CASthesis模板(https://github.com/xiaoyao9933/UCASthesis,介绍里说这个版本是在ThuThesis的基础上修改的),自带的说明如下. 使用须知 == ...
- 5、HTML5列表、块和布局
1.块元素 块元素在显示的时候,通常会以新行开始 如:<h1> <p> <ul> <!-- 块—>注释 <p>hello</p> ...
- php foreach 语法的遍历来源数组如果不是一个有效数组php会出现错误警告 Invalid argument supplied for foreach()
在php中,foreach语法的遍历来源数组如果不是一个有效数组,php会出现错误警告 Invalid argument supplied for foreach() ,但是很多时候这个数组是取自某些 ...
- jdbc调用存储过程和函数
1.调用存储过程 public class CallOracleProc { public static void main(String[] args) throws Exception{ Stri ...