mysql数据库基本知识

centos7中mysql的安装:https://blog.csdn.net/qq_36582604/article/details/80526287

数据库介绍

   数据库(DATA BASE)是可以长久的,按照一定规则组织保存在存储设备上的一种数据集合。
   数据库管理系统(DBMS)一种操作并管理数据库的软件。MYSQL数据库就是一个DBMS。

关系数据库特点

优点
  • 数据是以表格的形式表现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据集
  • 行和列组成一个表单
  • 若干张表组成database
缺点
  • 创建索引和维护索引会耗费时间,随着数据的增加而增加
  • 索引会占用物理空间,对数据进行增删改查的时候,会降低数据的维护速度。

关系数据库范式

  1NF:即数据库表中的所有字段值都是原子值或者说列不可拆分。
  2NF:即数据库表中的每一列的值,都必须和主键相关,不能存在部分相关。即数据表中,只能是一张表存储一种数据。
  3NF:在前两项的基础上,数据表中的每一列值必须和主键直接相关,不能存在传递依赖(间接相关)

数据库的数据完整性约束

  • 实体完整性:数据库中表的每一行在表中是唯一的实体
  • 比如:表中列的非空约束、唯一约束和标的主键约束(起唯一标识作用)
    
  • 域完整性:指表中的列满足特定的数据类型约束(比如精度)
  • 参照完整性:是两个表的主键和外键的数据要一致,保证表之间数据的一致性
  • 比如:外键约束:指定某一个列或者一组列作为外键。外键取值应是父表中的某一主键或者空值。
    
  • 用户定义完整性:针对某个特定关系数据库的约束条件,反映某一具体应用必须满足的语义要求。
  • 比如说:校验约束:用来检查字段所允许的范围或者格式
    

数据库索引

  • 作用:
  •  提高数据库的查询速度
    
  •  保证数据的唯一性
    
  •  加速表和表之间的连接,实现表之间的参照完整性
    
  • 减少分组和排序时间
    
  • 对全文搜索字段进行优化
    
  • 分类
  •  主键索引
    
  •  		数据表中某一属性能唯一标识一条记录,不允许有空值(B+tree)
    
  •  唯一索引
    
  •  		避免同一个表中某一列数据重复
    
  •  		与主键索引的区别:主键索引一个表中只有一个,唯一索引可存在多个
    
  •  常规索引
    
  •  		快速定位特定数据
    
  •  		index 和key关键字都可以设置常规索引,但是不能插入太多的常规索引,会印象数据的增删查改。
    
  •  全文索引:
    
  •  		定位特定数据,但只能用于MyISAM类型的数据表,只能用于char,vaechar, text数据列类型
    
  •          ALTER TABLE tablename ADD FULLTEXT(column1, column2),有了全文索引,就可以用SELECT查询命令去检索哪些包含一个或者多个给定单词的数据记录:
    
  •  		如:ELECT * FROM tablename WHERE MATCH(column1, column2) AGAINST(‘xxx′, ‘sss′, ‘ddd′)
    
  •  组合索引:
    
  •  		就是数据库表中包含多个字段但是只有索引名称
    
  •  		如:CREATE INDEX 字段名_字段名_.. ON 表名 (‘字段名(length)’,字段名(length)...);
    
  •  		在MYSQL中使用时要遵循“最左前缀”,并且它的索引个数遵循1,12,123...形式的排列组合。
    
  • 索引删除:DROP INDEX 索引名称 ON 表名

Ubuntu下的MYSQL的安装与卸载

  • 删除MySQL

  • `sudo apt-get autoremove --purge mysql-server-5.0

  • sudo apt-get remove mysql-server

  • sudo apt-get autoremove mysql-server

  • sudo apt-get remove mysql-common`

  • 清理残留数据:dpkg -1 | grep ^rc|awk '{print $2} | sudo xargs dpkg -p

  • 安装mysql

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo netstat -tap | grep mysql
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值