首先,我们使用Navicat Premium编辑器创建一个用户,同时设置用户权限,MySQL默认有一个root用户,拥有最高权限

下面,我们先创建一个用户

①CREATE USER  'aaa'@'localhost'  IDENTIFIED  BY  'aaa';

这里我们通过CREAT USER 创建了一个叫  'aaa'@'localhost' 的用户。

②GRANT ALL ON *.* TO 'jredu'@'localhost';

再通过GRANT给我们创建的用户分配权限,这里*.*表示用户可以处理数据库中的所有表。

创建完用户我们开始创建一个自己的数据库

CREATE DATABASE IF NOT EXISTS myDB;

同样的我们使用CREAT方法来创建数据库,这里为了不重复创建,我们使用IF NOT EXISTS写法。

最后是使用我们建好的数据库

USE  myDB

到这里我们通过Navicat Premium创建了一个简单的数据库

下面我们来看下MySQL中常见的几种数据类型

MySQL中主要有字符型、整形、浮点型和日期型四种数据类型

一、字符型:
① CHAR(N):固定N个长度的字符串,如果长度不够会自动空格补齐。N的范围,0~255
② VARCHAR():存储可变长度的字符串。 最常用的。
③ TEXT:存储可变长度的字符串。常用于发布文章等大段内容
④ TINYTEXT:小文本 0~2^8-1 * 10;
⑤ MEDIUMTEXT:0~2^24-1 * 10^3;
⑥ LONGTEXT:0~2^32-1 * 10^4;
⑦ enum('男','女');

二、整形:
① TINYINT: 无符号0~2^8-1 有符号 -2^7~2^7-1;
② SMALLINT: 无符号0~2^16-1 有符号 -2^15~2^15-1;
③ MEDIUMINT: 无符号0~2^24-1 有符号 -2^23~2^23-1;
④ INT:无符号0~2^32-1 有符号 -2^31~2^31-1; 最常用。
⑤ BIGINT :无符号0~2^64-1 有符号 -2^63~2^63-1;
三、浮点型:
① FLOAT:可以精确到小数点后七位有效数字:
② DOUBLE: 可以精确到小数点后十五到十六位数字

四、日期型:
几乎不用(由于时间存储使用字符串或时间戳,所有数据库中几乎不用日期类型)
① DATE:存储日期和时间数据
② `TIMESTAMP: 比date更精确

数据库设计的三大范式

第一范式(1NF)数据表中的每一列必须是不可拆分的最小单元,也就是确保每一列的原子性。
列如 userinfo: 山东省烟台市 11111111
可拆分为: userAds: 山东省烟台市 userTel 1111111

第二范式(2nd NF):满足1NF后,要求表中的所有列都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说,一个表只描述一件事情
例如:订单表只能描述订单相关的信息,所以所有字段都必须与订单ID相关
产品表只描述与产品相关的信息,所以所有的字段都必须与产品ID相关
因此:一张表中的产品信息与订单信息不能同时存在

第三范式(3NF)满足2NF后要求:表中的所有字段只与主键相关,而不与其他的列相关,表中的每一列只能依赖于主键

总结:

【第二范式与第三范式的本质区别】

在于有没有分出两张表,第二范式是说一张表中包含了多种不同实体的属性,那么必须要分出多张表,第三范式要求已经分出了多张表,那么一张
表中只能有另一张表的ID,不能有其他的任何信息,其他的信息一律用主键在另一表查询。

MySQL数据库的设计和表创建的更多相关文章

  1. mysql数据库为什么要分表和分区?

    一般下载的源码都带了MySQL数据库的,做个真正意义上的网站没数据库肯定不行. 数据库主要存放用户信息(注册用户名密码,分组,等级等),配置信息(管理权限配置,模板配置等),内容链接(html ,图片 ...

  2. MySQL数据库性能优化:表、索引、SQL等

    一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...

  3. 第 9 章 MySQL数据库Schema设计的性能优化

    前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只 ...

  4. 第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】

    MySQL数据库,[显示.创建.选定.删除数据库],[用户管理.对用户增删改查以及授权] 1.显示数据库 SHOW DATABASES;显示数据库 SHOW DATABASES; mysql - 用户 ...

  5. MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

    第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就 ...

  6. MYSQL数据库、用户、表等基础构建

    MYSQL数据库.用户.表等基础构建: 1.->:创建数据库: 1.1. create schema [数据库名称] default character set utf8 collate utf ...

  7. mysql数据库架构设计与优化

    mysql数据库架构设计与优化 2019-04-23 20:51:20 无畏D尘埃 阅读数 179  收藏 更多 分类专栏: MySQL   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...

  8. ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据

    ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...

  9. java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据

    package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...

随机推荐

  1. Apache服务器 403 Forbidden的几种错误原因小结!

    403 Forbidden错误原因详解 403 - Forbidden(禁止访问),服务器拒绝请求 - forbidden request (matches a deny filter) => ...

  2. 转-subl配置全栈开发环境

    为 Sublime Text 3 设置 Python 的全栈开发环境 Sublime Text 3 (ST3) 是一个轻量级的跨平台文字编辑器,尤以其轻快的速度,易用性和强大的社区支持而著称.它一经面 ...

  3. 转-linux下配置socks5代理

    简介: 在Linux下有各种各样的代理程序可用,象最常用的Squid,是http/https代理,也能代理ftp请求,但它实际上 是个HTTP代理程序,不是ftp代理,但它能处理ftp代理请求,就象浏 ...

  4. 0054 Spring MVC的@Controller和@RequestMapping注解

    @Controller注解 该注解用来指示一个类是一个控制器,在Spring的配置xml文件中开启注解扫描 <context:conponent-scan base-package=" ...

  5. 对java中hashmap深入理解

    1.HashMap的结构是怎样的? 二维结构,第一维是数组,第二维是链表 2.Get方法的流程是怎样的? 先调用Key的hashcode方法拿到对象的hash值,然后用hash值对第一维数组的长度进行 ...

  6. RabbitMQ学习之:(一)初识、概念及心得

    因为网上有一篇很好的RMQ的入门帖子http://lostechies.com/derekgreer/tag/rabbitmq/,所以我就不多说了,就说说我目前看了该作者1~5章后,自己的心得.(所以 ...

  7. treeMap,key排序,value排序

    HashMap与TreeMap按照key和value排序 使用一个场景是mapreduce中用解决topn问题是用value 排序 topn MapReducetopN

  8. EasyUI combobox 加载JSON数据《一》

    Action返回 JSON 格式如下: jsonResult = { total=7,rows=[ {TEXT=技术支持, ID=402894ca4419acf1014419b148a10000}, ...

  9. css3 一个简单的静态立方体

    <meta charset="utf8"> <style> .cube { position: absolute; left: 50%; top: 250p ...

  10. XHTML XML

    XHTML是可扩展的超文本标记语言(Extensible HyperText Markup Language). l  XHTML是w3c组织在2000年的时候为了增强HTML推出的,本来是想替代HT ...