阅读原文
前言
MySQL 是目前使用最广泛的关系型数据库,是在软件开发中所必备的技能之一,这是关于 MySQL 的系列文章,将从 MySQL 的基本概念、基本使用、SQL 语句、函数、聚合函数、表连接以及表设计等多方面对 MySQL 进行总结,而本篇是数据库基础部分,大多都是一些概念性的内容和表的创建,数据库博大精深,本系列文章内容较浅,适合于前端的同学们对 MySQL 的入门,当然这也是我的学习笔记,希望可以帮助大家。
MySQL 的基本概念
**MySQL 的特点:**开源免费、性能高、安装使用简单。
MySQL 的作用:
- 存储大量数据,方便检索和访问;
- 保持数据信息的一致、完整;
- 实现数据的共享和安全;
- 通过组合分析产生新的有用信息。
**实体:**只要是客观存在,能够被描述出来的都是实体,每一条数据都是一个实体。
**DB:**是数据库的意思,就是存储数据的仓库,可以存放结构化的数据。
**DBMS:**代表数据管理系统,是一种系统软件,提供操作数据库的环境,如 Navicat for MySQL
,可以通过数据库管理系统对数据进行增、删、改、查。
**SQL:**结构化查询语言,专门用来和数据库进行交流的语言,几乎所有的 DBMS
都支持 SQL
。
数据表:
- 表是数据库中包含所有数据的数据库对象,也是其他对象的基础;
- 表定义是一个集合,数据在表中是按行和列的格式组织的,用来存放数据;
- 行被称为记录,用来存放一个实体,列称为字段用来描述实体的某一个属性。
MySQL 的配置和命令
1、MySQL 配置
在 MySQL 的默认安装目录中 my.ini
文件是专门用来配置的,常用配置项如下:
- port:端口号;
- basedir:安装目录;
- datadir:数据存放目录
- charcter-set-server:字符集;
- default-storage-engine:存储引擎;
- sql-mode:语法模式;
- max-connections:最大连接数。
2、MySQL 命令
MySQL 服务启动和停止:
net start MySQL
net stop MySQL
连接和退出数据库:
mysql -h 127.0.0.1 -P 3306 -uroot -p123456
exit
-h
代表主机名,-p
代表端口号,-u
和 -p
分别代表当前 MySQL 服务的账号和密码。
查看当前 MySQL 中的数据库:
show dbs;
show database;
切换数据库:
use dataname;
查看数据库的表:
show tables;
show tables from mysql;
查看当前所在的数据库:
select database();
查询表结构:
desc tablename;
数据完整性
数据完整性是指,数据库种所有数据值均为正确状态,如果数据存储有不正确的的数据值,则该数据库丧失数据完整性,为了实现数据完整性,需要检验数据库表中每行每列的数据是否符合要求,在创建表时,应该保证以后输入的数据都是正确的,错误的数据不允许输入。
1、域(列)完整性
域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的,如关于年龄的字段,数据类型应为 int
,关于普通的字符串值得类型应该为 varchar
等等,并在规定值类型时相应得规定值的长度,即所占的字节数。
数据类型图如下:
数值类型整数型:
- tinyint:存储所占
1
字节,无符号可以存储0
~255
,有符号可以存储-128
~127
; - smallint:存储所占
2
字节,无符号可以存储0
~65535
,有符号可以存储-32768
~32767
; - mediumint:存储所占
3
字节,无符号可以存储0
~16777215
,有符号可以存储-8388608
~8388607
; - int:存储所占
4
字节,无符号可以存储0
~4294967295
,有符号可以存储-2147483648
~2147483647
; - bigint:存储所占
8
字节,无符号可以存储0
~18446744073709551615
,有符号可以存储-9223372036854775808
~9223372036854775807
。
上面的整数型用来规定字段存储的数据必须为整数,从上到下需要占用的空间越来越多,能表示的数字也越来越大,定义字段时选择满足需求的数字范围即可。
数值类型小数型:
- float:单精度浮点型,存储所占
4
字节,数值范围为-3.4E38 ~ 3.4E38
,7
个有效位; - double:双精度浮点型,存储所占
8
字节,数值范围为-1.7E308~1.7E308
,15
个有效位; - decimal:定点型,存储所占
16
字节,28