MySQL 命令

速查表 

mysql -h <服务器IP> -P <端口号> -u <用户名> -p

修改密码

mysqladmin -uroot -p123 password 123456

命令行连接mysql

mysql -h <服务器IP> -P <端口号> -u <用户名> -p

参数说明:

  • -h <服务器IP>:MySQL服务器的IP地址。
  • -P <端口号>:MySQL服务器的端口号,默认为3306。如果是默认端口,可以省略此参数。
  • -u <用户名>:用于连接MySQL的用户名。
  • -p:提示输入密码。将提示输入用户密码,但密码不会在命令行中显示。

SELECT @@sql_mode;

ONLY_FULL_GROUP_BY

  • 作用:该模式要求在 GROUP BY 查询中,所有未被聚合的字段必须出现在 GROUP BY 子句中,或者被聚合函数包裹。
  • 默认状态:在 MySQL 5.7 及更高版本中,默认启用。
  • 为什么使用:启用该模式可以防止因为非聚合列没有在 GROUP BY 子句中明确指定而导致的结果不确定性或错误。它确保 SQL 查询符合 SQL 标准,避免不一致的结果。
  • 例子
    SELECT id, name, SUM(amount) FROM orders GROUP BY id; 
    -- 错误:'name' 未出现在 GROUP BY 中

    STRICT_TRANS_TABLES

NO_ZERO_IN_DATE

  • 作用:在 STRICT 模式下,如果插入或更新操作中包含无效数据(例如,插入 NULL 到不允许为 NULL 的列),MySQL 会抛出错误而不是警告。此模式仅在事务表中生效(例如,InnoDB)。
  • 默认状态:在 MySQL 5.7 及以上版本中,通常启用。
  • 为什么使用:启用该模式可以确保数据的严格性,避免无效数据进入数据库。
  • 例子
    INSERT INTO users (id, name) VALUES (NULL, 'John'); 
    -- 错误:id 列不能为 NULL
  • 作用:防止插入日期(DATE)或时间(DATETIME)字段时包含零日期(例如 0000-00-00)。在该模式启用时,0000-00-00 被视为无效日期,会抛出错误。
  • 默认状态:在 MySQL 5.7.4 之后,默认启用。
  • 为什么使用:启用该模式可避免零日期的插入,确保日期字段始终包含有效日期。
  • 例子
INSERT INTO events (event_date) VALUES ('0000-00-00'); 
-- 错误:不允许插入零日期

NO_ZERO_DATE

ERROR_FOR_DIVISION_BY_ZERO

NO_ENGINE_SUBSTITUTION

  • 作用:与 NO_ZERO_IN_DATE 类似,但仅针对 DATE 类型字段。当日期字段为 0000-00-00 时会引发错误。
  • 默认状态:默认情况下是启用的(与 NO_ZERO_IN_DATE 一起启用)。
  • 为什么使用:防止出现非法的零日期,确保日期字段有效。
  • 例子
    INSERT INTO users (birthdate) VALUES ('0000-00-00'); 
    -- 错误:不允许插入零日期

  • 作用:在执行除法运算时,如果发生除以零的情况,会引发错误(而不是返回 NULLInf)。
  • 默认状态:在 MySQL 5.7.5 及之后版本中,默认启用。
  • 为什么使用:启用该模式可以防止在除法操作中出现除零错误而默默忽略,确保错误能够被发现并处理。
  • 例子
    SELECT 1 / 0; 
    -- 错误:除以零错误

  • 作用:当创建表时,如果指定的存储引擎不可用(例如,InnoDB 不可用),MySQL 会抛出错误而不是自动回退到默认引擎(例如 MyISAM)。如果禁用此模式,MySQL 会自动将存储引擎回退到默认的存储引擎。
  • 默认状态:启用(通常是默认状态)。
  • 为什么使用:启用该模式确保在创建表时,如果指定的引擎不可用,操作会失败并抛出错误,而不是默默地使用其他引擎。
  • 例子
    CREATE TABLE test (id INT) ENGINE=InnoDB;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值