一. 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常用数据类型的更多相关文章

  1. MySQL数据库笔记二:数据类型及数据库操作

    三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...

  2. MySQL数据库之互联网常用架构方案

    一.数据库架构原则 高可用 高性能 一致性 扩展性 二.常见的架构方案 方案一:主备架构,只有主库提供读写服务,备库冗余作故障转移用 jdbc:mysql://vip:3306/xxdb 高可用分析: ...

  3. Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数

    mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...

  4. 【MySQL 数据库】MySQL目录

    目录 [第一章]MySQL数据概述 [第二章]MySQL数据库基于Centos7.3-部署 [MySQL解惑笔记]Centos7下卸载彻底MySQL数据库 [MySQL解惑笔记]忘记MySQL数据库密 ...

  5. Mysql学习笔记之常用数据类型 (转)

    http://www.cnblogs.com/doit8791/archive/2012/05/11/2495319.html 数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.My ...

  6. Mysql学习笔记之常用数据类型

    数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.Mysql的常用数据类型主要有: 串数据类型:最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串.定长串结束长度固定的字符 ...

  7. MySql数据库2【常用命令行】

    (一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL 进入mysql安装目录下的bin目录下,再键入命令mysql -uroot -p,回 ...

  8. 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 ...

  9. MYSQL数据库学习----MYSQL数据类型

    一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节. 通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型 ...

随机推荐

  1. for循环立即执行和不立即执行,js闭包

    <script type="text/javascript" src="jquery-2.1.1.min.js"></script> & ...

  2. Java中Sting类型对象内容不可改变

    String拥有一个特殊点叫:String对象的内容不可改变!   在调用诸如String对象的replace()等方法时,不是在原Sting对象的基础上改变对象内容,而是创建了一个新的String对 ...

  3. Android 三级联动选择城市+后台服务加载数据库

    技术渣,大家将就着看 首先我们需要一个xml数据保存到数据库,这里我从QQ下面找到一个loclist.xml文件 <CountryRegion Name="中国" Code= ...

  4. 多行溢出隐藏显示省略号功能的JS实现

    在页面重构中,经常需要将过多的内容隐藏而显示部分.在单行文本中实现非常简单,但是在多行文本中,则需要根据实际选择不同的方式. 用CSS实现多行溢出隐藏的代码非常简单,但是兼容性也相对较低. displ ...

  5. css学习归纳总结(二) 转

    原文地址:css学习归纳总结(二) 标签与元素 <p>标签和p元素有什么区别呢?大多数时候他们表示的是同一样东西,但仍有细微的区别.<p>.<div>等指的是HTM ...

  6. Oracle 数据库特殊查询总结

    1. 查询本节点及本节点以下的所有节点: select * from table1 c start with c.p_id='0000000' connect by prior c.id=c.p_id ...

  7. ArcGIS Add-in插件开发从0到1及实际案例分享

    同学做毕设,要求我帮着写个ArcGIS插件,实现功能为:遍历所有图斑,提取相邻图斑的公共边长及其他属性(包括相邻图斑的ID),链接到属性表中.搞定后在这里做个记录.本文分两大部分: ArcGIS插件开 ...

  8. java selenium (八) Selenium IDE 用法

    Selenium IDE 是Firefox 浏览器的一个插件, 它会记录你对Firefox的操作,并且可以回放它的操作. 用法简单,不过我觉得这个没多大的用处 阅读目录   Selenium IDE ...

  9. 数位DP入门

    HDU 2089 不要62 DESC: 问l, r范围内的没有4和相邻62的数有多少个. #include <stdio.h> #include <string.h> #inc ...

  10. Angular js 之动态传数据到下一个页面和动态通过ng-click进入不同的页面

    +关于Angular js中一些千篇一律的后台获取数据 首先在services.js里面把服务写好 然后在controller里面把数据给打印出来 (首先需要把数据注入) +关于Angular js中 ...