sql数据类型

04-MySQL中的数据类型

不问归期 提交于 2020-03-05 14:05:55
1 整体说明 MYsql的数据类型 #1. 数字: 整型:tinyint int bigint 小数: float :在位数比较短的情况下不精准 double :在位数比较长的情况下不精准 0.000001230123123123 存成:0.000001230000 decimal:(如果用小数,则用推荐使用decimal) 精准 内部原理是以字符串形式去存 #2. 字符串: char(10):简单粗暴,浪费空间,存取速度快     root存成root000000 varchar:精准,节省空间,存取速度慢 sql优化:创建表时,定长的类型往前放,变长的往后放 比如性别 比如地址或描述信息 >255个字符,超了就把文件路径存放到数据库中。 比如图片,视频等找一个文件服务器,数据库中只存路径或url。 #3. 时间类型: 最常用:datetime #4. 枚举类型与集合类型    enum 和set 2 数值类型 整型类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄、等级、id、各种号码等。 说明: (1)默认是有符号的 (2)定义无符号的数据类型: unsigned :表示无符号 当前字段添加约束 示例:create table t2(x int unsigned); (3)该类型指定宽度时,仅仅只是指定查询结果的显示宽度

day03-数据类型

限于喜欢 提交于 2020-03-05 14:05:19
数据类型 一、介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 mysql常用数据类型概括: #1. 数字:   整型:tinyint、int、bigint   小数:     float :位数比较短的情况下不精准(单精度)     double :位数较长的情况下不精准(双精度,比float精准)       0.000001230123123123       存成:0.000001230000     decimal:(如果用小数,则用推荐使用decimal)       精准,内部原理是以字符串形式去存 #2. 字符串:   char(10):简单粗暴,浪费空间,存取速度快     root存成root000000   varchar:精准,节省空间,存取速度慢   sql优化:创建表时,定长的类型往前放,变长的往后放     比如性别 比如地址或描述信息   >255个字符,超了就把文件路径存放到数据库中。     比如图片,视频等找一个文件服务器,数据库中只存路径或url。 二、数值类型 整数类型:tinyint、smallint、mediumint、int、bigint 作用:存储年龄,等级,id,各种号码等 tinyint[(m)] [unsigned] [zerofill] 小整数

MySQL的数据类型

﹥>﹥吖頭↗ 提交于 2020-03-05 08:21:55
Mysql版本众多,每个版本支持的数据类型繁多且不一样,本篇文章中主要基于MySQL Community Server 5.7.22介绍常用的数据类型,包括其特点以及区别。 MySQL数据类型 正确的定义表结构:数据类型、字段长度,对于数据库性能至关重要。 MySQL的数据类型大致可分三类: 数值类型 字符串(字符)类型 日期和时间类型 数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777

跨数据库服务器查询和跨表更新

梦想与她 提交于 2020-03-04 13:39:01
一.摘要 本文通过实际业务场景讲解如何实现跨数据库服务器的数据查询, 以及跨表更新的SQL语法. 二.业务场景 想实现的功能很简单, 在我的本地一个表用来保存省的信息: T_Province 在另外一台服务器上也有一个保存省的表province,其中有我本地没有的provience_name_en和provience_id信息.我希望将它们保存到我的表中. 虽然用程序很容易实现,但是我觉得如果能直接操作数据库的话将更简单,而且还能学习到跨服务器查询的知识. 三.准备工作 首先我在本地 T_Province 表中添加了 ProvinceNameEn 和 ProvinceId 两个字段.接下来就要想办法为这两个字段填充数据. 四.跨服务器查询 首先需要解决跨服务器查询的问题. 先来看我的最终实现: --创建链接服务器 exec sp_addlinkedserver @server= 'SQL2', @srvproduct= '', @provider='SQLNCLI', @datasrc = '192.168.9.123' --登录链接服务器 exec sp_addlinkedsrvlogin @rmtsrvname = 'SQL2', @useself = 'false ', @locallogin = null, @rmtuser ='sa', @rmtpassword =

MySQL 中的数据类型介绍

。_饼干妹妹 提交于 2020-03-02 19:32:16
1、概述 要了解一个数据库,我们也必须了解其支持的数据类型。 MySQL支持所有标准的SQL数据类型,主要分3类: 数值类型 字符串类型 时间日期类型 另一类是几何数据类型,用的不多,也没多介绍。 下面大、小标题后括号内的数组表示其含有的类型个数。下面所有结论都经过本人使用MySql Workbench编写SQL验证过或来自官网。 2、数值类型(12) 2.1、整数类型(6) 一张图就能解释清楚了: INTEGER同INT。 2.2、定点数(2) DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值。 使用方式如下: salary DECIMAL(5,2) 下面的介绍将基于上面这个例子。 我们看到其中有两个参数,即DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99。 如果存储时,整数部分超出了范围(如上面的例子中,添加数值为1000.01),MySql就会报错,不允许存这样的值。 如果存储时,小数点部分若超出范围,就分以下情况: 若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存。如999.994实际被保存为999.99。 若四舍五入后,整数部分超出范围,则MySql报错,并拒绝处理。如999.995和-999

SQL Server类型与C#类型对应关系

我的未来我决定 提交于 2020-02-27 21:41:44
SQL Server 2000 C# CodeSmith 数据类型 取值范围 数据类型 取值范围 空值代替值 数据类型 bigint -2^63 (-9,223,372,036,854,775,807) 至 2^63-1 (9,223,372,036,854,775,807) Int64 -9,223,372,036,854,775,808;即十六进制的 0x8000000000000000至9,223,372,036,854,775,807;即十六进制的 0x7FFFFFFFFFFFFFFF Int64.MinValue Int64 binary 固定长度的 n 个字节二进制数据。 N 必须从 1 到 8,000。存储空间大小为 n +4 字节。 Byte[] null Binary bit True,False enum 0,1,-1(使用一个枚举变量来代替) public enum bitNull { False, True, Null = -1 }; -1 Boolean char 长度为 n 个字节的固定长度且非 Unicode 的字符数据。 n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。 string null AnsiStringFixedLength datetime 存储从 1753 年 1 月 1 日至 9999 年 12 月 31

C#等效于SQL Server数据类型

好久不见. 提交于 2020-02-25 22:57:38
对于以下SQL Server数据类型,C#中对应的数据类型是什么? 精确数值 bigint numeric bit smallint decimal smallmoney int tinyint money 近似数值 float real 日期和时间 date datetimeoffset datetime2 smalldatetime datetime time 字符串 char varchar text Unicode字符串 nchar nvarchar ntext 二进制字符串 binary varbinary image 其他数据类型 cursor timestamp hierarchyid uniqueidentifier sql_variant xml table (来源: MSDN ) #1楼 SQL Server和.NET Framework基于不同的类型系统。 例如,.NET Framework十进制结构的最大比例为28,而SQL Server十进制和数字数据类型的最大比例为38。单击此处 是链接 ! 详细 https://msdn.microsoft.com/zh-CN/library/cc716729(v=vs.110).aspx #2楼 SQL Server和.Net数据类型映射 #3楼 万一有人在寻找将C#和SQL Server格式转换的方法

SQL Server中易混淆的数据类型

大兔子大兔子 提交于 2020-02-25 14:25:09
(1)char、varchar、text和nchar、nvarchar、ntext char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。 后面三种数据类型和前面的相比,从名称上看只是多了个字母"n",它表示存储的是Unicode数据类型的字符。写过程序的朋友对Unicode应该很了解。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。 (2

SQL Server中易混淆的数据类型

こ雲淡風輕ζ 提交于 2020-02-25 14:23:18
(1)char、varchar、text和nchar、nvarchar、ntext      char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。      后面三种数据类型和前面的相比,从名称上看只是多了个字母"n",它表示存储的是Unicode数据类型的字符。写过程序的朋友对Unicode应该很了解。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便

SQL Server 中易混淆的数据类型

寵の児 提交于 2020-02-25 14:22:34
(1)char、varchar、text和nchar、nvarchar、ntext char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。 后面三种数据类型和前面的相比,从名称上看只是多了个字母"n",它表示存储的是Unicode数据类型的字符。写过程序的朋友对Unicode应该很了解。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。 (2