MySQL知识总结

一.其它

连接MySQL

mysql -h 127.0.0.1 -u root -p

然后输入密码。MySQL刚安装时,root默认密码为空,直接回车就行。

执行.SQL文件
在MySQL命令行环境使用source命令:

source sql文件路径

二.表操作

更新数据
使用update语句

update
	 user 
set 
	name="the4unit",
	password="afdjkd2jbda" 
where 
	id = 1

删除语句

delete from user where id = 1;

修改root密码

 set password for 用户名@localhost = password('新密码');

删除全表数据

//delete语句不带where
delete from user;
//删除数据,保留表结构
truncate table user;
//删除数据和表结构
drop table user;

参考

字符集问题

8个character_set

三.用户

创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

创建用户时需要指定host,即该用户可以连接数据库的host。如果指定为%,则表示不限。

授予用户权限

GRANT privileges ON databasename.tablename TO 'username'@'host'
//eg:
grant all on *.* to 'biguser'@'localhost';

查看所有用户

select * from mysql.user;

可以在user表中看到用户权限、密码(加密后的)等情况。

查看用户权限

#注意要制定用户名@host
show grants for root@localhost

四.数据库命令

展示所有数据库

show databases;

切换数据库

use vueblog;

展示当前数据库的所有表

show tablse;

创建数据库

五.MacOS下的一些操作

MacOS 安装MySQL
官网下载dmg文件,安装即可。下载地址

MacOS 运行MySQL
打开系统偏好设置,找到MySQL,可以启动或停止MySQL。

MySQL命令找不到
https://blog.csdn.net/Wjhsmart/article/details/85322226

alias mysql=/usr/local/mysql/bin/mysql

可视化客户端dbeaver
https://github.com/dbeaver/dbeaver/releases

Public Key Retrieval is not allowed
在连接url上加 allowPublicKeyRetrieval=true
如果是可视化客户端如dbeaver,也可编辑连接时的属性。

六.事务相关命令

启动事务,并创建一致性视图。如果不加with consistent snapshot则在第一条sql语句时创建视图。也就是说begin或者start transaction命令不会立马启动一个事务,在执行他们之后的第一个操作InnoDB表的语句时事务才真正启动。

start transaction with consistent snapshot;
# 或者
start transaction

提交事务

commit

查看隔离级别
MySQL8.0+:

1.查看当前会话隔离级别

select @@transaction_isolation;

2.查看系统当前隔离级别

select @@global.transaction_isolation;

MySQL5.0+:

1.查看当前会话隔离级别

select @@tx_isolation;

2.查看系统当前隔离级别

select @@global.tx_isolation;

设置隔离级别
设置会话的隔离级别,隔离级别由低到高设置依次为:

set session transaction isolation level read uncommitted;
set session transaction isolation level read committed;
set session transaction isolation level repeatable read;
set session transaction isolation level serializable;

设置当前系统的隔离级别,隔离级别由低到高设置依次为:

set global transaction isolation level read uncommitted;
set global transaction isolation level read committed;
set global transaction isolation level repeatable read;
set global transaction isolation level serializable;

当前正在执行的事务可以在表中查看

information_schema.Innodb_trx

查看是否开启了autocommit
autocommit默认是启动的,即每个语句本身就是一个事务,会自动进行提交。

show variables like 'autocommit';

六.知识点

char 和 varchar的对比
char(n)和varchar(n)中的n指的是字符的个数,而不是字节的个数。如varchar(100),可以存储100个汉字,但实际的字节数大于这个。

char是定长的,不管实际实际用到多少空间,都会占用n个字符的空间。而varchar只会占用实际使用的空间+1。

char长度最长为255,varchar最长为65535。

参考文章

阿里云root为什么不用密码?

欢迎扫码或微信搜一搜【第四单元】关注我,一起学习进步
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值