十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、 //看当前使用的是哪个数据库 ,如果你还没选择任何数据库,结果是NULL。
成都创新互联是一家专业提供泉港企业网站建设,专注与网站制作、成都网站建设、html5、小程序制作等业务。10年已为泉港众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
mysqlselect database();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+
2、//查看有哪些数据库
mysql show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3、//选择数据库
mysqluse test; //;号可有可无,必须单行使用.
4、为了找出当前的数据库包含什么表(例如,当你不能确定一个表的名字),使用这个命令:
5、//看数据库里有哪些表
mysqlshow tables;
+---------------------+
| Tables in menagerie |
+---------------------+
| event |
| pet |
+---------------------+
如果你想要知道一个表的结构,可以使用DESCRIBE命令;它显示表中每个列的信息:
6、//看表里有哪些列
mysql describe pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| *** | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Field显示列名字,Type是列的数据类型,Null表示列是否能包含NULL值,Key显示列是否被索引而Default指定列的默认值。
如果表有索引,SHOW INDEX FROM tbl_name生成有关索引的信息。
删除数据库.
mysqldrop database test;
无论是在小得可怜的免费数据库空间或是大型电子商务网站 合理的设计表结构 充分利用空间是十分必要的 这就要求我们对数据库系统的常用数据类型有充分的认识 下面我就将我的一点心得写出来跟大家分享
一 数字类型
数字类型按照我的分类方法分为三类 整数类 小数类和数字类
我所谓的 数字类 就是指DECIMAL和NUMERIC 它们是同一种类型 它严格的说不是一种数字类型 因为他们实际上是将数字以字符串形式保存的 他的值的每一位(包括小数点)占一个字节的存储空间 因此这种类型耗费空间比较大 但是它的一个突出的优点是小数的位数固定 在运算中不会 失真 所以比较适合用于 价格 金额 这样对精度要求不高但准确度要求非常高的字段
小数类 即浮点数类型 根据精度的不同 有FLOAT(单精度)和DOUBLE(双精度)两种 它们的优势是精确度 FLOAT可以表示绝对值非常小 小到约 E ( 小数点后面有 个零)的小数 而DOUBLE更是可以表示绝对值小到约 E ( 小数点后面有 个零)的小数 FLOAT类型和DOUBLE类型占用存储空间分别是 字节和 字节 如果需要用到小数的字段 精度要求不高的 当然用FLOAT了!可是说句实在话 我们 民用 的数据 哪有要求精度那么高的呢?这两种类型至今我没有用过——我还没有遇到适合于使用它们的事例
用的最多的 最值得精打细算的 是整数类型 从只占一个字节存储空间的TINYINT到占 个字节的BIGINT 挑选一个 够用 并且占用存储空间最小的类型是设计数据库时应该考虑的 TINYINT SMALLINT MEDIUMINT INT和BIGINT占用存储空间分别为 字节 字节 字节 字节和 字节 就无符号的整数而言 这些类型能表示的最大整数分别为 和 如果用来保存用户的年龄(举例来说 数据库中保存年龄是不可取的) 用TINYINT就够了 九城的《纵横》里 各项技能值 用SMALLINT也够了 如果要用作一个肯定不会超过 行的表的AUTO_INCREMENT的IDENTIFY字段 当然用 MEDIUMINT 不用 INT 试想 每行节约一个字节 行可以节约 兆多呢!
二 日期时间类型
日期和时间类型比较简单 无非是 DATE TIME DATETIME TIMESTAMP和YEAR等几个类型 只对日期敏感 而对时间没有要求的字段 就用DATE而不用DATETIME是不用说的了 单独使用时间的情况也时有发生——使用TIME 但最多用到的还是用DATETIME 在日期时间类型上没有什么文章可做 这里就不再详述
三 字符(串)类型
不要以为字符类型就是 CHAR !CHAR和VARCHAR的区别在于CHAR是固定长度 只要你定义一个字段是CHAR( ) 那么不论你存储的数据是否达到了 个字节 它都要占去 个字节的空间 而VARVHAR则是可变长度的 如果一个字段可能的值是不固定长度的 我们只知道它不可能超过 个字符 把它定义为 VARCHAR( )是最合算的 VARCHAR 类型的实际长度是它的值的(实际长度+ ) 为什么 + 呢?这一个字节用于保存实际使用了多大的长度呀!从这个 + 中也应该看到 如果一个字段 它的可能值最长是 个字符 而多数情况下也就是用到了 个字符时 用VARCHAR就不合算了 因为在多数情况下 实际占用空间是 个字节 比用CHAR( )还多占用一个字节!
举个例子 就是一个存储股票名称和代码的表 股票名称绝大部分是四个字的 即 个字节 股票代码 上海的是六位数字 深圳的是四位数字 这些都是固定长度的 股票名称当然要用 CHAR( ) 股票代码虽然是不固定长度 但如果使用VARVHAR( ) 一个深圳的股票代码实际占用空间是 个字节 而一个上海的股票代码要占用 个字节!考虑到上海的股票数目比深圳的多 那么用VARCHAR( )就不如CHAR( )合算了
虽然一个CHAR或VARVHAR的最大长度可以到 我认为大于 的CHAR是几乎用不到的——很少有大于 个字节长度的固定长度的东东吧?不是固定长度的就用VARCHAR!大于 的VARCHAR也是几乎用不到的——比这更大的用TEXT就好了 TINYTEXT 最大长度为 占用空间也是(实际长度+ ) TEXT 最大长度 占用空间是(实际长度+ ) MEDIUMTEXT 最大长度 占用空间是(实际长度+ ) LONGTEXT 最大长度 占用空间是(实际长度+ ) 为什么 + ? + ? + ? + ?你要是还不知道就该打PP了 这些可以用在论坛啊 新闻啊 什么的 用来保存文章的正文 根据实际情况的不同 选择从小到大的不同类型
四 枚举和集合类型
枚举(ENUM)类型 最多可以定义 种不同的字符串从中做出选择 只能并且必须选择其中一种 占用存储空间是一个或两个字节 由枚举值的数目决定 集合(SET)类型 最多可以有 个成员 可以选择其中的零个到不限定的多个 占用存储空间是一个到八个字节 由集合可能的成员数目决定
举个例子来说 在SQLServer中 你可以节约到用一个Bit类型来表示性别(男/女) 但MySQL没有Bit 用TINTINT?不 可以用ENUM( 帅哥 美眉 )!只有两种选择 所以只需一个字节——跟TINYINT一样大 但却可以直接用字符串 帅哥 和 美眉 来存取 真是太方便啦!
lishixinzhi/Article/program/MySQL/201311/29648
一:MySQL数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的
MySQL支持多种数据类型,大致可以分为三类:数值 日期/时间和字符串
二、数值类型
1.整数类型
2.浮点数
如果希望保证值比较准确,推荐使用定点数数据类型。MySql中的浮点类型有float,double和real。他们定义方式为:FLOAT(M,D) 、 REAL(M,D) 、 DOUBLE PRECISION(M,D)。
FLOAT和DOUBLE中的M和D的取值默认都为0,即除了最大最小值,不限制位数。允许的值理论上是-1.7976931348623157E+308~-2.2250738585072014E-308、0和2.2250738585072014E-308~1.7976931348623157E+308。M、D范围如下:
(MySql5.7实测,与IEEE标准计算的实际是不同的,下面介绍):M取值范围为0~255。FLOAT只保证6位有效数字的准确性,所以FLOAT(M,D)中,M=6时,数字通常是准确的。如果M和D都有明确定义,其超出范围后的处理同decimal。
D取值范围为0~30,同时必须=M。double只保证16位有效数字的准确性,所以DOUBLE(M,D)中,M=16时,数字通常是准确的。如果M和D都有明确定义,其超出范围后的处理同decimal。
CHAR值时,在它们的右边填充空格以达到指定的长度。当检索到CHAR值时,尾部的空格被删除掉,所以,我们在存储时字符串右边不能有空格,即使有,查询出来后也会被删除。在存储或检索过程中不进行大小写转换。
三、时间日期类型(5)
该“0”值如下:
请点击输入图片描述
四、各种类型占用的存储
1.数值类型
请点击输入图片描述
定点数的比较特殊,而且与具体版本也有关系,此处单独解释:
使用二进制格式将9个十进制(基于10)数压缩为4个字节来表示DECIMAL列值。每个值的整数和分数部分的存储分别确定。每个9位数的倍数需要4个字节,并且“剩余的”位需要4个字节的一部分。下表给出了超出位数的存储需求:
请点击输入图片描述
2.时间日期
请点击输入图片描述
从版本5.6.4开始,存储需求就有所改变,根据精度而定。不确定部分需要的存储如下:
请点击输入图片描述
比如,TIME(0), TIME(2), TIME(4), 和TIME(6) 分别使用3, 4, 5, 6 bytes。
3.字符串
请点击输入图片描述
4.类型的选择
为了优化存储,在任何情况下均应使用最精确的类型。
例如,如果列的值的范围为从1到99999,若使用整数,则MEDIUMINT UNSIGNED是好的类型。在所有可以表示该列值的类型中,该类型使用的存储最少。
用精度为65位十进制数(基于10)对DECIMAL 列进行所有基本计算(+、-、*、/)。
使用双精度操作对DECIMAL值进行计算。如果准确度不是太重要或如果速度为最高优先级,DOUBLE类型即足够了。为了达到高精度,可以转换到保存在BIGINT中的定点类型。这样可以用64位整数进行所有计算,根据需要将结果转换回浮点值。
5.使用其他数据库的SQL语句
为了使用为其它数据库编写的SQL执行代码,MySQL按照下表所示对列类型进行映射。通过这些映射,可以很容易地从其它数据库引擎将表定义导入到MySQL中:
请点击输入图片描述
第一步:点击打开表左上角的“文件”;
第二步:选择“设计表”;
第三步:此时就会弹出“数据类型”页面。之后点击“文件”的“打开表”就可以返回到数据列表页面。