1.为什么使用数据库
为了持久化,持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件,XML数据文件中。就是数据一般存储在内存中,如果没有电源的话,内存中的数据就会没有,所以想办法把它存储到数据库中。

2.RDBMS和非RDBMS的区别
关系型数据库就是有行和列是表格的形式,非关系型数据库通过key-value键值的方式来存储数据。MYSQL是行式存储,SQLServer也是,而列式存储是相对于行式存储而言的,列式存储是将数据按照列存储到数据库中,这样做的好处是可以大量降低系统的I/O,适合于分布式系统,不足在于功能相对有限。

3.关系型数据库设计规则
关系型数据库的典型数据结构就是数据表,这些数据表的组成都是结构化的。
将数据放到表中,表在放到库中。
一个数据库中可以有多个表,每个表都有一个名字,用来标识自己,表名具有唯一性。
表具有一些特性,这些特性定义了数据在表中如何存储。

(1)表,记录,字段
E-R有三个概念:实体集,属性,联系集。
一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应数据库表中的一行,也称为一条记录(record),一个属性对应于数据库表中的一列,也称为一个字段。

(2)表的关联关系
表与表之间的数据记录有关系。
一对一关联,一对多关联,多对多关联,自我引用。

4.版本查看和登录

mysql列 mysql列式存储_c++


查看到在我的C盘,应该是我安装的Navicat 15 for MySQL

mysql列 mysql列式存储_mysql_02

  • 我不小心用ctrl+z退出 然后在连接就报这个错误

    我好像记得上次也是这样,但我不知道为什么。 于是我选择重新设置密码进入。

已经重装解决。
还有下次退出用exit或者quit。
mysql服务的启动和停止:net stop mysql;net start mysql

5.重装以后
mysql -uroot -p1999520 -hlocalhost -P3306 登录的是是8.0版本的mysql
mysql -uroot -p1999520 -hlocalhost -P13306 登录的是是5.7版本的mysql

6.服务的登录与停止。
也就是前面我不断创造bug的坑,正确做法。
MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库。
在配置过程中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也自动启动、停止。

1.图形化打开,点这

mysql列 mysql列式存储_MySQL_03


2.通过命令

启动 MySQL 服务命令: net start MySQL服务名

停止 MySQL 服务命令: net stop MySQL服务名

如果当你输入命令后,提示“拒绝服务”,请以 系统管理员身份 打开命令提示符界面重新尝试

start和stop后面的服务名应与之前配置时指定的服务名一致。因为我们刚才的服务名有MySQL8.0 还有MySQL5.7

mysql列 mysql列式存储_mysql_04


7.自带客户端的登录与退出

当MySQL服务启动完成后,便可以通过客户端来登录MySQL数据库。注意:确认服务是开启的。

开始菜单 → 所有程序 → MySQL → MySQL 8.0 Command Line Client

mysql列 mysql列式存储_mysql_05


mysql -h 主机名 -P 端口号 -u 用户名 -p密码

例如:mysql -h localhost -P 3306 -u root -p1999520

-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格

客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1。同时,因为是连接本

机: -hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略8.MySQL的使用演示

1、查看所有的数据库

show databases;

mysql列 mysql列式存储_MySQL_06


2.创建自己的数据库

create database 数据库名; #创建studyliyan数据库,该名称不能与已经存在的数据库重名。

create database studyliyan;

mysql列 mysql列式存储_MySQL_07


3.使用自己的数据库

use 数据库名; #使用数据库

use studyliyan;

//创建一个表

create table student(

id int, name varchar(20) #说名字最长不超过20个字符

);

show tables from 数据库名;//查看某个库的所有表格

mysql列 mysql列式存储_mysql列_08


4.添加记录到表中

insert into 表名称 values(值列表); #添加两条记录到student表中

insert into student values(1,‘张三’);

insert into student values(2,‘李四’);5.//查看一个表的数据

select * from 数据库表名称;

#查看学生表的数据

select * from student;

mysql列 mysql列式存储_mysql列_09


6.查看表的创建信息

show create table 表名称\G#查看student表的详细创建信息 show create table student\G

mysql列 mysql列式存储_c++_10


7.查看数据库的创建信息

show create database 数据库名\G

#查看studyliyan数据库的详细创建信息
show create database studyliyan\G

mysql列 mysql列式存储_MySQL_11


8.删除表格,删除数据库

drop table 表名称;
#删除学生表 drop table student;

drop database 数据库名;

#删除studyliyan数据库

drop database studyliyan;

mysql列 mysql列式存储_mysql_12