MySQL数据库基础

MySQL数据库基础入门

数据库分为关系型数据库和非关系型数据库

常用的关系形数据库有Oracle, MySQL,Microsoft SQL Server, Sqlite
非关系型数据库有 IBM Db2,Redis
MySQL是web时代使用最广泛的关系型数据库

关系型数据库的核心元素
  • 数据行(记录)
  • 数据列(字段)
  • 数据表(数据行的集合)
  • 数据库(数据表的集合)
数据库的安装
  • 安装服务器端:在终端中输入如下命令,回车后,然后按照提示输入
    sudo apt-get install mysql-server
  • 启动服务器
    sudo service mysql start
  • 查看进程中是否存在MySQL
    ps ajx|grep mysql
  • 停止服务
    sudo service mysql stop
  • 重启服务
    sudo service mysql restart
数据库的数据类型
  • 常用的数据库类型

    整数:int,bit
    小数:decimal
    字符串:varchar,char
    日期时间: date, time, datetime
    枚举类型(enum)

  • 数据库特别说明

    decimal 表示浮点数,如 decimal(5, 2) 表示共存5位数,小数占 2 位.
    char 表示固定长度的字符串,如char(3),如果填充’ab’时会补一个空格为’ab ‘.
    varchar 表示可变长度的字符串,如varchar(3),填充’ab’时就会存储’ab’
    对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径.
    字符串 text 表示存储大文本,当字符大于 4000 时推荐使用, 比如技术博客

数据约束

约束本质上是对数据在数据类型限定的基础上添加的额外的要求

  • 主键 primary key: 物理上存储的顺序. MySQL 建议所有表的主键字段都叫 id, 类型为 int unsigned.

  • 非空 not null: 此字段不允许填写空值.

  • 惟一 unique: 此字段的值不允许重复.

  • 默认 default: 当不填写字段对应的值会使用默认值,如果填写时以填写为准.

  • 外键 foreign key: 对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功,
    如果不存在则填写失败并抛出异常

数据类型附录表
  • 整数类型
     类型	         字节大小   有符号范围(Signed)                                   无符号范围(Unsigned)
     TINYINT              1	      -128 ~ 127                                        0 ~ 255
     SMALLINT             2       -32768 ~ 32767                                    0 ~ 65535
     MEDIUMINT            3       -8388608 ~ 8388607                                0 ~ 16777215
     INT/INTEGER          4       -2147483648 ~2147483647                           0 ~ 4294967295
     BIGINT               8       -9223372036854775808 ~ 9223372036854775807        0 ~ 18446744073709551615
    
  • 字符串
     类型	     字节大小	    示例
     CHAR        0-255          类型:char(3) 输入 'ab', 实际存储为'ab ', 输入'abcd' 实际存储为 'abc'
     VARCHAR     0-255          类型:varchar(3) 输 'ab',实际存储为'ab', 输入'abcd',实际存储为'abc'
     TEXT        0-65535        大文本
    
  • 日期时间类型
     类型	          字节大小			         示例
     DATE		    4					'2018-01-01'
     TIME               3					'00:00:00'
     DATETIME	    8					'2018-01-01 00:00:00'
     YEAR               1					'2018'
     TIMESTAMP          4					'2018-01-01 00:00:01' UTC ~ '2038-01-01 00:00:01' UTC
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值