MySQL常用的命令

0x001: 连接相关

  • 连接本地MySQL

    mysql -u用户名 -p密码

    例如:
    mysql -uroot -proot

  • 连接远程MySQL

    mysql -h主机地址 -P端口 -u用户名 -p密码

    例如:
    mysql -h127.0.0.1 -p3306 -uroot -proot


0x002: 用户相关

  • 创建用户

    create user '用户名'@'IP地址' identified by '密码';

    例如:
    create user 'root'@'127.0.0.1' identified by 'root';

  • 删除用户

    drop user '用户名'@'IP地址';

    例如:
    drop user 'root'@'127.0.0.1';

  • 修改用户名

    rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;

    例如:
    rename user 'root'@'127.0.0.1'; to 'root1'@'127.0.0.2';;

  • 修改密码

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

    例如:
    set password for 'root'@'127.0.0.1' = Password('123');

  • 查看用户

    select user,host from mysql.user;


0x003: 授权相关

  • 查看用户权限

    show grants for '用户名'@'IP地址';

    例如:
    show grants for 'root'@'127.0.0.1';

  • 对用户授权

    grant 权限 on 数据库名.表名 to '用户名'@'IP地址';

    常用的权限:
    select -> 查找权限
    insert -> 添加权限
    update -> 更新权限
    all privileges -> 所有权限(除授权权限外)

    例如:
    grant select on text.text_table to 'root'@'127.0.0.1';

  • 取消授权

    revoke 权限 on 数据库名.表名 from '用户名'@'IP地址';

    例如:
    revoke select on text.text_table from 'root'@'127.0.0.1';


0x004: 数据库相关

  • 查看数据库

    show databases;

  • 调用数据库

    use 数据库名;

  • 查看该库内的表

    show tables;

  • 查看表的内容

    select * from 表名;

  • 查看当前处于的库

    select database();

  • 查看其它库的表

    show tables from 数据库名;

  • 新建数据库

    create database 库名 default charset utf8;

    例如:
    create database class default charset utf8;

  • 删除数据库

    drop database 库名;

    例如:
    drop database class;


0x005: 表相关

  • 查看所有表

    show tables;

  • 新建表

    create table 表名(第一列名 数据类型 null或not null default 1 auto_increment primary key,第二列名 类型) default charset utf8;

# 解释说明:
     1. `数据类型`:
         - 数字类型:
             - 整数
                 - `tinyint`:短整型
                 - `int`:整型
                 - `bigint`:长整型
             - 小数
                 - `float`:单精度浮点型
                 - `double`:双精度浮点型
                 - `decimal`:不会缺失精度
         - 字符串型:
             - `char()`:速度快,最高255字符
             - `varchar()`:节省空间,最高255字符
             - `text`:最高65535字符
         - 时间类型:
             - `date`:YYYY-MM-DD(年-月-日)
             - `time`:HH:MM:SS(时:分:秒)
             - `year`:YYYY(年)
             - `datetime`:YYYY-MM-DD HH:MM:SS
             - `timestamp`:YYYYMMDD HHMMSS
         - 枚举类型:
             - `enum`:只能输入特定的值
             - 例如:
                 - `enum('123', '一二三', '①②③')`
                 - 此时就只能输入这三个中的其中一个
         - 集合类型:
             - `set`:可以输入多个特定的值
             - 例如:
                 - `set('123', '一二三', '①②③', 'abc', 'ABC')`
                 - 此时就可以输入这五个中的多个
     2. `null或not null`:是否可以为空
     3. `default 1`:默认值为1
     4. `auto_increment`:自增值,一个表里有且只能有一个自增列
     5. `primary key`:约束(不能重复且不能为空),加速查找

例如:创建一个第一列列名为id、类型为整型表格不能为空,并设置为自增列;第二列列名为name,类型为可以储存10个字符的字符串型;字符集为utf8

create table class(id int not null auto_increment primary key, name char(10)) default charset=utf8;

增:

  • 向表里插入内容

    insert into 表名(列名) values(内容);

删:

  • 删除表里的特定内容

    delete from 表名 where 范围;

  • 删除表里的全部内容

    delete from 表名;
    truncate table 表名;

  • 删除整个表

    drop table 表名;

改:

  • 修改表里的内容

    update 表名 set 列名=值;
    update 表名 set 列名=值 where 列名=值;

  • 修改表的初始自增值

    alter table 表名 auto_increment=1;

  • 修改表的自增值步长

    set session auto_increment_increment=值;

查:

  • 查看表自增值的步长和变量

    show session variables like 'auto_inc%';

  • 查看表里的内容

    select 范围 from 表名;

  • 查看表的所有类型

    desc 表名;

  • 查看表是怎样创建的

    show create table 表名;


文章作者:Torres-圣君
文章链接:https://www.cjlblog.vip/posts/92cd9797.html
版权声明:本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Torres-圣君


  转载请注明: Torres-圣君 MySQL常用的命令

评论
 上一篇
C4droid安装教程 C4droid安装教程
C4droid是款Android设备上的C/C++程序IDE(集成开发环境),默认以tcc(tiny c compiler)为编译器,可以选择安装gcc插件(20mb,只有root用户可以使用),选用gcc后,可以用sdl(简单直控媒体层库,需安装sdl plugin for c4droid)和qt(nokia官方开发库,需安装sdl plugin for c4droid)。
2021-01-20
下一篇 
MySQL的安装和卸载 MySQL的安装和卸载
本章主要介绍的是MySQL免安装方法下载后的一些基本配置,以及如何卸载和重装MySQL的相关操作
2021-01-18
  目录