mysql常用类型

整数: int => int32, bigint =>int64 int unsign 带符号
字符串: char(lengh) 定长字符串 varchar(lengh) 变长字符串(最常用)
text 文本 最大65535个,如果不够用,用 longtext 4G (图片也会用text来存)
blob 二进制
boolean 布尔类型 ;tinyint(一个字节)和boolean是一样的
datetime 时间类型

mysql数据类型

数据类型:

  1. 数值类型
  2. 布尔类型 boolean
  3. 整型
  4. tinyint 1
  5. smallint 2
  6. int 4
  7. mediumint 6
  8. bigint 8
  9. 浮点型
  10. float 4
  11. double 8
  12. decimal(m,d) 16 m: 有效位数 小数点之前和小数点之后的数字的个数最大值;d:小数点最大位数
  13. 字符类型
  14. char
  15. varchar
  16. text 65535 tinytext 255 mediumtext 16M longtext 4G
  17. blob
  18. json => 关系型数据库支持文档的一种格式
  19. enum 枚举类型
  20. 日期类型
  21. date 年月日
  22. time 时分秒
  23. datetime 年月日时分秒
  24. timestamp 年月日时分秒
  25. 更新时会自动更新为当前时间

修饰

  1. 主键:PRIMARY KEY
  2. 主键自动增长: int/bigint AUTO_INCREMENT
  3. 唯一:UNIQUE KEY
  4. NULL: NOT NULL not null的最好设置默认值
  5. 默认值: DEFUALT value
  6. DEFAULT 0
  7. DEFAULT ''
  8. 注释: COMMENT '',
  1. create table user (
  2. id bigint,
  3. name varchar(32),
  4. password varchar(1024),
  5. sex boolean,
  6. birthday datetime,
  7. addr text,
  8. tel varchar(32)
  9. ) engine=innodb default charset utf8mb4 comment="这是一个注释";

修改表

  1. alter table table_name add/change/drop column 列名 列类型 列的修饰;
  2. alter table user add column created_at_datatime not null;

索引

针对查询字段,不会针对枚举类型创建
用户 status int 1:未激活 2:正常使用 3:锁定 4:删除

  1. create unique index 唯一索引名 [using 索引类型] on table_name(创建的列);
  2. create index 索引名称 using 索引类型 on table_name(创建的列);
  3. 联合索引 大于1列的索引
  4. hash * btree rtree
  5. drop unique index
  6. drop index

联合索引: 多余一列的索引

查询

  1. like
  2. 以某个字符串开头 like 'substr%'
  3. 以某个字符串结尾 like '%substr'
  4. 包含字符串 like '%ssubstr%'
  5. like binary
  6. name kk,AK

查看表结构指令

  • desc table name
  • show create table table-name;
文档更新时间: 2022-03-20 11:45   作者:张尚