一.其它
连接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;
字符集问题
三.用户
创建用户
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.youkuaiyun.com/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为什么不用密码?
欢迎扫码或微信搜一搜【第四单元】关注我,一起学习进步