windows环境下的MySQL安装以及基本命令


前言

提示:记录MySQL的相关命令:

包含windows下的一些小知识


一、MySQL的安装

1、MySQL下载

下载链接: https://dev.mysql.com/downloads/

具体下载步骤如下图所示:
第一步:
在这里插入图片描述
第二步:
在这里插入图片描述
第三步:
在这里插入图片描述

2、安装配置

第一步:对下载的文件进行解压,将文件解压至自己想要存放的位置
在这里插入图片描述
第二步:将下面配置内容复制带ini文件中,配置文件中的basedir=D:\mysql-8.0.30-winx64为自己实际文件解压之后存放路径,datadir=E:\mysql\data为自己文件data存在路径,若无可自行创建

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录   ----------是你的文件路径-------------
basedir=D:\mysql-8.0.30-winx64
# 设置mysql数据库的数据的存放目录  ---------是你的文件路径data文件夹自行创建
#datadir=E:\mysql\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

第三步:配置环境变量

右击“此电脑”->选择“属性”,进入如下图所示界面,点击“高级系统设置”
在这里插入图片描述
点击环境变量,选择“系统变量”->新建环境变量,变量名为:MYSQL_HOME 变量值为:D:\mysql-8.0.30-winx64(自己实际mysql存放的路径)
备注:如果系统环境变量中存在MYSQL_HOME,则不需新建,选中点击编辑即可
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
MYSQL_HOME环境变量添加完成之后,在系统环境变量中找到path(Path、PATH)变量,操作步骤如下图所示:在path环境变量中添加一条 %MYSQL_HOME%\bin,添加完成之后,点击确定。
在这里插入图片描述

3、MySQL启动

第一步:初始化
windows环境下以管理员方式打开cmd命令窗口,进入mysql所在路径下的bin目录下如下图所示:
在这里插入图片描述

第二步:在bin目录下执行语句,得到下图所示结果,得到初始化root随机密码

mysqld --initialize --console

在这里插入图片描述

第三步:安装mysql服务并启动

安装命令:
mysqld --install mysql
启动命令:
net start mysql

在这里插入图片描述

第四步:连接MySQL并修改密码

连接MySQL:
mysql -uroot -p
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '111111';

在这里插入图片描述

二、MySQL命令

1、基本命令

# 启动
net start mysql
# 停止
net stop mysql
# 登录
mysql -h(ip 地址) -u(用户名) -p(密码)
# 登录本地数据库
mysql -uroot -p
# 退出
exit/quit

2、用户相关命令

用户增删改查

# 查看全部用户
select user,host from mysql.user;
 
# 新增用户
CREATE USER '(用户名)'@'(ip地址)'
         -> IDENTIFIED BY '(密码)';
 
# 修改用户名
RENAME USER 'user1'@'localhost' TO 'user2'@'localhost';
 
# 修改root用户初始密码
alter user 'root'@'localhost' identified by '123456';
 
# 修改root用户密码
set password for root@localhost = password('123456');
 
# 删除用户
DROP USER '(已存在的用户名)'@'(ip地址)';

数据库权限配置

# 配置超管权限(全部数据库,全部操作权限)
GRANT ALL 
      -> ON *.*
      -> TO '(已存在的用户名)'@'(ip地址)'
      -> WITH GRANT OPTION;
 
# 具有访问bankaccount数据库的所有数据库级权限
GRANT ALL
      -> ON bankaccount.*
      DTO '(已存在的用户名)'@'(ip地址)';
 
# 具有访问expenses数据库的特定数据库级权限,例如查询,插入,更新,删除等
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
         -> ON expenses.*
         -> TO '(已存在的用户名)'@'(ip地址)';
 
# 具有特定的表级权限,可以从域中的任何主机访问数据库中 的 addresses表
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
         -> ON customer.addresses
         -> TO '(已存在的用户名)'@'(ip地址)';
 
# 查看用户权限
SHOW GRANTS FOR 'admin'@'localhost';
 
# 查看非特性属性
SET print_identified_with_as_hex = ON;
SHOW CREATE USER 'admin'@'localhost'\G
 
# 撤销全部权限
REVOKE RELOAD
         -> ON *.*
         -> FROM '(已存在的用户名)'@'(ip地址)';
 
# 撤销数据库权限
REVOKE CREATE,DROP
    -> ON expenses.*
    -> FROM '(已存在的用户名)'@'(ip地址)';
 
# 撤销数据库表权限
REVOKE INSERT,UPDATE,DELETE
       -> ON customer.addresses
       -> FROM '(已存在的用户名)'@'(ip地址)';

3、MySQL增删改查

库的增删改查

# 新增数据库
CREATE DATABASE (数据库名);
 
# 查询全部数据库
show databases;
 
# 选择数据库
use (数据库名);
 
# 删除数据库
DROP DATABASE (数据库名);

数据库表的增删改查

# 新增数据库表
CREATE TABLE if NOT EXISTS user(
`id` int UNSIGNED AUTO_INCREMENT PRIMARY KEY,  #主键 自增
`name` VARCHAR(50),
`age` int(10),
`sex` VARCHAR(10),
`phonNUM` VARCHAR(20)
)
  
# 修改数据表名
alter table student.user rename AS student.person;
 
#查看所有数据库表

select table_name 
from information_schema.tables where table_schema='当前数据库'

# 查询所有表名及表注释

select TABLE_NAME,TABLE_COMMENT 
from INFORMATION_SCHEMA.Tables where table_schema = '某数据库名称'

#查看表中所有字段与字段注释

select COLUMN_NAME,COLUMN_COMMENT
from INFORMATION_SCHEMA.Columns 
where table_name = '表名' and table_schema='数据库名'

 
# 复制数据库表

同一个数据库中复制(只复制表结构与数据):
CREATE TABLE if not EXISTS userr SELECT * FROM users WHERE username='rtttu';

同一个数据库中复制(复制表结构与数据,关联其他表与索引):
CREATE TABLE IF NOT EXISTS userr LIKE users;
INSERT userr SELECT * FROM users;

跨库复制
只复制表结构与数据:
CREATE TABLE if not EXISTS student.userr SELECT * FROM ovp_data.users WHERE username='ruigh';

复制表结构与数据,关联其他表与索引:
CREATE TABLE IF NOT EXISTS userr LIKE users;
INSERT userr SELECT * FROM users;

# 删除数据库表
DROP TABLE userr;

数据库表的字段的增加修改删除

#数据库表字段增加,默认加在最后
ALTER table student.user add location VARCHAR(20);

#数据库表修改字段名称
ALTER TABLE student.person change `location`  `locat` VARCHAR(20) NOT NULL DEFAULT CHARSET=utf8;

#数据库表字段修改字段属性
ALTER TABLE student.person MODIFY  `locat` INT(20);

#数据库删除字段
ALTER TABLE student.person drop `locat`;

#数据库表中指定位置添加字段
alter table person add statu varchar(10) comment "状态" after id;
 
# 插入在第一列
ALTER TABLE person ADD  number INT(4) FIRST;

# 把name字段移动到id后面
ALTER TABLE name MODIFY card CHAR(10) AFTER id;
 
# 把id字段移动到第一位
ALTER TABLE id MODIFY test CHAR(32) NOT NULL DEFAULT '123' FIRST;

数据增删改

#往数据库中添加数据
INSERT into student.uesr (id,name,age,sex,phonNUM) 
VALUES(0,'来了',22,'女','12222111'),(0,'来了11',23,'女','12112221'),(0,'来了2',24,'女','12111');

# 修改数据
UPDATE user SET phonNUM='18252524545' WHERE id=3;

#删除数据
delete from user where id =8;

数据查询

# 查询全部信息
select * from user;
 
# 查询部分字段信息
select id,name,age from user;
 
# 根据条件查询部分字段信息
select id,name,age from user where age=24;
 
# 查询条件查询结果的前3行数据
select id,name,age from user where age=24 LIMIT 3;
 
 
# 查询以 abc 为开头的数据
SELECT * FROM person WHERE name like ‘杨 %;
 
# 查询以 abc 为结尾的数据
SELECT * FROM person WHERE author like%丹 ’;
 
# 查询包含 abc 的数据
SELECT * FROM person WHERE author like%%;
 
# 查询最大最小值
select max(age),min(age) from person where id<15;
 
 
# 查找name字段中以'st'为开头的所有数据
SELECT name FROM person_tbl WHERE name REGEXP '^st';
 
# 查找name字段中以'ok'为结尾的所有数据
SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
 
# 查找name字段中包含'mar'字符串的所有数据
SELECT name FROM person_tbl WHERE name REGEXP 'mar';
 
# 查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据
SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

MySQL中关于like与regexp的区别与用法

  • like的用法,like有两种模式_和%

_表示:表示单个字符,用来查询定长的数据,举例如下:

SELECT * FROM person WHERE name like ‘杨_’;

%表示:表示0个或多个任意字符,举例如下:

SELECT * FROM person WHERE name like ‘杨 %;
  • regexp的用法:正则匹配

具体用法参考Java中的正则表达式:https://blog.csdn.net/qq_44895342/article/details/107797267?spm=1001.2014.3001.5501


总结

本文主要针对MySQL基本操作进行总结归纳。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值