MySQL建表字段类型
1、数据库:在MySQL中,要存储数据,必须从数据库开始,因此⾸先要创建数据库,但由于学校的MySQL服务器对学⽣数据帐号有限⽌,学⽣不得创建数据库,故每个学⽣的帐号中已事先由信息中⼼为⼤家建⽴了⼀个名为帐号名的数据库。但我们必须了解创建数据库的语句为CREATE DATABASE <;数据库名>
2、数据表:是构成数据库的⼀个基本单位,在⼀个数据库中⽤户可以建⽴多张数据表。这是我们有权⼒建⽴的。
3、数据表结构:创建⼀个数据表的第⼀步即为创建数据表结构,在数据表结构中的内容包括:有⼏个字段,每个字段的名称,字段的类型,字段的长度,字段的属性。
4、字段:它是构成数据表结构的必须元素,⼀列数据就是⼀个字段。
5、字段名:⽤来描述字段的名称,它可以⽤中⽂、英⽂字母、数字等字符来描述。
6、字段类型:⽤来限定数据的⼀种⽅式,即每⼀个字段下的数据必定类型是相同的。
7、字段长度:即每⼀列字段中的数据位数。
三、建⽴第⼀张数据表
1、在左窗⼝中点击数据库名,
2、在右窗⼝中输⼊数据表的名称如number1,输⼊字段数6,单击执⾏,
3、按如下要求建⽴⼀张数据表:
属性说明
字段名field字段类型(列类
型)
type
name Char(8)姓名
xb Char(2)性别
csrq Date出⽣⽇期
address Text住址
Byxx Char(20)毕业学校
zip Int(6)
注意其下的sql语句:
CREATE TABLE `number1` (
  `name` CHAR( 8 ) NOT NULL ,
  `xb` CHAR( 2 ) NOT NULL ,
  `csrq` DATE NOT NULL ,
  `address` TEXT,
  `byxx` CHAR( 20 ) ,
  `zip` INT( 6 ) NOT NULL
  );
以上命令即是建⽴第⼀张数据表的命令,注意理解。建⽴数据表,我们也可以直接在代码窗⼝中输⼊命令也可以建⽴数据表。
四、字段类型(列类型)
1、字段的⼤类型有三种:数值型、字符型、⽇期/时间型,每⼀种⼤类型中也可以分成若⼲个列类型。
2、每种列类型均有以下⼏个特性:
(1)其中可以存放什么类型的值。
(2)值要占据多少空间,以及该值是否是定长或可变长的。
(3)该类型的值是否⽐较和存储
(4)此类型是否可以索引
五、学习⼏种常⽤的列类型
1、数值类型
(1)INT[ (M) ]
 说明:标准⼤⼩的整数
 允许的属性:不选(可以取正负数),UNSIGNED(⽆符号,取值范围增⼤⼀倍),UNSIGED ZEROFILL(在数值前⾃动填
0),auto_increment(⾃动递增)
 取值范围:-2147483648 到2147483647(-231 到231-1),或者如果为UNSIGNED,则0 到4294967295(0 到232-1)
 缺省值:如果列为NULL,则为NULL;如果列为NOT FULL,则为0
 存储需求:4 字节
 同义词:INTEGER[ (M) ]
(2)FLOAT[(M,D)](M表⽰显⽰宽度,在D表⽰⼩数位数)
 说明:⼩浮点数;单精度(精度⼩于DOUBLE)
 允许的属性:ZEROFILL
 取值范围:最⼩⾮零值为±1.75494351E-38;最⼤⾮零值为±3.402823466E+38
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为0
 存储需求:4字节
 同义词:MySQL3.23版以前,FLOAT(4)为具有缺省M和D值的FLOAT的同义词。
 注释:在MySQL3.23以后,FLOAT(4)为真浮点类型(值存储为硬件所允许的完整精度,⽽不四舍五⼊为缺省的⼩数位数)。
(3)DOUBLE[(M,D)]
 说明:⼤浮点数;双精度(⽐FLOAT更精确)
 允许的属性:ZEROFILL
 取值范围:最⼩⾮零值为±2.2250738585072014E-308;最⼤⾮零值为±1。79769313-48623157E+308
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为0
 存储需求:8字节
 同义词:DOUBLEPRECISION[(M,D)]和REAL[(M,D)]为DOUBLE[(M,D)]的同义词。MySQL3.23版以前,FLOAT(8)为具有缺省M和D值的FLOAT的同义词。
 注释:在MySQL3.23以后,FLOAT(8)为真浮点类型(值存储为硬件所允许的完整精度,⽽不四舍五⼊为缺省的⼩数位数)。
2、串类型
  MySQL的串类型常⽤来存储⽂本,它不但是通⽤的⽽且还能存储任何数据。可⽤串类型来存储最⼤长度可变的值,⽽且可以选择在处理值时是否区分⼤⼩写。
(1)CHAR(M)
 说明:0到M字节长的定长字符串。在MySQL3.23版以前,M应该为⼀个1到255之间的整数。⽽MySQL3.23版以后,M应该为⼀个0到255之间的整数。短于M个字符的串存储进右边补空格。长于M个字符的串存储时剪断为长度是M的串。在检索值时,去掉后跟的空格。
 允许的属性:BINARY
 允许的长度:0到M字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”
 存储需求:M字节
 ⽐较:不区分⼤⼩写(如果具有BINARY属性,则区分⼤⼩写)
(2)VARCHAR(M)
 说明:0到M字节长的可变长字符串。M应该为1到255之间的⼀个整数,或者⾃MySQL3.23后为0到255之间的⼀个整数。存储时后跟的空格被去掉。存储时,⼤于M个字符的串剪断为M个字符。
 允许的属性:BINARY
 允许的长度:0到M字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”
 存储需求:值的长度,加上1字节⽤来记录长度
 ⽐较:不区分⼤⼩写(如果具有BINARY属性,则区分⼤⼩写)
(3)TEXT
 说明:常规⼤⼩的TEXT值
 允许的属性:除通⽤属性外⽆其他属性
 允许的长度:0到65535(0到216-1)字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”
 存储需求:值的长度加上⽤于记录长度的2个字节
 ⽐较:不区分⼤⼩写
(4)ENUM(“value1”,“value2”,...)
 说明:枚举,列值可赋予值列表中的某个成员
 允许的属性:除通⽤属性外⽆其他属性
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为第⼀个枚举值
 存储需求:对1到255个成员的枚举1个字节,对255到65535个成员的枚举2个字节
 ⽐较:不区分⼤⼩写(MySQL3.22.1版以前区分⼤⼩写)mysql创建表数据类型
(5)SET(“value1”,“value2”,...)
 说明:集合,列值可赋予值列表中的零个或多个成员
 允许的属性:除通⽤属性外⽆其他属性
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”(空集)
 存储需求:1字节(1到8个成员的集合),2字节(9到16个成员的集合),3字节(17到24个成员的集合),4字节(25到32个成员的集合)或8字节(33到64个成员的集合)
 ⽐较:不区分⼤⼩写(MySQL3.22.1版以前区分⼤⼩写)
3、⽇期和时间类型
  MySQL提供以各种形式表⽰时间数据的类型。这些数据有⽇期和时间类型。有⼀种特殊的时间类型,它在记录更改时⾃动更新。还有⼀种⽤于存储年份的类型,在不需要完全的⽇期时使⽤。
(1)DATE
 说明:“YYYY-MM-DD”格式的⽇期
 允许的属性:除通⽤属性外⽆其他属性
 取值范围:“1000-01-01”到“9999-12-31”
 零值:“0000-00-00”
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“0000-00-00”
 存储需求:3字节(MySQL3.22版以前为4字节)
(2)TIME
 说明:“HH:MM:SS”格式的时间(负值为“-HH:MM:SS”);表⽰占⽤的时间,但也可
 以作为⽇常时间
 允许的属性:除通⽤属性外⽆其他属性
 取值范围:“-838:59:59”到“838:59:59”
 零值:“00:00:00”
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“00:00:00”
 存储需求:3字节
 注释:虽然在⾮法值插⼊TIME列时,“00:00:00”⽤作零值,但它也作为⼀个合法的值出现在正常的取值范围内
(3)YEAR
 说明:YYYY格式表⽰的年份
 允许的属性:除通⽤属性外⽆其他属性
 取值范围:1900到2155
 零值:0000
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为0000
 存储需求:1字节
(4)DATETIME
 说明:以“YYYY-MM-DDhh:mm:ss”格式表⽰的⽇期和时间(两个部分都需要)
 允许的属性:除通⽤属性外⽆其他属性
 取值范围:“1000-01-0100:00:00”到“9999-12-3123:59:59”
 零值:“0000-00-0000:00:00”
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“0000-00-00 00:00:00”
 存储需求:8字节
六、输⼊记录
  单击右窗⼝中的插⼊按钮,在出现的记录输⼊界⾯下输⼊数据,并选择“插⼊新的⼀⾏”,再单击“执⾏”。即可连续输⼊多条记录,直到选择“后退到上⼀页”,再单击“执⾏”,则结束记录的输⼊。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。