mysql命令学习
MySQL 命令大全
登录和退出
- 登录 MySQL
1 | mysql -u 用户名 -p密码 |
- 退出
1 | exit |
数据库操作
- 查看所有数据库
1 | show databases; |
- 创建数据库
1 | create database 数据库名; |
- 删除数据库
1 | drop database 数据库名; |
- 使用数据库
1 | use 数据库名; |
表操作
- 查看当前数据库所有表
1 | show tables; |
- 创建表
1 | create table 表名( |
- 删除表
1 | drop table 表名; |
- 查看表结构
1 | desc 表名; |
数据操作
- 插入数据
1 | insert into 表名(字段1,字段2) values(值1,值2); |
- 更新数据
1 | update 表名 set 字段名=新值 where 条件; |
- 删除数据
1 | delete from 表名 where 条件; |
- 查询数据
1 | select 字段列表 from 表名 where 条件; |
权限管理
- 创建用户
1 | create user '用户名'@'主机名' identified by '密码'; |
- 修改用户密码
1 | set password for '用户名'@'主机名' = password('新密码'); |
- 授权
1 | grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'; |
- 撤销权限
1 | revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名'; |
数据库操作
- 查看当前使用的数据库
1 | select database(); |
- 修改数据库的字符集
1 | alter database 数据库名 character set 字符集名; |
表操作
- 修改表的字符集
1 | alter table 表名 convert to character set 字符集名称; |
- 修改表名
1 | rename table 原表名 to 新表名; |
- 修改字段
1 | alter table 表名 change 字段名 新字段名 新数据类型; |
- 添加字段
1 | alter table 表名 add 字段名 数据类型; |
- 删除字段
1 | alter table 表名 drop 字段名; |
- 创建表索引
1 | create index 索引名 on 表名(字段名); |
- 删除表索引
1 | drop index 索引名 on 表名; |
数据操作
- 指定字段插入
1 | insert into 表名(字段1,字段2) values(值1,值2); |
- 同时插入多条数据
1 | insert into 表名 values(记录1值列表),(记录2值列表); |
- 将一个表的数据插入到另一个表
1 | insert into 表名1(字段列表) select 字段列表 from 表名2; |
- 更新多个字段
1 | update 表名 set 字段1=值1,字段2=值2 where 条件; |
- 具有多个条件的复杂查询
1 | select * from 表名 where 条件1 and/or 条件2; |
- 排序并返回部分行
1 | select 字段列表 from 表名 order by 排序字段 desc limit M,N; |
视图操作
- 创建视图
1 | create view 视图名 as select 语句; |
- 查看视图结构
1 | show create view 视图名; |
- 修改视图结构
1 | alter view 视图名 as select 语句; |
- 删除视图
1 | drop view 视图名; |
存储过程和函数
- 创建存储过程
1 | create procedure 过程名(参数) |
- 调用存储过程
1 | call 过程名(参数); |
- 创建函数
1 | create function 函数名(参数) returns 返回类型 |
- 调用函数
1 | select 函数名(参数); |
触发器
- 创建触发器
1 | create trigger 触发器名 触发时间 触发事件 on 表名 for each row |
- 删除触发器
1 | drop trigger 触发器名; |
事务处理
- 开启事务
1 | start transaction; |
- 提交事务
1 | commit; |
- 回滚事务
1 | rollback; |
用户和权限管理
- 查看用户权限
1 | show grants for '用户名'@'主机名'; |
- 撤销所有权限
1 | revoke all privileges on *.* from '用户名'@'主机名'; |
- 设置密码安全级别
1 | set global validate_password_policy=0|1|2; |
- 设置密码长度限制
1 | set global validate_password_length=N; |
数据库维护
- 分析和优化表
1 | analyze table 表名; |
- 检查表
1 | check table 表名; |
- 优化表
1 | optimize table 表名; |
- 修复表
1 | repair table 表名; |
数据库备份
- 备份数据库schema
1 | mysqldump -d 数据库名 > schema.sql |
- 备份某个表
1 | mysqldump -u root -p 数据库 表名 > 表名.sql |
- 恢复备份
1 | mysql -u root -p 数据库 < 备份文件.sql |
数据库导入导出
- 将表导出为csv文件
1 | select * from 表名 into outfile '文件名.csv'; |
- 从csv文件导入表
1 | load data infile '文件名.csv' into table 表名; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 鲸!