MySQL基础命令

igxiaoshan Lv5
  • 查看数据库字符集

    1
    SHOW VARIABLES LIKE 'character%';
  • 查看某个表已有的约束

    1
    2
    3
    4
    5
    6
    7
    SELECT @a := DATABASE();
    SELECT * FROM information_schema.table_constraints
    WHERE table_schema = @a AND table_name = '表名称';

    -- information_schema 数据库名(系统库)
    -- table_constraints 表名称(专门存储各个表的约束)
    -- @a 用户自定义变量(获取当前使用的数据库名称)
  • 查看字符集比较规则

    1
    2
    3
    4
    5
    -- 查看GBK字符集的比较规则
    SHOW COLLATION LIKE 'GBK%'; -- 两个结果

    -- 查看UTF8字符集的比较规则
    SHOW COLLATION LIKE 'utf8%'; -- 很多..
  • 查看服务使用的字符集和比较规则

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    -- 查看服务器的字符集和比较规则
    SHOW VARIABLES LIKE '%_server';

    -- 查看数据库的字符集和比较规则
    SHOW VARIABLES LIKE '%_database';

    -- 查看具体数据库的字符集
    SHOW CREATE DATABASE dbtest1;

    -- 修改数据库的字符集
    ALTER DATABASE dbtest1 DETUALT CHARACTER SET 'utf8' COLLCTE 'utf8_general_ci';
  • 查看数据库的字符集和比较规则

    1
    2
    3
    4
    5
    6
    7
    8
    -- 查看表的字符集
    SHOW CREATER TABLE table_test1;

    -- 查看表的比较规则
    SHOW TABLE STATUS FROM dbtest1 LIKE 'table-test1';

    -- 修改表的字符集和比较规则
    ALTER TABLE table_test1 DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

    sql_mode设置

  • 查看当前的sql_mode

    1
    2
    3
    4
    5
    6
    7
    -- 全局
    SELECT @@global.sql_mode;
    -- 会话
    SELECT @@session.sql_model;

    或者
    SHOW VARIABLES LIKE 'sql_mode';
  • 临时设置: 设置当前窗口sql_mode

    1
    2
    3
    4
    -- 全局
    SET GLOBAL sql_mode = 'modes ...';
    -- 当前会话
    SET SESSION sql_mode = 'modes ...';
  • 永久设置: 在/etc/my.cnf中配置sql_mode

    1
    2
    3
    4
    5
    6
    -- 在 my.cnf(windows系统文件叫 my.ini) 文件中新增配置
    [mysqld]
    sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

    -- 然后重启MySQL服务
    -- 注意;在生产环境上是禁止重启MySQL服务的,所以采用 "临时设置方式 + 永久设置方式' 来解决线上的问题;那么即使有天重启了MySQL服务,也会永久生效

    sql脚本文件执行

  • 执行 xxx.sql文件

    1
    2
    3
    4
    5
    -- 登录MySQL服务器
    mysql -uroot -p 'xxx'

    -- 执行sql文件
    source /文件存储路径/xxx.sql; -- 不要加引号
此页目录
MySQL基础命令