常用mysql命令总结(持续更新中~)

文章目录

      • 常用mysql命令总结
        • 连接数据库
        • mysql启动和关闭外键约束的方法
        • 添加、删除、查看约束
          • 添加约束
          • 删除约束
          • 查看约束
        • 创建、查看、删除索引
          • 创建索引
          • 查看索引
          • 删除索引
        • 创建、使用、修改、查看视图
          • 创建视图
          • 使用视图
          • 查看视图(与查看基本表一样)
          • 更新视图
          • 删除视图
          • 常见的视图更新限制:
        • 授权与取消授权
          • 给用户授权
          • 移除用户权限
          • 查看用户权限
        • 查看所有用户

常用mysql命令总结

连接数据库

mysql -u 用户名 -p

回车输入密码或者直接在-p后面添加密码

例如:用户cc,密码123456进行连接数据库

mysql -u cc -p123456

mysql启动和关闭外键约束的方法

[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails…

这个是因为mysql中设置了foreign key关联,造成无法更新或者删除数据。

  • 可以设置foreign_key_checks变量来关闭外键约束

    set foreign_key_checks = 0; -- 禁用外键约束
    
    set foreign_key_checks = 1; -- 启用外键约束
    
  • 查看当前foreign_key_checks

    select @@foreign_key_checks; -- 查看当前外键约束状态
    

添加、删除、查看约束

添加约束

添加唯一约束

alter table 表名
add constraint uq_字段名 
unique(字段);

添加外键约束

alter table 表名
add constraint fk_字段名 
foreign key(字段名) references 关联表表名(关联字段名)

添加check约束

alter table 表名
add constraint ck_字段名
check (条件表达式)

添加默认值约束

alter table 表名
add constraint DF_字段名
default ‘默认值’ for 字段名
删除约束
alter table 表名
drop constraint 约束名
查看约束
select *
from information_schema.`table_constrain`
[where table_name = 表名] -- 来指定需要查看约束的表

创建、查看、删除索引

创建索引

创建唯一索引

create unique index 索引名
on 表名(字段名);
查看索引

使用show index from 表名

show index from 表名;
删除索引

直接通过drop

drop index 索引名
on 表名

创建、使用、修改、查看视图

创建视图

视图可以根据基于视图创建,也可以根据基本表进行创建

create view 视图名(列1,列2)
as
select (列1,列2)
from ...
where 条件查询表达式
[with check option]

with check option的作用就是对视图进行delete、insert和update的时候、需要保证delete、update、insert的行(数据)满足视图定义中的谓词条件(即select中的条件查询表达式)

使用视图

与使用基本表一样就行

查看视图(与查看基本表一样)

查看视图结构

desc 视图名

查看视图信息

select *
from 视图名
更新视图

格式均与更新基本表一样

update 视图名
set 列名
[where子句]
删除视图

与删除基本表的语句一样

drop view 视图名 [cascade]

cascade:由该视图导出的所有视图定义都会删除

常见的视图更新限制:
  1. 若视图是由两个以上基本表导出的,那么这个视图不允许更新
  2. 若视图的字段来自字段表达式或者常数,则不允许对此视图执行insert 和 update操作,但是允许delete
  3. 若视图的字段来自聚集函数,那么这个视图不允许更新update
  4. 如果视图定义中含有 group by 子句,那么这视图不允许更新
  5. 若视图定义中含有DISTINCT,那么视图不允许更新
  6. 若视图定义有嵌套查询,并且内层查询的from子句中涉及的表也是导出该视图的基本表,那么此视图不允许更新
  7. 一个不允许更新的视图上定义的视图也不允许更新

授权与取消授权

给用户授权
grant 权限
on 表名
to 用户;
移除用户权限
revoke 权限
on 表名
from 用户名;
查看用户权限

查看用户本身的权限

show grants;

查看某个用户的权限

show grants for 用户名;

查看所有用户

select user,host
from mysql.user;

你可能感兴趣的:(MySql)