首页 > 技术文章 > mysql数据库介绍

peng-zhao 2019-01-07 20:22 原文

mysql数据库

什么是数据库

# 用来存储数据的仓库
# 数据库可以在硬盘及内存中存储数据
# 数据库与文件存储数据区别
# 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件

 

数据库介绍

数据库服务器端: 存放数据库的主机集群
数据库客户端: 可以连接数据库的任意客户端
数据库管理员: DBA
​
# socket套接字的C/S架构应用

 

数据库基本概念

# 重要性: ***
# 库: 多表构建一个数据库, 本质就是文件夹
# 表: 多条数据构建一张表, 本质就是文件
# 记录: 存放一条条数据, 本质就是文件中一条条数据记录
# (字段)id, name, age, gender...一个老师的数据 => 一条数据记录

数据库分类

# 重要性: ***
# 关系型数据库
# 1.有表的概念
# 2.以表中一条条记录存储数据
# mysql oracle sqlServer access db2
​
​
# 非关系型数据库
# 1.没有表的概念
# 2.通过key-value键值对方式存储数据
# mongodb redis memcache

 

Mysql数据库简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

 

数据库安装

# 安装server端与client端
​
​
# 如何启动server? 如果通过client连接server

 

数据库启动与连接

# 前提:配置环境变量
# 了解
# 1.前往数据库安装路径,bin文件夹下,cmd执行 mysqld 启动mysql服务器端
# 2.前往数据库安装路径,bin文件夹下,cmd执行 mysql 启动mysql客户端连接服务器端
# 掌握
# 将mysql服务器添加到系统服务,在系统服务中启动mysql, 命令:  mysqld --install
# 进入系统服务: win+r => services.msc => 找到mysql服务手动启动或关闭
# 连接数据库:mysql -hlocalhost -P3306 -uroot -p
# 通过最高权限进入数据库, 要采用root用户进入, 连入本地数据库: mysql -uroot -p
# 查看mysql版本: select version();
# 查看当前用户: select user();
# 查看mysqld下的(当前用户可以操作的)所有数据库: show databases; 

 

将mysql添加到系统服务设置中去

###下载安装详细步骤
#1、下载:MySQL Community Server 5.7.16
http://dev.mysql.com/downloads/mysql/#2、解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64
​
#3、添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
 
#4、初始化
mysqld --initialize-insecure
​
#5、启动MySQL服务
mysqld # 启动MySQL服务
#6、启动MySQL客户端并连接MySQL服务
mysql -u root -p # 连接MySQL服务器
​
上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题:
​
注意:--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --install
 
# 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove
​
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql   #在cmd中手动启动命令 也可以直接在services.msc中将器设置为开机自启项。
# 关闭MySQL服务
net stop mysql
View Code 

密码操作

# \***
# 知道旧密码
#方法一:登录之前修改密码: mysqladmin -uroot -p旧密码 password "新密码"
#方法二:登录后修改密码:set password for root@localhost=password("新密码")
​
​
# **
# 遗忘旧密码
方法一:
首先先关闭系统服务中已经启动的mysql服务端
# 1.绕过授权表启动服务(安全认证的服务停止): mysqld --skip-grant-tables;
# 2.以任意密码登录root用户: mysql -uroot -P任意
# 3.更新密码: update mysql.user set password=password("新密码") where user=root and host="localhost";
# 4.刷新权限: flush privileges;
​
方法二:
#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,然后就可以以新密码登录了

 

统一字符编码

# ***
# 查看数据库配置信息: \s => 统一编码 => 防止乱码(读取不方便,数据丢失)
# 1.在mysql安装根目录下:创建my.ini (my.cnf) (命令:type nul>文件名.文件后缀)
# 2.设置配置信息并保存
[mysqld]
#port=7777 注释
character-set-server=utf8  #不能写成utf-8(会配置失败)
collation-server=utf8_general_ci
[client]
default-character-set=utf8
# 3.重启服务
​
​
#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
​
#2. 重启服务
#3. 在cmd终端进入mysql客户端后查看修改结果命令:
\s
show variables like '%char%'

库的基本操作

# 前提: 连接上数据库
# 1.增,创建数据库
# 采用默认编码集: create database db1;  # db1为数据库名
# 自定义编码集: create database db1 charset="gbk";
# 2.查,查看数据库全部信息
# 纵观所有数据库: show databases;
# 详细信息: show create database db1;
# 3.改,修改数据库编码集
# alter database db1 charset="utf8";
# 4.删, 移除数据库
# drop database db1;

 

表的基本操作

#前提: 在具体的某个库下创建表
# 进入指定数据库: use db1
# 确定当前使用的数据库: select database();
#1.增, 创建表(字段1 类型, ..., 字段n 类型)
# create table t1(name char, age int);
# 2.查,查看表信息
# 纵观所有数据库: show tables;
# 详细信息: show create table t1;
# 表字段结构信息: desc t1;
# 3.改
# 修改字段属性: alter table t1 modify name char(20);
# 修改字段名: alter table t1 change name usr char(16);
# 修改表名: alter table t1 rename t2;
# 4.删, 移除表
# drop table t1;

 

字段的基本操作

# 前提: 知道具体操作的是哪张表
# 1.增, 添加字段
# insert into t1 (usr, age) values ("aa", 18),("bb", 8);
# 2.查
# select * from t1;
# 3.改
# update t1 set age=28 where usr="aa";
# 4.删
# delete from t1 where age>8;

 


 

推荐阅读