一.mysql概述
s 查看当前自己的信息
1.mysql就是用于管理我们的文件的一个软件;
2.mysql有两个软件:
服务器软件:
socket服务端
本地文件操作
解析指令(mysql语句)
客户端软件:
socket客户端
发送指令
解析指令(mysql语句)
3.什么是数据(data)
描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,
它们都可以经过数字化后存入计算机
4.什么是数据库(DataBase 简称DB)
数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的
5.什么是数据库管理系统(DataBase Management System)
在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键,这就用到了一个系统软件---数据库管理系统
如MySQL、Oracle、SQLite、Access、MS SQL Server
mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨
文公司的产品。
oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品
sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。
6.数据库服务器 数据管理系统 数据库 表与记录的关系
记录:1 xxx 324245234 22(多个字段的信息组成一条记录,即文件中的一行内容
表:student, school,(文件)
数据库:文件夹
数据库管理系统:如mysql(是一个软件)
数据库服务器:一台计算机
数据库服务器:运行数据库管理软件
数据库管理软件:管理-数据库
数据库:即文件夹,用来组织文件/表
表:即文件,用来存放多行内容/多条记录
二.MySql安装和基本管理
1.mysql的安装和启动
MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据
库管理系统) 应用软件之一。
2.mysql是什么?
mysql就是一个基于socket编写的C/S架构的软件
3.数据库管理软件分类
(1)关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
(2)非关系型:mongodb,redis,memcache
关系型数据库需要有表结构
非关系型数据库是key-value存储的,没有表结构.
4.mysql的下载安装
想要使用MySQL来存储并保存数据,则需要做几件事情:
a. 安装MySQL服务端
b. 安装MySQL客户端
b. 【客户端】连接【服务端】
c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)
下载地址:https://dev.mysql.com/downloads/mysql/
5. window版本
(1)解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,
(2)添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》将文件路径添加进去
(3)初始化
命令: mysqld --initialize-insecure
(4).启动mysql服务
命令:mysqld 启动MySql服务
(5).启动mysql客户端并连接mysql服务端(新开一个cmd窗口)
命令:mysql -u root -p 连接MySQL服务器
6.MySQL服务制作成windows服务
(1)背景因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题,即将MySQL服务制作成windows服务
(2)注意:
--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.6.40-winx64inmysqld" --install
# 移除MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.7.16-winx64inmysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
# 关闭MySQL服务
net stop mysql
相关命令:
查看所有的数据库: show database
使用数据库 use 数据库的名字
查看所有的show tables;
7.设置初始密码
在终端执行 mysqladmin -uroot -p password "123"(如下图所示)
重新登录mysql即生效
![](https://img2018.cnblogs.com/blog/1411944/201812/1411944-20181224200945758-1997435585.png)
修改初始密码:
(1)在终端执行 mysqladmin -uroot -p"123" password "456" 将123 修改为456;
(2)mysql -uroot -p456 登录
8. 破解密码
1.以管理员身份打开cmd
2.停掉mysql服务端; net stop mysql
3.执行如下命令跳过授权表
mysqld --skip-grant-tables
4.客户端连接服务端 新开一个cmd 并连接
mysql -uroot -p
5.现在可以任意的更改密码,执行如下命令
update mysql.user set authentication_string =password('') where User='root';
6.刷新权限,执行命令
flush privileges;
7.退出mysql。执行命令:exit
8.让用户去加载权限,以管理员身份进入cmd,查看当前mysql进程
9.杀死当前的进程,执行如下命令;
10.再次执行如下操作,还原
9.统一字符编码
1.在C:mysql-5.7.23-winx64mysql-5.7.23-winx64当前的目录下 新建一个my.int
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:mysql-5.7.23-winx64mysql-5.7.23-winx64 # 这个目录一定是自己电脑上的安装mysql目录
# 设置mysql数据库的数据的存放目录
datadir=C:mysql-5.7.23-winx64mysql-5.7.23-winx64data # 这个目录一定是自己电脑上的安装mysql数据目录
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.net stop mysql
再开启 让my.ini文件配置生效
net start mysql
3.mysql -uroot -p
执行 s; 查看数据库配置
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
三.初始mysql语句
1.操作文件夹(库)
(1)增 create database db1
(2)查 show create database db1
查所有的数据库 show databases
(3)改 alter database db1
(4)删 drop database db1;
2.操作文件(表)
use db1 切换文件夹
select database() 查看当前所在文件夹
(1)增 create table t1(id int,name char)
(2)查
#查看当前的这张t1表
show create table t1;
# 查看所有的表
show tables;
# 查看表的详细信息
desc t1;
(3)改
# modify修改的意思
alter table t1 modify name char(6);
# 改变name为大写的NAME
alter table t1 change name NAMA char(7);
(4)删
# 删除表
drop table t1;
3.操作文件内容(记录)
(1)增
插入一条数据,规定id,name数据
insert t1(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");
(2)查
select id from db1.t1;
select id,name from db1.t1;
select * from db1.t1;
(3)改
update db1.t1 set name='zhangsan';
update db1.t1 set name='alex' where id=2;
(4)删
delete from t1;
delete from t1 where id=2;