最新版MySQL 8.0.18安装详解&&正确卸载MySQL方式&&MySQL基础知识

冷暖自知 提交于 2020-12-18 06:24:40

一、MySQL基本数据类型

tinyint      【4】 0~255 ----年龄
smallint   【6】 ±32w ----员工数
int            【11】 ±21亿 ----国家人口数
decimal   【10,0】 ±999.99 ----单价(不上千的数)
char        【1】 ----公司名
varchar   【无】 ----大部分
date        【0】 1000-01-01~9999-12-31 ----年月日
time        【0】 ±35天59分59秒 ----时间
datetime 【】 ----年月日时间

 

二、基本语法快速记忆手册

1、增字段
-- alter table 表名
-- add column 字段名 新数据类型

2、更名字段
-- alter table 表名
-- change 旧字段名 新字段名 数据类型;

3、改数据类型
-- alter table 表名
-- modify 字段名 新数据类型;

4、删除字段(一个个删)
-- alter table 表名
-- drop 字段名

5、精准添加数据
-- insert 表名 (字段) values
-- (与字段对应,与字段对应),
-- (与字段对应,与字段对应)

6、添加整行数据
-- insert 表名 values
-- (全字段对应);

7、更新数据
-- update 表名 set
-- 字段名=字段值,
-- 字段名=字段值
-- where 字段名=字段值(为索引)

8、删除整行数据
-- delete from 表名
-- where 字段名=字段值(索引)

9、删除具体字段数据(以更新方式)
-- 字段名=null,
-- 字段名=新字段值
-- where 字段名=字段值(索引)-- update 表名 set

10、添加外键
-- alter table 表名
-- add constraint 外键名 foreign key(字段) references 参照表名(参照字段)
-- on delete 删除规则 on update 更新规则

11、删除外键
-- drop foreign key 外键名

12、添加唯一约束
-- alter table 表名
-- add unique(约束名)字段名

13、删除唯一约束
-- alter table 表名
drop index 字段

14、添加默认值
-- alter table 表名
-- alter column 字段 set default 默认值;

15、删除默认值
-- alter table 表名
-- alter column 字段名 drop default;


16、拷贝表结构(全字段)
create table 新表 like 旧表;


17、拷贝表结构(字段)字段
create table 新表 select 字段1,字段2 from 旧表;

18、拷贝数据
insert 新表 select * from 旧表;

19、查询不同字段表数据
select distinct 字段名 from 表名;

20、coalesce(a,b,c);
参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。配合 with rollup

21、求余数 (x%y)
mod(x,y)

22、自增长 起始值 设置

alter table 表名 auto_increment = 起始值;


23、添加自增长

alter table 表名 modify 字段 类型 auto_increment ;


24、-- 自增量设置(每次增1)
set @@auto_increment_increment =1;

 

 25、MySQL下标由1开始,在MySQL中一个中文字3个字节

 

 26、日期操作

年月日时分 now()   年月日 curdate()    时分秒 curtime()

select weekday('2019-12-1')    当前星期几 -- 加1就准了

select dayofyear('2019-12-1')    一年中第几天 -- 非常准确

select date_add('2019-12-1',interval 20 day) 日期加20天 {减法使用:date_sub}

select datediff(now(),'2019-12-1')   天数间隔

select timestampdiff(Year,日期,now())   指定格式间隔  | DAY,WEEK,HOUR,MONTH

select date_format(now(),'%Y-%c-%d %H:%i:%s') 自定义显示日期 24小时制   {12小时制 %h小时 %p上下午 }

 

 

三、如果MySQL出现意外,需要重装

(1)停止服务 (win+R搜索services.msc )  找到MySQL服务,将MySQL的服务给停止

(2)开始菜单搜索 》》 控制面板 》》 卸载程序 》》MySQL》》卸载。

(3)删除注册表( win+R搜索regedit)
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL

(4)删除数据和记录(如果没有可能是隐藏的,显示隐藏目录即可)比如:C:\ProgramData\MySQL(把MySQL文件夹删除)

(5)重启电脑。

 

 

 四、既然卸载了,那就来进行 安装 吧

 

1、 首先下载:https://www.mysql.com/downloads/   下载最新版的压缩文件,解压到你喜欢的位置(建议目录不带中文)

2、比如我的目录是:J:\MySQL\MySQL\mysql-8.0.18-winx64  

  那么我们在这个目录下新建一个my.ini 配置文件,然后写入以下内容:


[mysql]

# 设置mysql客户端默认字符集    (“#”号是注释,每个#号是为了解释下一行代码的作用!

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录(注意:目录要和你的目录对应

basedir=J:\MySQL\MySQL\mysql-8.0.18-winx64

# 设置mysql数据库的数据的存放目录 (注意:目录要和你的目录对应,"\data"别漏掉了哦

datadir=J:\MySQL\MySQL\mysql-8.0.18-winx64\data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

 

3、添加环境变量 (为了方便后续的操作)

  我的电脑右键属性-->高级系统设置-->环境变量-->系统变量中找到Path-->点击编辑-->新建      加入Mysql的bin目录路径(比如:我的是这样的)

 

 

 

4、真正开始安装了   

 

在开始菜单搜索 CMD命令提示符,右键以管理员身份运行(不用管理员身份会失败)

 

依次输入:(一步执行一句代码!)

mysqld --install (安装)

mysqld --initialize(初始化,这一步会慢一点,耐心等待喔!)

net start mysql(运行)

 

5、密码是随机生成的,我们得去找到密码,然后登陆MySQL

首先:在MySQL目录下(比如我是J:\MySQL\MySQL\mysql-8.0.18-winx64)搜索*.err ,会出现一个文件,我们右键用记事本打开它!

我们找到一句话 A temporary password is generated for root@localhost: >mso<k70mrWe   (为root @ localhost生成一个临时密码:> mso <k70mrWe

然后重新打开一个cmd黑窗口输入     mysql -uroot -p   按Enter键  把你密码复制粘贴进去  就成功登陆了

 

6、咱得把密码改一下,不然记不住哈!!

   在你登陆成功后的cmd窗口中继续打一句代码(复制过去,密码也可以为空)

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';     

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!