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'',_utf8 X'';
+-------------------+-------------+
| _utf8 b'' | _utf8 X'' |
+-------------------+-------------+
| A | A |
+-------------------+-------------+
---
mysql 字面值的更多相关文章
- 利用Shell脚本将MySQL表中的数据转化为json格式
脚本如下: #!/bin/bash mysql -s -phello test >.log <<EOF desc t1; EOF lines="concat_ws(',', ...
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- MySQL预处理语句
预制语句的SQL语法基于三个SQL语句: PREPARE stmt_name FROM preparable_stmt; EXECUTE stmt_name [USING @var_name [, @ ...
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...
- 《MySQL必知必会》读书笔记
一.了解MySQL 1.什么是数据库? 数据库是一种以某种有组织的方式存储的数据集合. 2.模式(schema):关于数据库和表的布局及特性的信息. 3. ...
- MySQL字符集编码
MySQL字符集编码总结 之前内部博客上凯哥分享了一篇关于mysql字符集的文章,之前我对mysql字符集一块基本没有深究过,看到凯哥文章后有些地方有点疑惑,遂自己去看了mysql的官方文档,并參考了 ...
- MYSQL数据库相关操作---读书笔记分享
===================数据库软件: <DBMS,DataBase Management System >数据库: 保存特定类型数据的容器<DB,database> ...
- mysql必知必会
春节放假没事,找了本电子书mysql必知必会敲了下.用的工具是有道笔记的markdown文档类型. 下面是根据大纲已经敲完的章节,可复制到有道笔记的查看,更美观. # 第一章 了解SQL## 什么是S ...
- 《MySQL必知必会》整理
目录 第1章 了解数据库 1.1 数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 列和数据类型 1.1.4 行 1.1.5 主键 1.2 什么是SQL 第2章 MySQL简介 2.1 ...
随机推荐
- Windows下Linux 环境 Cygwin安装及配置 基本工具使用
用久了Ubuntu开发环境,切换到windows多少有些不爽,想在windows下享用linux便捷的工具可以安装强大的Cygwin,本人也是初次使用中学习.本文主要目的让你可以通过cygwin使用基 ...
- 使用WCF测试客户端 z
http://blog.csdn.net/u013036274/article/details/50570989 [是什么] WCF测试客户端(WCF Test Client)是一个用来测试WCF服务 ...
- Ubuntu删除文件夹的命令
1. 删除文件夹的内容包括文件夹: rm -rf 文件夹的名字 (-r 是 循环的意思, f是不询问的意思) 2 .删除文件夹的内容不包括文件夹: rm -rf 文件夹的名字/* ...
- 关于如何在你的Web项目中实现对空间数据访问权限的控制(一)
Wednesday, 23 JUNE 近来一直在研究关于如何在我的WebGIS项目中实现对空间数据(已发布在GeoServer上)进行权限管理的问题.虽然到目前为止没能找到一个完美的解决方案,但通过这 ...
- 如何安装pip、升级pip包。mac下安装包的路径
参考:https://pip.pypa.io/en/stable/installing/ 1.wget -c https://bootstrap.pypa.io/get-pip.py 2.pytho ...
- Single Number and Single Number II
[] Given an array of integers, every element appears twice except for one. Find that single one. [] ...
- JMeter压力测试和性能测试工具
Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测 试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件 ...
- idea maven 报-source 1.5 中不支持 diamond 运算符
需要修改 project setting 中的
- Microsoft Bot Builder Overview
微软机器人构建器概述 微软机器人Builder是一个强大的框架构建机器人可以处理自由交互和更多的引导,这种可能性是显式地显示给用户. 它很容易使用和利用c#写机器人提供一个自然的方式. 高级功能: 强 ...
- 最佳实践扩展Windows窗体DataGridView控件 .net 4.5 附示例代码
Windows窗体DataGridView控件的性能调优.net 4.5 在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避 ...