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'@'%';