MySQL 基础命令

基础命令

  • 修改密码

alter user ‘root’@‘localhost’ identified by ‘Root@123456’;

set password for 'root'@'localhost' password('123456');  # 5.6版本
  • 查看mysql版本

select version();
  • 查看存储引擎

SHOW ENGINES\G;

MAR_MYISAM:表示合并的my ISAM表。将多个MYISAM合并为一个。
CSV:将数据文件保存为CSV格式文件。
  • 查看表结构

desc 表名
describe 表名
  • 查看表的详细结构

SHOW CREATE TABLE 表名\G 

增删改查

增/删

  • 创建删除 库表

# 创建/删除数据库
CREATE DATABASE 数据库名;
drop database 数据库名;

# 创建/删除数据表
CREATE TABLE table_name (column_name column_type);
DROP TABLE table_name ;

- auto_increment # id自增

# 添加字段
alter table time ADD time DATE;

# 枚举
alter table t ADD sex ENUM("男", "女")

# 主键
alter table t1 ADD primary key (id);

# 删除指定数据
DELETE FROM table_name [WHERE Clause]

# 删除数据
delect from 表名
truncate table 表名

delect和truncate区别:

- delect执行删除数据时不释放表空间
- truncate执行删除时将会释放表空间

- delect可以删除单挑或者多条数据,后面添加where
- truncate清空所有数据
  • 插入数据

INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
  • 添加、删除字段

# 添加
ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [first|after 已近存在的字段名]

# 删除
ALTER TABLE 表名 DROP 字段名

  • 修改数据

UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
  • 修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名
  • 修改数据类型

ALTER TABLE 表名 MODIFY 字段名 数据类型 
  • 修改字段名

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型

# 查表所有字段
select * from 表名;

# 查重复数据
select name,count(*) from app_nine_one group by name having count(name)>1; 

# like
SELECT field1, field2 FROM table WHERE field1 LIKE condition;

# 查看所有表数据
select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = '数据库名称' order by table_rows desc; 

# 查看某个库大小
SELECT table_schema as '数据库', sum(table_rows) as '记录数',  sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' from information_schema.tables where table_schema='fkh_test_statistics_operate_v5';

用户操作

  • 创建用户

create user 'root'@'192.118.1.%' identified by 'pwd';  # 指定IP
create user 'root'@'%' identified by '123';  # 允许所有地址
  • 删除用户

drop user '用户名'@'IP地址';
Delete FROM user Where User='test' and Host='localhost';
  • 修改用户

rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
  • 修改密码

set password for '用户名'@'IP地址'=Password('新密码');
  • 修改host

update user set host='192.168.8.%' where user='root' and host='%';

权限操作

  • 查看用户权限

show grants for '用户'@'IP地址';
  • 刷新系统权限

flush privileges;
  • 授权

grant all privileges on `database`.`table` to "alex"@'%';

[all privileges]
- all privileges  # 表示所有权限,除grant
- select,insert,update  # 给予单权限

[db1.t1]
- *.*  # 授权所有库
- db.*  # 授权单个库
- db.t1  # 授权单个表

[alex]
- alex  # 授权用户
  • 取消权限

revoke all on db1.t1 from 'root'@"%";
  • 查询权限

SHOW GRANTS FOR 'db_user'@'%';