MySQL数据类型(2)

mysql的数据类型:

  • 字符型
  • 数值型
  • 日期时间型
  • 内建类型
字符型:
  • CHAR(不区分字符大小写),BINARY(区分字符大小写): 定长数据类型
  • VARCHAR(不区分字符大小写),VARBINARY(区分字符大小写): 变长数据类型,需要结束符。
  • TEXT: TINYTEXT(255个字符,2**8),TEXT(65535个字符,2**16),MEDIUMTEXT(1600多万个字符,2**24),LOGTEXT(40多亿个字符,2**32)
  • BLOB: TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB(支持的字符数个数同上)
  • ENUM,SET:
数值型:

精确数值型:

  • 整型数据:TINYINT(2**8),SMALLINT(2**16),MEDIUMINT,INT,BIGINT
  • 十进制型:DECIMAL
    近似数值型:
  • 浮点型:FLOAT,DOUBLE
日期时间型:
  • DATE(占用3个字节)
  • TIME(占用3个字节)
  • DATETIME(占用8个字节,需要额外说明哪部分是日期和时间)
  • TIMESTAMP 时间戳
  • YEAR(2),YEAR(4)
字符型类型修饰符:
  • NOT NULL: 非空约束
  • NULL: 不写则为NULL
  • DEFAULT 'STRING': 指明默认值
  • CHARACTER SET ' ': 使用的字符集(一般在my.cnf配置文件里指明)
  • COLLATION: 使用的排序规则
    mysql> SHOW CHARACTER SET;
    mysql>SHOW COLLATION;
整型修饰符:
  • NOT NULL
  • NULL
  • DEFAULT NUMBER
  • AUTO_INCREMENT: UNSIGNED(无符号,紧跟在数据类型之后),PRIMARY KEY|UNIQUE KEY NOT NULL
    mysql > select last_insert_id();(查看字段自增到哪里)
日期时间型修饰符:
  • NOT NULL
  • NULL
  • DEFAULT
内建类型SET和ENUM的修饰符:
  • NOT NULL
  • NULL
  • DEFAULT

mysql的SQL MODE: 定义mysql对约束等的响应行为
mysql> set global sql_mode='mode';

mysql> set @@global.sql_mode='mode';
需要修改权限,仅对修改后新创建的会话有效,对已经建立的会话无效

mysql> set session sql_mode='mode';

mysql> set @@session.sql_mode='mode';

常用的mode: TRADITIONAL,STRICT_TRANS_TABLES,or STRICT_ALL_TABLES

SQL语句:

  • DDL: 数据定义语言,creat,alter,drop

  • DDL可使用的DB组件: 数据库,表,索引,试图,用户,存储过程,触发器,事件调度器等。

  • DML: 数据操纵语言,insert,delete,update,select

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容