25 MySQL数据类型、运算符
lix_uan 607 1

经典问题解决方案

命令行乱码

  • 数据库默认编码为utf8,而windows默认编码为GBK

    mysql> set names gbk;  
    Query OK, 0 rows affected (0.00 sec) 

退出当前错误语句

  • 语句打错以后在语句后打 \c 可以快速退出本语句

破解数据库密码

  • 关掉mysqld服务进程

  • 通过mysqld --skip-grant-tables开启mysqld

  • mysql -uroot无密码登录服务器

  • 修改权限表

    use mysql;
    update user set Password=password('123456') where User='root';
    flush privileges;
  • 重启mysql服务

MySQL的数据类型

整数

  • TINYINT
  • INT
  • BIGINT

浮点型

  • DOUBLE

定点型

  • DECIMAL
  • 在MySQL内部以字符串形式存放,比浮点数更精确

日期时间类型

  • date : YYYY-MM-DD
  • time : HH:MM:SS
  • datetime : YYYY-MM-DD HH:MM:SS
  • year : YYYY
  • timestamp : 时间戳

字符串型

  • char:定长字符串
  • Varchar:变长字符串

特殊的NULL值

  • 所有类型的值都可以是null,包括int、float等数据类型
  • 空字符串"" 不等于null,0也不等于null,false也不等于null
  • 任何运算符、判断符碰到null都得null
  • null的判断只能用is null,is not null
  • null影响查询速度,一般避免使值为null

MySQL的运算符

算数运算符

  • “+”,“-”,“*”,“/”,“%”

比较运算符

  • “=”,“>=”,“<=”,“!=”(不等于,<>),“<=>”(安全的等于)

逻辑运算符

  • “&&”,“||”,“!”
  • AND,OR,NOT(非),XOR(异或)

范围和集合

  • between...and..
  • in(集合)

模糊查询

  • like
  • _ 匹配单个字符
  • % 匹配任意个字符
评论区

索引目录