前言
任何一个管理工具,最终都是通过SQL查询的方式来管理数据库和数据。
数据库管理工具
虽然,我们可以通过命令行直接执行SQL,达到管理的目的,但毕竟它不直观,需要记忆各种SQL语句结构,并且稍有差错就会执行失败。所以我们通常会使用一些客户端工具来进行管理。
phpmyadmin
使用PHP语言开发,基于B/S结构的管理工具,能够执行大部分数据库管理操作,优点是简单方便,只要在服务器上部署此软件,任何一台电脑都可以输入网址来使用。
navicat
基于C/S结构的管理工具,需要下载和安装,并且需要付费注册或XXOO
。
优点是操作更流畅,毕竟客户端软件和网页的界面相比,体验度上有优势,而且数据备份和还原的功能相对来说比较稳定。(phpmyadmin基于HTTP协议的文件传输,受约束的地方较多)
工具只是工具,大家根据自己的需要选择即可,多数情况下,我们会兼而有之。
创建数据库
这是一个非常简单的工作,只要输入有效的名称,就能创建你自己的数据库。
唯一需要注意的是字符集选择,错误的字符集选择会导致乱码,多数情况下我们会选择 UTF-8,因为这是能够容纳世界文字的一种字符集。
同时,我们一般会选择 utf8_general_ci
作为排序规则,大家有兴趣可以多了解一下,我可以提出一个问题:如果对字母数据进行排序的时候, A 和 Z 谁排在前面?
创建数据表
数据表必须要包含一定量的字段,所以其实就是创建字段的过程。
自增主键
这不是一个必须的字段,但是大部分情况下我们第一个字段都是这样的类型。
一般情况下,它是这样的:
- 是数字类型,比如 int
- PRIMARY 属性,也就是主键
- AUTO_INCREMENT,自动生成数值,每次递增+1
在做数据查询时(WHERE)我们通常会优先使用主键字段,速度很快。
常用的数据类型
- 很小的数字,tinyint
- 较大的数字,int
- 极大的数字,bigint
- 固定长度的字符串 char
- 不一定多长的字符串 varchar
- 大篇文章 text
- decimail 精准小数,比如货币值可用它
- float 和 double 也是小数,但容易有误差
我个人更喜欢使用 int 类型,来存储时间的 unix时间戳。
索引
正确的索引能极高的提高查询效率(几十几百倍), 但是索引的知识覆盖面过于广泛,建议新人先了解其基本概念,在实战中不断的优化自己的数据结构和SQL语句。