mysql 字面值

mysql 数据库中实现了许多的数据类型、通常我们用的最多的是在建表的时候指定列的数据类型 如:brithday date default ‘2000-01-01‘

那么我们如何给字面值(直接量)指定类型呢?

1、为字符指定它的类型

  格式:  _{字符集名}‘字符‘

  例如:  _gb2312‘蒋乐哥哥‘

2、为时间|日期指定它的类型

  格式:  {date | time | timestamp} ‘值‘ # 注意这个值要和前面的时间对的上、不然会报错的。这里没有datetime 这个类型可用

  例子:  date ‘2017-03-17‘

3、十六进制的字面值

  格式:  X‘值‘  #注意这里的值这的最小长度一定要是一个字节,也只能是整数个字节。如X‘F‘ 是不行的,它只有1/2个字节长。

  例子:  X‘a0‘

4、2进制的字面值

  格式:  b‘值‘

  例子:  b‘1010‘

5、bool类型的字面值

  格式:  TRUE  | FALSE  |true  |false

6、空值的字面值

  格式:  NULL

升华:

  在我们定义表的时候如果我们想要的是一个字符型的列,那么我们定义成char / varchar 就行了。如果我们不定义那么数据库会给它分配一个

  默认的字符集、我这边通常会设置默认字符集为utf8。在mysql比较两个字符串是否相等时、事实上是在比较两个串的字节序列。

select _gb2312‘蒋乐哥哥‘=_utf8‘蒋乐哥哥‘;
ERROR 1267 (HY000): Illegal mix of collations (gb2312_chinese_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation ‘=‘

  前文说过字符只是一串字节序列、然而二进制类型、16进制类型是最天然的二进制序列的表达方式;那么它们之间怎么转换呢?

  由‘a‘的字节序列直接转换为字符

select _utf8 b‘01000001‘,_utf8 X‘41‘;
+-------------------+-------------+
| _utf8 b‘01000001‘ | _utf8 X‘41‘ |
+-------------------+-------------+
| A                 | A           |
+-------------------+-------------+

---

时间: 2024-10-13 12:17:55

mysql 字面值的相关文章

mysql必知必会笔记

一.了解sql 数据库是一个以某种有组织的方式存储的数据集合. 数据库基础 数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件). 表(table) 某种特定类型数据的结构化清单. 模式(schema) 关于数据库和表的布局及特性的信息. 列(column) 表中的一个字段.所有表都是由一个或多个列组成的. 数据类型(datatype) 所容许的数据的类型.每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据. 行(row) 表中的一个记录. 主键(primar

《MySQL必知必会》读书笔记

一.了解MySQL 1.什么是数据库? 数据库是一种以某种有组织的方式存储的数据集合. 2.模式(schema):关于数据库和表的布局及特性的信息. 3.列:正确的将数据分解为多个列极为重要.通过把它分解开,才有可能利用特定的列对数据进行排序和过滤. 4.主键(primary key):一列,其值能够唯一区分表中每个行,用来表示一个特定的行.应该保证创建的每个表具有一个主键,以便于以后的数据操纵和管理. 5.外键: 6.SQL语句不区分大小写,但是开发人员通常对所有SQL关键字大写,而对所有列和

MySQL字符集编码

MySQL字符集编码总结 之前内部博客上凯哥分享了一篇关于mysql字符集的文章,之前我对mysql字符集一块基本没有深究过,看到凯哥文章后有些地方有点疑惑,遂自己去看了mysql的官方文档,并参考了凯哥的文章,总结了这篇博文.本文主要是对mysql常见的字符集问题进行整理,如有错误,请大家指正. 1.MySQL字符集编码简介 谈到字符集,总会跟编码扯上关系,有关字符集和编码的理论知识请参见我之前的文章.MySQL内部是支持多种字符集的,这里就不再严格区分字符集和编码的概念了.同时,MySQL中

[原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

MySQL预处理语句

预制语句的SQL语法基于三个SQL语句: PREPARE stmt_name FROM preparable_stmt; EXECUTE stmt_name [USING @var_name [, @var_name] ...]; {DEALLOCATE | DROP} PREPARE stmt_name; PREPARE语句用于预备一个语句,并赋予它名称stmt_name,借此在以后引用该语句. 预编译SQL的存活期就是当前的会话,也就是当前的数据库连接.如果连接一断开 ,那就会消失. 例:

常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; help show; 显示可用的数据库列表:show databases; 显示一个数据库内可用的表的列表:show tables; 显示表列:show columns from 一个表名; /describe 表名;  示例:show columns from customers;    desc

构建Mysql三部曲之二 概念语法

一.基本概念 SQL(Structured Query Language) 结构化查询语言 SQL 语言包含4个部分: 1.数据定义语言(DDL),例如:CREATE.DROP.ALTER 等语句 2.数据操作语言(DML),例如:INSERT(插入).UPDATE(修改).DELETE(删除)语句 3.数据查询语言(DQL),例如:SELECT 语句 4.数据控制语言(DCL),例如:GRANT.REVOKE.COMMIT.ROLLBACK 等语句 MySQL 支持标准的 SQL 语句,也有自

【MySQL比知必会】第八章 用通配符进行过滤

1.LIKE操作符 之前使用的操作符都是针对已知的数据,而使用通配符可以对未知数据也进行搜索. 通配符(wildcard):用来匹配值得一部分的特殊字符. 搜索模式(search pattern):由字面值.通配符或两者组合构成的搜索条件. 搜索子句要使用使用通配符,必须使用LIKE操作符,因为它指示MySQL,后面跟的搜索模式是通配符匹配而不是直接相等匹配. 谓词:当一个操作符作为谓词时,它不再是一个操作符,LIKE是一个谓词. 2.百分号通配符% %表示任何字符出现任意次数. 输入:SELE

MySQL学习笔记1—7

一.了解数据库和表    SHOW DATABASES; 返回可用数据库的一个列表 SHOW TABLES; 返回当前选择的数据库内可用的列表 SHOW COLUMNS FROM 表名; 对每个字段返回一行,行中包括字段名.数据类型.是否允许NULL.键信息.默认值以及其他信息 二.检索数据 检索单个列:SELECT prod_name FROM products; 检索多个列:SELECT prod_id, prod_name, prod_price FROM products; 检索所有列: