首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysqlbigint、int、mediumint、smallint 和 tinyint的取值范围

mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint、int、mediumint、smallint 和 tinyint...在MySQL3.23,这是一个真正的浮点值。在更早的MySQL版本,FLOAT(precision)总是有2位小数。该句法为了ODBC兼容性而提供。...MySQL各数据类型的取值范围 TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 SMALLINT -32768 - 32767...1970-2069) CHAR(M) [BINARY] 或 NCHAR(M) [BINARY] M的范围为1 - 255,如果没有BINARY项,则不分大小写,NCHAR表示使用缺省的字符集.在数据库以空格补足...[NATIONAL] VARCHAR(M) [BINARY] M的范围为1 - 255.在数据库末尾的空格将自动去掉.

13.2K31

MySQLint、bigint、smallint 和 tinyint的区别详细介绍

最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。...P.S. bigint已经有长度了,在mysql建表的length,只是用于显示的位数 int 从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647...注释 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。...在 SQL Server ,int 数据类型是主要的整数数据类型。 在数据类型优先次序表bigint 位于 smallmoney 和 int 之间。...int(M) 在 integer 数据类型,M 表示最大显示宽度。在 int(M) ,M 的值跟 int(M) 所占多少存储空间并无任何关系。

5.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql数据库时间类型datetime、bigint、timestamp的查询效率比较

    作者 | 哒波甜 来源 | https://juejin.cn/post/6844903701094596615 数据库可以用datetime、bigint、timestamp来表示时间,那么选择什么类型来存储时间比较合适呢...前期数据准备 通过程序往数据库插入50w数据 数据表: CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `time_date...time_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `time_long` bigint...useGeneratedKeys = true,keyProperty = "id",keyColumn = "id") int saveUsers(Users users); } 测试类往数据库插入数据...> datetime > timestamp sql分组速率测试 使用bigint 进行分组会每条数据进行一个分组,如果将bigint做一个转化在去分组就没有比较的意义了,转化也是需要时间的 通过datetime

    2.6K30

    MySQL 时间类型 datetime、bigint、timestamp,选哪个?

    数据库可以用datetime、bigint、timestamp来表示时间,那么选择什么类型来存储时间比较合适呢?...前期数据准备 通过程序往数据库插入50w数据 数据表: CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `time_date...time_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `time_long` bigint...useGeneratedKeys = true,keyProperty = "id",keyColumn = "id") int saveUsers(Users users); } 测试类往数据库插入数据...> datetime > timestamp sql分组速率测试 使用bigint 进行分组会每条数据进行一个分组,如果将bigint做一个转化在去分组就没有比较的意义了,转化也是需要时间的 通过datetime

    3.9K30

    mysql存储手机号为什么不用bigint?

    bytes 从容量和速度上看,bigint是最好的选择。...4.在32位的某些应用bigint太大,会溢出,要进行各种转换,很麻烦。 5.手机号可能有-(座机),用int存不了。...:8字节 VARCHAR:15字节 CHAR:15字节 bigint > varchar = char 效率猜测: bigint > char > varchar 扩展性: bigint:最多19...and操作; 对于bigint的优势,对其进行分析: 空间占用:对于一个存放4位区号(不太可能,这里取4位为了计算最大的空间占用差距)和11号码的bigint和varchar,一个号码bigint...这也许又是另一个话题了,但无论如何,bigint始终没有达到我对插入、查询方面的效率改进的预期; 综上,bigint没有足够多的优势打动我去使用bigint存储手机号,虽然很不甘心,当初次萌生这个想法的时候是相当兴奋的

    3.3K20

    MySQL 数据库的锁

    全局锁 顾名思义,全局锁就是对整个数据库实例加锁。 1. FTWRL MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。...如果执行 FTWRL 命令之后由于客户端发生异常断开,那么 MySQL 会自动释放这个全局锁,整个库回到可以正常更新的状态。...表锁 MySQL 里面表级别的锁有两种:一种是表锁,一种是元数据锁(meta data lock,MDL)。...MDL 锁 另一类表级的锁是 MDL(metadata lock),这个是 MySQL 5.5 版本引入了 MDL,当对一个表做增删改查操作的时候,加 MDL 读锁;当要对表做结构变更操作的时候,加...这大大降低了数据库的执行性能。 怎么减少行锁对性能的影响? 关闭死锁检测 控制并发度,业务层面和数据库层面。

    5K20

    数据库MySQL的JOIN详解

    行数为n*m(n为左表的行数,m为右表的行数 ON:根据ON的条件逐行筛选vt1,将结果插入vt2 JOIN:添加外部行,如果指定了LEFT JOIN(LEFT OUTER JOIN),则先遍历一遍左表的每一行...CHARSET=utf8mb4 再创建一个用户余额表: CREATE TABLE `user_account` ( `userid` int(11) NOT NULL, `money` bigint...左表)里却找不到这一行的记录,所以会在第三步插入以下一行: | NULL | NULL | 1009 | 11 | FULL JOIN 上文引用的文章中提到了标准SQL定义的FULL JOIN,这在mysql...-------+------+--------+-------+ ps:其实我们从语义上就能看出LEFT JOIN和RIGHT JOIN没什么差别,两者的结果差异取决于左右表的放置顺序,以下内容摘自mysql...MySQL :: MySQL 8.0 Reference Manual :: 13.2.10.2 JOIN Syntax Visual Representation of SQL Joins Join

    6.1K10

    Mysql自带数据库的信息

    当你新建一个mysql服务,并且使用root用户登录mysql(或者你拥有相应的权限),会发现mysql预先安装了四个数据库. information_schema mysql perfomance_schema...SCHEMATA:提供了当前mysql实例中所有数据库的信息,我们经常使用的show databases就是从这里读取数据的. TABLES:提供了关于数据库的表的信息(包括视图)。...COLUMNS:提供了表的列信息。详细的描述了某个字段属于某张表,某个库,以及其他的字段名,字段类型,权限,备注等信息. STATISTICS:提供了关于表索引的信息。...VIEWS:给出了关于数据库的视图的信息。 TRIGGERS:提供了关于触发器的信息。...mysql 这是mysql的核心库,我们的用户,密码及权限等相关信息都存储在这里,所以在修改用户或者添加用户等操作的时候,使用grant命令和直接对这个库的user表进行增删改查的作用是相等的.

    4.1K20

    UbuntuMySQL数据库操作详解

    服务端   -  sudo apt-get install mysql-server 3.验证安装结果   -  命令:ps aux|grep mysql,跟下图一样则说明安装成功 4.mysql数据库运行状态...  - 4.1  sudo service mysql status  查看数据库运行状态     - 绿点 正在运行       - 白点 停止运行   - 4.2  sudo service...mysql start   启动数据库服务   - 4.3  sudo service mysql stop    停止数据库服务   - 4.4  sudo service mysql...登录数据库   - 5.1  通过客户端软件登录,详见步骤1   - 5.2  通过命令登录       - 登录远程主机:mysql [-h 192.168.205.129 –P 3306] –uroot...-p     - h 连接服务端数据库的IP地址     - P(大写) 连接的端口号,一般为3306     - u 用户权限     - p(小写) 输入密码,一般为mysql     登陆成功:

    4.4K30

    【MSQL数据库MySQL的NULL

    mysql的NUll是什么 ? 维基百科是这样说的:空值(Null或NULL)是结构化查询语言中使用的特殊标记,是对数属性未知或缺失的一种标识,用于指示数据库不具值。...由关系数据库模型的创作者 E.F.科德所引入。SQL空值是用来满足真实关系数据库管理系统(RDBMS),支持“缺失信息与不适用的信息”的需求。...另外,数据库的统计计算,一般将有空值的数据忽略不计。 MYSQL 的null值和’ '值有什么区别呢?...占用空间区别 null值在mysql的占用空间大小也为null,而’ '值在mysql 为0。...总结: 在创建MySQL表示尽量要限制not NULL 且给初始值为 ’ ’ 或 0; NULL值在mysql数据库是占有存储的, ’ ’ 是不占用的。 如果某一列有NULL值,且以此列创建索引。

    3.8K10

    mysql数据库转移至sqlserver数据库详解

    弹出创建新数据源对话框,选择MySQL ODBC 3.51 Driver驱动程序,点击完成按钮,如下图所示。   弹出链接MySQL对话框,如下图所示,在这里设置MySQL数据库帐号信息。...l  Data Source Name,这个根据命名规则任意命名就可以了,最终会显示于ODBC数据源管理器系统DSN选项卡下的列表。 l  Description,对该数据源的描述,可不填写。...l  DataBase,选定该数据源所指向的数据库。在这一里必须要求前面几个参数都正确,否则会提示错误,无法选择MySQL Server数据库。...四.利用SQL语句转移数据至MS SQL Server 在Microsoft SQL Server创建新的数据库(如:testMySQl),运行如下语句,运行后就可以把MySQL 数据库 “tigerdb...” 导入到 Microsoft SQL 数据库“testMySQl”

    3K00

    mysql数据库(7):表检索信息

    (1)选择所有数据:select * from pet;  (2)修改表内容 方法一:先删除用 DELETE FROM pet;  去修改txt内容,再LOAD DATA LOCAL INFILE...如果你使用两个操作符,使用圆括号指明如何对条件进行分组是一个好主意: mysql> select * from pet where( owner='思思' and species='dog') ->...:select name,birth from pet;  找出谁拥有宠物,使用这个查询:select owner from pet;  请注意该查询只是简单地检索每个记录的owner列,并且他们的一些出现多次...添加ORDER BY name子句按照名字对输出进行排序则能够实现 mysql> SELECT name, birth, CURDATE(), -> (YEAR(CURDATE())-YEAR(birth...)) -> - (RIGHT(CURDATE(),5) -> AS age from pet;  了按age而非name排序输出,只要再使用一个ORDER BY子句: mysql> SELECT name

    4.4K20
    领券