与MSSQL对比学习MYSQL的心得(二)--显示宽度_Mysql

我们先来看看整数型数据类型的宽度范围

创建一个表

复制代码 代码如下:

CREATE TABLE tb_emp( id BIGINT(1))

id字段的数据类型为BIGINT(1),注意到后面的数字1,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数。

例如,假设声明一个INT类型的字段 YEAR INT(4)

该声明指明,在year字段中的数据一般只显示4位数字的宽度。

在SQLSERVER里是会报错的

复制代码 代码如下:

CREATE TABLE abc
(id INT(11))

复制代码 代码如下:

消息 2716,级别 16,状态 1,第 1 行
第 1 个列、参数或变量: 不能对数据类型 int 指定列宽。

显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MYSQL最大可能显示的数字个数,数值的位数小于指定的宽度时会有空格填充

如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能显示出来。

例如,向year字段插入一个数值19999,当使用select查询的时候,MYSQL显示的将是完整带有5位数字的19999,而不是4位数字的值

如果不指定显示宽度,则MYSQL为每一种类型指定默认的宽度值

tips:显示宽度只用于显示,并不能限制取值范围和占用空间,例如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型所允许的最大值。

时间: 2024-08-01 22:26:57

与MSSQL对比学习MYSQL的心得(二)--显示宽度_Mysql的相关文章

与MSSQL对比学习MYSQL的心得(六)--函数_Mysql

数学函数 1.求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法运算后的精确余数 SELECT MOD(31,8) 2.四舍五入函数TRUNCATE(X,Y) TRUNCATE(X,Y)返回被舍去至小数点后y位的数字x.若y的值为0,则结果不带有小数点或不带有小数部分. 若y设为负数,则截去(归零)x小数点左边起第y位开始后面所有低位的值. SELECT TRUNCATE(1.32,1) TRUNCATE(1.32,1)保留小数点

与MSSQL对比学习MYSQL的心得(一)--基本语法_Mysql

这一期主要是学习MYSQL的基本语法,陆续还会有续期的文章,敬请期待 语法的差异 我这里主要说语法的不同 1.默认约束 区别:mysql里面DEFAULT关键字后面是不用加括号的 复制代码 代码如下: --sqlserverCREATE TABLE emp(id INT DEFAULT(12))--mysqlCREATE TABLE emp(id INT DEFAULT 12) 2.设置自增列 区别很大,不过好像mysql的自增列不能设置步长的 MYSQL的自增列一定也要是主键列,不是主键列会报

与MSSQL对比学习MYSQL的心得(八)--插入 更新 删除_Mysql

同样的,只会讲解跟SQLSERVER不同的地方 插入 将多行查询结果插入到表中 语法 INSERT INTO table_name1(column_list1) SELECT (column_list2) FROM table_name2 WHERE (condition) INSERT INTO SELECT 在SQLSERVER里也是支持的 table_name1指定待插入数据的表:column_list1指定待插入表中要插入数据的哪些列:table_name2指定插入数据是从 哪个表中查询

与MSSQL对比学习MYSQL的心得(五)--运算符_Mysql

安全等于运算符(<=>) 这个操作符和=操作符执行相同的比较操作,不过<=>可以用来判断NULL值. 在两个操作数均为NULL时,其返回值为1而不为NULL: 而当一个操作数为NULL时,其返回值为0而不为NULL. 下面分别是 SELECT NULL <=>1   SELECT 1<=>0  SELECT NULL <=>NULL 的执行结果 在两个操作数均为NULL时,其返回值为1而不为NULL: LEAST运算符 语法格式为:LEAST(值

与MSSQL对比学习MYSQL的心得(四)--BLOB数据类型_Mysql

MYSQL里的BLOB数据类型 BLOB是一个二进制大对象,用来存储可变数量的数据.BLOB类型分为4种:TinyBlob.Blob.MediumBlob.LongBlob, 这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型     类型 大小(单位:字节) TinyBlob                            最大 255Blob                                  最大 65KMediumBlob      

与MSSQL对比学习MYSQL的心得(三)--查看字段的长度_Mysql

SQLSERVER 复制代码 代码如下: USE [sss]GOSELECT LEN([NAME]) FROM [dbo].[aa] MYSQL 复制代码 代码如下: CREATE TABLE tmp13(vb VARBINARY(10))INSERT INTO tmp13 (vb) VALUES(12)SELECT LENGTH(vb) FROM tmp13INSERT INTO tmp13 (vb) VALUES(1212)

MYSQL使用心得(二) 主从复制

基本配置 主数据库 配置文件,修改server_id=1 建立账户,供slave同步使用 GRANT REPLICATION SLAVE ON *.* to 'repl'@'192.168.56.3' identified by 'repl'; Mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB |

快速学习MySQL索引的入门超级教程_Mysql

所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找.而用的最多,并且是mysql默认的就是二叉树算法 BTREE,通过BTREE算法建立索引的字段,比如扫描20行就能得到未使用BTREE前扫描了2^20行的结果,具体的实现方式后续本博客会出一个算法专题里面会有具体的分析讨论; Explain优化查询检测 EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语

学习mysql之后的一点总结(基础)_Mysql

1.想要在命令提示符下操作mysql服务器,添加系统变量.(计算机-系统属性--环境变量--path) 2.查询数据表中的数据: select selection_list select * /columns from table_list from table1/table2 where primary_constraint group by grouping_columns order by sorting_colomns desc降序 select * from table order b