mysql数据库中有几种数据类型
Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。 1.整数数据类型及其取值范围:
类型
说明
存储需求(取值范围)
tinyint 很小整数 1字节([0~255]、[-128~127]); 255=2^8-1;127=2^7-1
smallint 小整数 2字节(0~65535、-32768~32767) ;65535=2^16-1
mediumint 中等 3字节(0~16777215) ;16777215=2^24-1
int(integer) 普通 4字节(0~4294967295) ;4294967295=2^32-1
bigint 大整数 8字节(0~18446744073709551615);18446744073709551615=2^64-1
浮点数&定点数:
类型名称
说明
存储需求
float 单精度浮点数 4字节
double 双精度浮点数 8字节
decimal 压缩的“严格”定点数 M+2字节
注:定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。 2.时间/日期类型: year范围:1901~2155; time格式:‘HH:MM:SS’(如果省略写,并且没有冒号,则默认最右起2位为秒,再到分,最后到时); 插入系统当前时间:insert into 表名 values(current_date()),(now()); date类型:‘YYYY-MM-DD’; datetime(日期+时间):‘YYYY-MM-DD HH:MM:SS’或‘YYYYMMDDHHMMSS’,取值范围:‘1000-01-01 00:00:00’~‘9999-12-31 23:59:59’; timestamp格式同datetime,但在存储时需要4个字节(datetime需要8字节),并且以UTC(世界标准时间)进行存储(即timestamp会随设置的时区而变化,而datetime存储的绝不会变化);timestamp的范围:1970-2037。 3.字符串类型: text类型:tinytext、text、mediumtext、longtext;
类型
范围
tinytext 255=2^8-1
text 65535=2^16-1
mediumtext 16777215=2^24-1
longtext 4294967295=4GB=2^32-1
char的存储需求是定义时指定的固定长度;varchar的存储需求是取决于实际值长度。 set类型格式:set(’值1’,’值2’…) ——可以有0或者多个值,对于set而言,若插入的值为重复的,则只娶一个。插入的值乱序,则自动按顺序插入排列。插入不正常值,则忽略。 二进制类型: bit(M)——保存位字段值(位字段类型),M表示值的位数; eg:select BIN(b+0) from 表名;—–b为列名;b+0表示将二进制的结果转换为对应的数字的值,BIN()函数将数字转换为二进制。 blog——-二进制大对象,用来存储可变数量的数据。
数据类型
存储范围(字节)
tinyblog 最多255=2^8-1 字节
bolg 最多65535=2^16-1 字节
mediumblog 最多16777215=2^24-1 字节
longblog 最多4294967295=4GB=2^32-1 字节
VARCHAR VS CHAR
VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。
假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。 现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。
VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要
MySQL数据类型之二文本型
TEXT
使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。
注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。
当你从HTML form的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。
一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。
MySQL数据类型之三数值型
SQL支持许多种不同的数值型数据。你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。
INT VS SMALLINT VS TINYINT
他们的区别只是字符长度:
INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数
SMALLINT 型数据可以存储从-32768到32768的整数
TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数
通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测以下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。
MUNERIC
为了能对字段所存放的数据有更多的控制,你可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据使你能表示非常大的数——比INT型数据要大得多。一个NUMERIC型字段可以存储从-1038到1038范围内的数。NUMERIC型数据还使你能表示有小数部分的数。例如,你可以在NUMERIC型字段中存储小数3.14。
当定义一个NUMERIC型字段时,你需要同时指定整数部分的大小和小数部分的大小。如:MUNERIC(23,0)
一个 NUMERIC型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零。
MONEY VS SMALLMONEY
你可以使用 INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。如果你希望你的网点能挣很多钱,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。
SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替MONEY型数据,以节省空间。
MySQL数据类型之四逻辑型
BIT
如果你使用复选框( CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。
当心,在你创建好一个表之后,你不能向表中添加 BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。
MySQL数据类型之五日期型
DATETIME VS SMALLDATETIME
一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。
如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。
DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。
mysql show tables和desc table都有什么作用?
show tables和desc table作用不用,show tables作用显示数据库中有哪些数据表,而desc table需要加表名等参数,作用是是显示数据表的表都定义了哪些字段,及各个字段的类型大小,及哪些是主键,哪些有约束条件,以及各个字段是否定义了默认值。
在mysql中说法正确的是
MySQL是一种关系型数据库管理系统,基于SQL语言进行操作和管理。1、在MySQL中,可以通过创建表格来存储数据,并使用SQL命令进行操作,比如查询、插入、更新、删除等。2、MySQL支持多种数据类型,包括数值型、字符型、日期型等,也支持定义索引、外键、视图等特性来优化数据库性能。3、MySQL还提供了一些高级...
Mysql 当中怎么查询一个数据库中所有为空的表 ,或者所有有数据的表
USE information_schema; -- Mysql 一个数据库所有有数据的表SELECT table_schema,table_name,table_rows FROM TABLES WHERE TABLE_SCHEMA='test' AND table_rows != 0 ORDER BY table_rows DESC;-- Mysql 一个数据库中所有为空的表SELECT table_schema,table_name,table_rows FROM TABLES WHERE...
mysql如何删除内容mysql中怎么删除数据
有限度地使用。假设我们想删除用户表中的名称“Mike迈克极限6;MySQL一般不确定删除哪6条记录。为了更加安全,我们可以使用ORDERBY对记录进行排序。从用户名=迈克按id排序DESC限制6;SQL如何查找和删除MYSQL数据库中包含特定字符串的记录?deletefromAwhereA.Blike'%http:\/\/120.196.211.50\/%'%:表示任意...
mysql数据库中的longblob类型的数据无法查看,有没有什么工具可以看的...
从数据库中读出BLOB对象 * @param outfile 输出的数据文件 *\/ public void blobRead(String outfile,int picID) throws Exception { FileOutputStream fos = null; InputStream is = null; byte[] Buffer = new byte[4096]; try { Class.forName("org.gjt.mm.mysql.Driver").newInstance(); ...
MySQL 中NULL和空值的区别是什么?
我先创建了一个表。在这个表中有两个字段:User_id(其数据类型是int)、Date(其数据类型是TimesTamp)。现在往这个表中插入一条记录,其中往Date字段中插入的是一个NULL空值。可是当我们查询时,其结果显示的却是插入记录的当前时间。这是怎么一回事呢?其实这就是在MySQL数据库中执行SQL语句时经常会...
mysql怎么查看数据库中表的大小
select concat(round(sum(DATA_LENGTH\/1024\/1024),2),'MB') as data from information_schema.TABLES 2、查询mysql数据库,某个库的大小;select concat(round(sum(DATA_LENGTH\/1024\/1024),2),'MB') as data from information_schema.TABLES where table_schema = 'testdb'3、查看库中某个表...
mysql中的 COMMENT 有什么作用吗?
COMMENT 是备注、注释的意思,写上COMMENT 'id'之后,在建表信息里可以看到添加的备注信息。COMMENT 'id'删除不会影响数据操作,只是没有字段注释说明,通常字段或列名都需要加注释,以方便自己和其他同事阅读数据库表字段信息。题主的报错不是因为 COMMENT 'id',是因为 AUTO_INCREMENT(自增)的字段...
MySQL中数据库的默认字符集和校对规则有哪些?
注意!MySQL 里常说的 UTF8 是 UTF8MB3 的别名,UTF8MB3 是 UTF8MB4 的子集,UTF8MB4 才是真正的 4 字节 UTF8 字符集!UTF8MB3 表示最大支持 3 个字节存储字符,UTF8MB4 表示最大 4 个字节存储字符。根据实际需要和未来展望,MySQL 8.0 已经默认用 UTF8MB4 基础字符集。
怎样用SQL语句查询一个数据库中的所有表
查询一个数据库中的所有表sql语句是show tables;显示所有数据库的命令是:show databases;要查看某个数据库先要进入数据库使用user <数据库名>命令;进入数据库之后才能查询数据库中有哪些表。使用以下命令即可查出所有表:show tables;
潜琰洛塞: Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型. 1.整数数据类型及其取值范围:类型 说明 存储需求(取值范围)tinyint 很小整数 1字节([0~255]、[-128~127]); 255=2^8-1;127=2^7-1 smallint 小整数 2字...
察哈尔右翼中旗13950547362: MySql数据类型有哪些 - ?
潜琰洛塞: 数值类型 日期和时间类型 字符串类型具体查看手册: http://dev.mysql.com/doc/refman/5.1/zh/column-types.html
察哈尔右翼中旗13950547362: 数据库中所有的数据类型? - ?
潜琰洛塞: MySQL 数据类型,在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型.
察哈尔右翼中旗13950547362: mysql的数据类型有哪些?其中存放大文本的用什么类型,其中 text 数据类型存放什么? - ?
潜琰洛塞: 分为数值、日期时间和String类型,存放大文本就用text类型就行,具体的查手册,mysql官网有中文手册!
察哈尔右翼中旗13950547362: mysql 是什么类型的数据库 - ?
潜琰洛塞: 关系型
察哈尔右翼中旗13950547362: mysql数据库中字段为时间类型要怎么什么类型表示?
潜琰洛塞: Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp. Date数据类型:用来存储没有时间的日期.Mysql获取和显示这个类型的格式为“YYYY-MM-DD”.支持的时间范围为“1000-00-00”到“9999-12-31”. Datetime类型:存储既有日期又有...
察哈尔右翼中旗13950547362: MYSQL里数据类型 - ?
潜琰洛塞: 用VARCHAR类型比较好,可指定1-255个字节
察哈尔右翼中旗13950547362: mysql各数据类型与SQL数据库的数据类型区别?
潜琰洛塞: MySQL支持多SQL Server 2000 中增加了3 种数据类型:BIGINT、SQL_VARIANT和TABLE种列类型:数值类型、日期/时间类型和字符串(字符)类型