一、MYSQL的基本概念
数据库,就是数据的仓库。
和PHP最紧密的MYSQL数据库。
MYSQL数据库是关系型数据库。
关系:就是指二维表,有行有列的表格。二维表在数据库也称数据表。
关系型数据库就是由二维表及其之间联系构成的数据组织。
具体的二维表也被称为实体,如学生信息实体信息表,班级实体信息表。
实体间的联系,是设计数据表的关键依据。
学生实体信息表
学生ID | 学生姓名 | 性别 | 班级名称 |
1 | Zhang | 男 | php1班 |
2 | Wang | 女 | Java1班 |
3 | Zhao | 男 | php2班 |
班级实体信息表
班级名称 | 上课教室 |
php1班 | 110 |
Java1班 | 120 |
行,record,数据都是由多条记录组成的
列,field,每条记录都包含由相同数量的字段(属性),每一列都是相同属性的数据
二、SQL,结构化编程语言
SQL:structured query language,是专门用于关系型数据库的编程语言。
个人觉得要想学好MYSQL数据库,必须学好SQL编程语言。
变量:通过declare可以声明变量
数据类型:数值型,字符串型,日期时间型
运算符:+ - * / > = != and or
流程控制:分支结构if,循环结构while
函数:count() max() avg() ceil() floor() round()
还可以编写存储函数,存储过程,触发器,视图
三、非关系型数据库
NoSql:not only sql,不仅仅是SQL
非关系型数据库它的数据是键值结构的,key/valuse,类型于数组方式
结构简单,存取快捷,而且把经常使用的数据会存放到内存
它不使用SQL编程语言
典型代表:redis,mongoDB
问:memcache是不是非关系型数据库?
Memcache是一种把数据缓存在内存中的服务,经常用于网站数据的加速。
不是。
原因:它没有数据存储到文件的能力。只能缓存数据到内存。如果断电或重启,数据就将丢失。
四、数据库系统结构
DBS = DBMS + DB
数据库系统 = 数据库管理系统 + 数据(仓库)
数据仓库
是由很多database,数据库组成
Database是由数据表table组成
数据表table是由一行行的记录record组成
相同数据表的每一行记录都是由相同的字段field(属性)组成的
五、C/S方式操作MYSQL数据库
安装好MYSQL后,它会提供一个命令行方式的客户端工具
我们使用命令行窗口来启动客户端
- 连接并认证
连接需要2 个参数:主机地址,端口号(如果是默认的3306可以省略)
认证需要2个参数:用户名,密码(建议不以明码方式放在-p后面)
- 客户端向服务器发送SQL
- 服务器接收客户端的SQL请求,执行生成结果,返回给客户端
- 客户端接收返回数据进行显示
- 断开数据库连接(使用exit或quit或\q任何一种)
2,3,4几步可以循环进行
PHP它是使用MYSQL函数来模拟了客户端的操作过程
六、MYSQL数据库的管理
第一种方法:使用服务管理
启动停止MYSQL数据库服务器可以使用windows的服务管理
在开始->运行->services.msc 进入服务管理界面
找到MYSQL
第二种方法:使用net命令
首先打开一个命令行窗口
输入
Net start mysql 用于启动mysql
Net stop mysql 用于停止mysql
因此权限不够,出现上面的错误
解决方法:使用管理员身份打开 命令行窗口
再介绍一下net 的命令格式
Net 参数 服务名
再介绍如何查看MYSQL服务程序是否运行
Netstat -an
停止MYSQL
启动MYSQL
七、小技巧:找回root密码
- 修改MYSQL的配置文件 my.ini
打开,找到[mysqld]标记
在下面添加一句:skip-grant-tables
- 重启MYSQL(为了重读配置文件 )
- 不使用密码可直接进入客户端
4. 修改root用户的密码
Use mysql;
Update user set password=password(‘123456’) where user=’root’;
Flush privileges;
Exit;
5 修改my.ini去掉或注释掉skip-grant-tables这一句
6 重启MYSQL
7 使用新密码就可以正常进入MYSQL了