Day32-40 MySql

1、初识MySQL

JavaEE:企业级java开发 Web

前端(页面:展示,数据!)

后台(连接点:连接数据库JDBC,连接前端(控制,控制视图跳转,和给前端传递数据))

数据库(存数据,Txt,Excel,word)

  1. 只会写代码,学好数据库,基本语法只能混饭吃

  2. 要学习操作系统层面的东西、数据结构和算法!可以当一个不错的程序员!

  3. 离散数学,数字电路,体系结构,编译原理。实战经验。那就能成为高级程序员,优秀的程序员。

1.1、为什么学习数据库

  1. 岗位需求
  2. 现在的世界,大数据时代。得数据者得天下。
  3. 被迫需求:存数据。 去IOE
  4. 数据库是所有软件体系中最核心得存在 。 DBA

1.2、什么是数据库

数据库(DB,DataBase)

概念:数据仓库,软件,安装在操作系统(windows,linux,mac,…)之上!SQL,可以存储大量得数据,500万!

作用:存储数据,管理数据。

1.3、数据库分类

关系型数据库: 行和列 SQL

  • MySql,Oracle,Sql Server,DB2,SQLite

  • 通过表和表之间,行和列之间的关系进行数据的存储

非关系型数据库:(key:value) NoSql(not only sql)

  • Redis,MingDB
  • 非关系型数据库,用对象存储,通过对象的自身属性来决定。

DBMS(数据库管理系统)

  • 数据库管理软件,科学有效的管理。维护和获取数据。
  • MySQL数据库管理系统

1.4、MySQL

MySQL是一个**关系型数据库管理系统**

前世:瑞典MySql AB 公司

今生:属于 Oracle 旗下产品

MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

开源的数据库软件。

体积小、速度快、总体拥有成本低。、

中小型网站或者大型网站,集群!

官网:www.mysql.com

5.7版本 稳定

安装建议:

  1. 尽量不要使用exe安装,会往注册表走。
  2. 尽可能使用压缩包安装。

1.5、安装MySQL

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-winx64.zip

  1. 解压

  2. 将这个文件夹放到自己的电脑环境目录下。

  3. 配置环境变量:我的电脑-右击属性-高级系统设置-环境变量-Path

    Day32-40 MySql

    sc delete mysql,清空服务

    1.6、安装SQLyog

    https://onlinedown.rbread04.cn/huajunsafe/SQLyog-13.1.6-0.x64Community.zip

    Day32-40 MySql

    每一个sqlyog的执行操作,本质就是对应一个sql,可以在软件的历史纪录中查看。

    1. 新建一张表student

    字段: id ,name,age

    Day32-40 MySql

    数据库xxx语言 CRUD 增删改查! CV程序猿 API 程序员

    DDL 定义

    DML 操作

    DQL 查询

    DCL 控制

    2、操作数据库

    操作数据库>操作数据库中的表>操作数据库中表的数据

    2.1、操作数据库

    1. 创建数据库
    1. 删除数据库
    1. 使用数据库
    1. 查看数据库

    学习思路:

    • 对照SQLyog的可视化历史记录查看sql
    • 固定的语法或关键字必须强行记住

    2.2、数据库的列类型

    数值

    • tinyint 十分小的数据 1个字节
    • smallit 较小的数据 2个字节
    • mediumint 中等大小数据 3个字节
    • int 标准的整数 4个字节 常用的
    • bigint 较大的数据 8个字节
    • floot 单精度浮点数 4个字节
    • double 双精度浮点数 8个字节
    • decimal 字符串形式的浮点数 金融计算的时候,一般是使用decimal

    字符串

    • char 字符串固定大小 0-255
    • varchar 可变字符串 0-65535 常用的变量 String
    • tingtext 微型文本 2^8-1
    • text 文本串 2^16-1 保存大文本

    时间日期

    java.util,Date

    • date YYYY-MM-DD 日期格式

    • time HH:mm:ss 时间格式

    • datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式

    • **timestamp 时间戳,1970.1.1 到现在的毫秒数!**也较为常用

    • year 年份使用

    null

    • 没有值,未知、
    • 注意,不要使用null进行运算

    2.3 、数据库的字段属性(重点)

    Unsigned:

    • 无符号整数
    • 声明了该列不能申明为负数

    zerofill:

    • 0填充的
    • 不足位数,使用0来填充,int(3) ,5—>005

    自增:

    • 默认自动在上一条记录的基础上+1
    • 通常用来设计唯一的主键 index,必须是整数类型
    • 可以自定义设计主键自增的起始值和步长

    非空:

    null 和not null

    • 如果设置为not null,不赋值的话就会报错!
    • null,如果 不写值,默认就是null!

    默认:

    • 设置默认的值!
    • sex,默认值为男,如果不指定该列的值,那么会有默认值。

    拓展:

    2.4、创建数据库表(重点)

    格式:

    常用命令:

    2.5、数据表的类型

    MYISAM INNODB
    事务支持 不支持 支持
    数据行锁定 不支持 支持
    外键约束 不支持 支持
    全文索引 支持 不支持
    表空间大小 较小 较大,约2倍

    好处:

    • MYISAM 节约空间,速度较快
    • INNODB 安全性高,事务的处理,多表多用户操作。

    在物理空间存在的位置

    所有的数据库文件都存在data目录下,一个文件夹对应一个数据库。

    本质还是文件的存储!

    MySQL数据库引擎在物理文件上的区别:

    • MYISAM 的文件

      • *.frm 表结构的定义条件
      • *.MYD 数据文件(data)
      • *.MYI 索引文件 (index)
    • INNODB在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件。

    设置数据库表的字符集编码

    不设置的话,会是mysql默认的字符集编码Latin1(不支持中文)。

    在my.ini中配置默认的编码:character-set-server=utf8

    2.6、修改和删除

    修改

    删除

    所有的创建和删除操作尽量判断,以免报错

    注意点

    • 字段名使用反引号·· 包裹
    • 注释使用/**/
    • sql关键字大小写敏感,建议小写
    • 所有的符号用英文

    3、MySQL数据管理

    3.1、外键(了解)

    物理外键:

    方式一:在创建表的时候增加约束

    来源:蒋亚文

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月10日
下一篇 2020年9月10日

相关推荐