MySQL 概述
基本概念
为什么使用数据库
数据持久化,将数据保存到可掉电式存储设备中
数据库与数据库管理系统
- DB:数据库(Database)
- DBMS:数据库管理系统(Database Management System)
- SQL:结构化查询语言(Structured Query Language)
RDBMS
- RDBMS把的数据结构归结为简单的二元关系(即二维表格形式),以行 (row)和列(column)的形式存储数据。
- SQL 是关系型数据库的查询语言。
- 优势:复杂查询; 事务支持
非RDBMS
- Redis : 内存缓存,键值型数据库
- MongoDB : 文档型数据库
- Solr、Elasticsearch : 搜索引擎数据库
- 列式数据库, 图形数据库
关系型数据库设计规则
- E-R(entity-relationship,实体-联系)模型,三个主要概念: 实体集 、 属性 、 联系集 。
- 一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)。
- 表的关联关系:一对一关联、一对多关联、多对多关联、自我引用
- 建表原则:
一对一:外键唯一;外键是主键 一对多:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键 多对多:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。
快速命令
服务命令
# 启动:
net start MySQL服务名
# 停止
net stop MySQL服务名
MySQL
登录方式
mysql -h localhost -P 3306 -u root -pabc123
版本信息
mysql -V
mysql --version
使用演示
show databases;
create database 数据库名;
create database atguigudb;
use 数据库名;
use atguigudb;
show tables from 数据库名;
create table 表名称(
字段名 数据类型,
字段名 数据类型
);
create table student(
id int,
name varchar(20) #名字最长不超过20个字符
);
select * from 数据库表名称;
select * from student;
insert into 表名称 values(值列表);
insert into student values(1,'张三');
show create table 表名称\G
show create table student\G
show create database 数据库名\G
show create database atguigudb\G
drop table 表名称;
drop table student;
drop database 数据库名;
drop database atguigudb;
编码设置
show variables like 'character_%';
show variables like 'collation_%';
default-character-set = utf8
[mysqld]
...
character-set-server = utf8
collation-server = utf8_general_ci
目录结构

密码重置

|