windows mysql 学习笔记

下载安装

mysql官网下载地址:

https://dev.mysql.com/downloads/mysql/

下载需要的版本的解压版或者安装版

解压

修改配置文件my.ini

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir="D:\Java\mysql-5.7.15-winx64\mysql-5.7.15-winx64"
# 设置mysql数据库的数据的存放目录
datadir="D:\Java\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data"
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

以管理员身份打开cmd,进入mysql的bin目录下

安装mysql:mysqld install

初始化mysql:mysqld --initialize-insecure --user=mysql

启动MySQL服务: net start mysql 或者在任务管理器的服务选项中找到mysql这个服务右键启动

停止MySQL服务: net stop mysql 或者在任务管理器的服务选项中找到mysql这个服务右键停止

重启MySQL服务:在任务管理器的服务选项中找到mysql这个服务右键重新启动

启动服务后,开始配置环境变量

1,右键我的电脑,点击属性

2,点击左上角的高级系统设置

3,点击环境变量

4,在系统变量下找到path变量,选中点击编辑

5,点击新建,把mysql的bin目录的路径添加进去

安装完了,一般来说密码是为空的

登陆:mysql -uroot -p

修改密码:mysqladmin -uroot  -p旧密码 password 新密码

忘记密码解决:

1. 关闭正在运行的MySQL服务。 
2. 打开DOS窗口,转到mysql\bin目录。 
3. 输入mysqld –skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。 
6. 连接权限数据库: use mysql; 。 
6. 改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号) 。 
7. 刷新权限(必须步骤):flush privileges; 。 
8. 退出 quit。 
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

 

数据库概述

 

数据库与文本,Excel,xml之间的对比:

数据库方便检索

存储的量不够---Excel

文本可以存储大量数据,但是打开慢,内存受限  --- 分布式内存

sql语句----效率

 

DBA --- 数据库架构师

 

数据库类型

结构化 --- mysql --- 关系型

半结构化 --- key-value ---

非结构化 --- 视频,图片 --- 二进制 --- path --- manggodb,hbase

 

两个关系型的数据库对比:

oracle --- 成本高,有硬件要求,伸缩性较差,效率高

mysql --- 开源,单进程多线程,多用户,c/s

 

流程:

  1. 启动服务
  2. 加载配置文件
  3. 生成实例
  4. 建立链路
  5. 请求会话
  6. 响应请求

 

基本操作:

mysql -h -u -p

show databases;

mysql自带的库表

1,information_schema --- 数据源表

2,mysql – 用户,权限

3,performance_schema – 性能优化

 

配置文件

my.ini

  1. 字符集
  2. 安装目录
  3. 数据存放目录
  4. 连接数
  5. 端口
  6. 引擎

 

show variables like "character%"; --- 查看字符集

通过修改配置文件,修改字符集

 

临时修改,维持本次连接

set 。。。

 

设计数据库

存储引擎:Innodb – 事务,写,myisam – 查询,读

读写分离

并发

锁 --- 表/记录

隔离

 

数据库操作

 

https://www.cnblogs.com/bluealine/p/7832219.html

 

数据库备份与恢复

 

备份

导出sql文件:命令---mysqldump,Navicat可以直接右键导出

mysqldump -uroot -p test >F:\test.sql

 

备份物理文件:opt

 

恢复

mysql -uroot -p test<F:\test.sql

 

mysql数据类型

 

整数:(5种):1,2,3,4,8(字节)

查看表结构:

desc inttype;

查看sql模式

select @@sql_mode;

--无法插入,切换sql_mode模式

set sql_mode = 'ansi';

--插入成功,但被截断

insert into inttype values(128);

 

小数(两种):

  1. 精确小数类型(decimal)
  2. 浮点型(float,double)

CREATE TABLE `per` (

  `per` decimal(4,3) NOT NULL,

  PRIMARY KEY (`per`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

范围:-9.999-9.999

 

字符串:

定长:char

变长:

  1. varchar
  2. text
  1. tinytext
  2. text
  3. mediumtext
  4. longtext

 

日期类型:

  1. date
  2. time
  3. year
  4. datetime
  5. timestamp

获取系统时间:select now()

获取年份:select year(now())

 

delect和truncate的区别,delect会保留自增序列,truncate会清空自增,重新开始

datetime和timestamp的区别:timestamp的取值范围从1970-01-01开始 根据当地时区自动转换

查看时区:show variables like “time_zone%”;

跟数据库系统有关系

 

复合类型:

  1. enum --- 可以被穷举的
  2. set ---

creat table person(

    sex enum('male','female'),

    interest set('sing','dance','swim','study')

    );

可以约束输入的参数

 

二进制类型:存储0和1的字符串

 

选择类型的原则:

  1. 选择合适的
  2. 尽可能短

作业:IP存储

 

 

约束:

主键约束

  1. 单字段主键
  2. 多字段主键

自增:

 

 

后续添加。。。

参考:

https://www.cnblogs.com/bluealine/p/7832219.html

https://dev.mysql.com/downloads/mysql/

https://blog.csdn.net/th_num/article/details/71402801

https://blog.csdn.net/li_magic/article/details/70186609

https://www.cnblogs.com/adolfmc/p/5497974.html

猜你喜欢

转载自blog.csdn.net/qq_33720683/article/details/81173063