MySQL安装
安装命令
brew install mysql
安装过程:
先执行mysql.server start
重启一下,然后执行mysql_secure_installation
出现这种情况,是因为密码强度不够,可以先退出来(control+C),使用无密码进行登录之后,再进行修改密码。
解决方法:
#无密码登录
mysql -uroot
查看 mysql 初始的密码策略, 输入语句SHOW VARIABLES LIKE 'validate_password%';
进行查看
首先需要设置密码的验证强度等级,设置 validate_password.policy
的全局参数为 LOW 即可,输入设值语句SET GLOBAL validate_password.policy=LOW;
进行设值。
当前密码长度为8,如果不介意的话就不用修改了。按照通用设置为6位的密码,设置validate_password_length
的全局参数为6即可,输入设值语句SET GLOBAL validate_password.length=6;
进行设值
成功修改密码强度等级和长度。
现在可以为MySQL设置简单密码了,只要满足六位的长度即可,
输入修改语句ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
可以看到修改成功,表示密码策略修改成功了!!!(此时不能使用mysql_secure_installation去设置密码啦!)
注意: 修改成功后,最好重启下mysql.server start
接下来就可以使用mysql -uroot -p
进入数据库啦!!!
MySQL基本操作
数据库操作
#查看所有数据库
mysql> show databases;
#创建数据库
mysql> create database database_name;
#设置指定字符集数据库
mysql> create database database_name
-> default character set gbk;
#查看数据库的字符集
mysql> show create database database_name;
#删除数据库
mysql> drop database database_name;
#切换使用的数据库
mysql> use database_name;
表管理
#查看所有表
mysql> show tables;
#创建表
mysql> create table table_name(
-> column1 column1_type,
-> column2 column2_type,
-> column3 column3_type);
#查看表结构
mysql> desc table_name;
#删除表
mysql> drop table table_name;
#修改表的列
mysql> alter table 表名 add column 列 列的类型;
mysql> alter table 表名 drop column 列名;
mysql> alter table 表名 modify column 列名 新的类型;
mysql> alter table 表名 change column 列名 新的列名 新的类型;
增删改数据
#插入数据
mysql> insert into 表名(列名,列名) values(值,值);
#开启事务的情况下,delete删除的数据可以恢复,truncate删除的数据不能恢复
#删除表中全部数据
mysql> delete from 表名;
#删除所有满足条件的数据
mysql> delete from 表名 where 列名=值 and|or 列名=值;
#修改表中的数据
mysql> update 表名 set 列=值 where 列=值;
查询数据
#查询指定列数据
mysql> select 列名 from 表名;
#起别名
mysql> select 列名 as 别名 from 表名;
#去重查询
mysql> select distinct 列名 from 表名;
#按条件查询
mysql> select * from 表名 where 列名=值;
mysql> select * from 表名 where 列名=值 and 列名=值;
mysql> select * from 表名 where 列名 is null;
mysql> select * from 表名 where 列名 is not null;
#模糊查询
mysql> select * from 表名 where 列名 like '%模糊字段%';
mysql> select * from 表名 where 列名 like '模糊字段_';
通过聚合函数查询
#计数
mysql> select count(*) from 表名;
#求平均值
mysql> select avg(列名) from 表名;
#求最值
mysql> select max(列名) from 表名;
mysql> select min(列名) from 表名;
#求和
mysql> select sum(列名) from 表名;
#排序
mysql> select * from 表名 order by 列名;
mysql> select * from 表名 where 列名=值 order by 列名;
#指定排序格式
mysql> select * from 表名 order by 列名 asc;
mysql> select * from 表名 order by 列名 desc;
#指定多个排序标准
mysql> select * from 表名 order by 列名 asc,列名 desc;
#分组查询
mysql> select 列名,count(*) from 表名 group by 列名;
#筛选分组后排序
mysql> select 列名,count(*) from 表名 where 筛选条件 group by 列名 order 列名;
#对分组后的数据筛选
mysql> select 列名,count(*) from 表名 where 列名=值 group by 列名 having count(*)>1 order by 列名;