10.28MySQL的介绍和安装

数据库是什么

存数据的仓库

为什么使用数据库(*********)

之前使用Excel进行管理数据
Excel缺点:
管理不了大量的数据
不能同时多人操作
不支持高级操作
数据库:
支持高级操作(分组,连表等)

数据库分类(*********)

关系型数据库

对每一列的数据类型会有约束(ID:整型;name:字符串)
MySQL,maridb→用的比较多,免费,两个是同一个作者
SqlServer→微软,大学,政府部门,汽车之家
Oracle→甲骨文,收费,金融公司,阿里
sqlite→小型的文件数据库,自己玩,没什么人用

非关系型数据库

对每一列的数据类型没有约束(字典存取)
memcache→存内存,十年前产品(新浪博客)
mongodb→存内存,文档型数据库
redis→存内存,微博,解决了内存断电即消失问题

最大区别

关系型数据库:把数据存在硬盘中(文件)
非关系型数据库:把数据存在内存中

MySQL的架构

类似于Socket的客户端和服务端
流程:
MySQL服务端先启动,监听在某一个特定的端口(3306)
MySQL客户端连接服务端
MySQL客户端就可以发送相关的操作命令,去操作服务端存储的数据

MySQL的安装(windows)

先去官网查看

安装

'''
#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
"D:\python培训\mysql-5.7.28\bin\mysqld" --install
# 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
# 关闭MySQL服务
net stop mysql
将MySQL服务制作成windows服务
'''

改密码

'''
初始状态下,管理员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用户登录本机,密码为空
'''

常用参数

-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 3306

忘记密码

'''
方式一:
###  服务端  :服务端:  服务端
#1 关闭mysql的系统服务
#2 在cmd中执行:mysqld --skip-grant-tables(意思:不用密码就可以登入)
###  客户端  :客户端:  客户端
#3 在cmd中执行:mysql(相当于执行:mysql -uroot -p)
#4 执行如下sql指令:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges;(一定要操作)
###  然后重新启动服务就可以了
#5 tskill mysqld #或taskkill -f /PID 7832
#6 重新启动mysql
'''

初始MySQL

SQL指令

操作数据库

数据库命名规范

可以由字母,数字,下划线,@,#,$
区分大小写
唯一性
不能使用关键字create和select
不能单独使用数字
最长128位

create database 数据库名;

drop database 数据库名;(如果文件夹有数据,也会全部删除)慎用

删除在添加(alter database 前数据库名 charset 后数据库名)慎用

show databases;

使用数据库

use 数据库名;

操作数据表

先切换到文件夹下:use db1

create table t1(id int,name char);

drop table t1;

alter table t1 modify name char(3)

show tables;

操作表记录(*********)

insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');

delete from t1 where id=1;

update t1 set name='sb' where id=2;

select * from t1;

清空表

delete from t1; (如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始.)
truncate table t1; (数据量大,删除速度比上一条快,且直接从零开始.)

自增和加速查找

auto_increment (表示:自增)
primary key (表示:约束(不能重复且不能为空);加速查找)

猜你喜欢

转载自www.cnblogs.com/793564949liu/p/11755958.html