数据(data) :
-描述事物的符号记录称为数据,符号既可以是数据,文字,图片,声音,语言等,符号都可以经过数字化后存入计算机中
- 计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录
数据库(database) :
-什么是数据库??
-长期存放在计算机内,有组织,可共享的数据
-数据库管理系统(DBMS):
- 科学地组织和存储数据,高效获取和维护数据。
总结:
数据库服务器-:运行数据库管理软件
数据库管理软件:管理-数据库
数据库:即文件夹,用来组织文件/表
表:即文件,用来存放多行内容/多条记录
数据库的分类
-
关系型数据库:
-
对每一列的数据类型会有约束
- 如 :
mysql ,maridb , oracle,sql erver,sqlite
- 如 :
-非关系型数据库:
- 对每一列的数据类型没有约束
- 如 : redis , mongdb,memcache
区别:
- 关系型数据库 : 把数据存储在硬盘中
- 非关系型数据库 : 把数据存储在内存中
mysql的框架 :
- #### 类似socket的客服端和服务端
流程 :
-
mysql 服务端启动,监听在某一个特定的端口(3306)
-
mysql 客户端连接服务端
-
mysql 客户端就可以发送相关的操作命令,去操作服务端存储的数据
mysql的安装 :
-
windows安装:
-
先去官网(https://dev.mysql.com/downloads/mysql/)
-
下载:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/
-
解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:mysql-5.7.16-winx64
-
#3、添加环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
-
#4、初始化 mysqld --initialize-insecure ### 创建data目录, 初始化的数据
-
#5、启动MySQL服务 mysqld # 启动MySQL服务
-
#6、启动MySQL客户端并连接MySQL服务 mysql -u root -p # 连接MySQL服务
-
制作windows的服务 :
注意:--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.7.16-winx64inmysqld" --install
# 移除MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.7.16-winx64inmysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
# 关闭MySQL服务
net stop mysql
设置密码:
初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
[root@egon ~]# mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用
[root@egon ~]# mysqladmin -uroot -p"123" password "456" 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
命令格式:
[root@egon ~]# mysql -h172.31.0.2 -uroot -p456
[root@egon ~]# mysql -uroot -p
[root@egon ~]# mysql 以root用户登录本机,密码为空
windows平台下破解密码 :
#1 关闭mysql
#2 在cmd中执行:mysqld --skip-grant-tables
#3 在cmd中执行:mysql
#4 执行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges; # 更新
#5 tskill mysqld #或taskkill -f /PID 7832
#6 重新启动mysql
方法二 :
#1. 关闭mysql,可以用tskill mysqld将其杀死
#2. 在解压目录下,新建mysql配置文件my.ini
#3. my.ini内容,指定
[mysqld]
skip-grant-tables
#4.启动mysqld
#5.在cmd里直接输入mysql登录,然后操作
update mysql.user set authentication_string=password('') where user='root and host='localhost';
flush privileges;
#6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了
统一字符编码 :
#1. 修改配置文件
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
常用参数 :
-
-u : user 用户名
-
-p : password 密码
-
-h : host 主机名或ip mysql -uroot -p -h 192.168.1.10
-
-p : port 默认 3306 mysql -uroot -p -h 192.168.1.10 -P
sql 指令 :
- 用于存取数据、查询数据、更新数据和管理关系数据库系统
“;” : 表示一条指令结束
操作数据库 :
-
增 :
-create database 数据库名 charset utf8;
命名规范: 可以由字母、数字、下划线、@、#、$
区分大小写 唯一性
不能使用关键字如 create select
不能单独使用数字 最长128位
-删 :
-drop database 数据库名称;
-查 :
-show databases;
改 :
#### 删除在添加
#### 如果数据库中有数据的话,直接drop会导致数据库中的数据丢失
#### 在线上环境,不能够直接删除数据, 在删除之前,需要进行备份
-
使用 数据库 :
use 数据库名