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版以前区分大小写)
(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字节
六、输入记录
单击右窗口中的插入按钮,在出现的记录输入界面下输入数据,并选择“插入新的一行”,再单击“执行”。即可连续输入多条记录,直到选择“后退到上一页”,再单击“执行”,则结束记录的输入。
MySQL建表字段类型的更多相关文章
- mysql 创建表字段类型笔记
1.字段联合唯一,unique(ServerVersion , MobileVersion, MobileType) .并且mysql设置多个字段为主键是起不到约束唯一的作用. 2.二进制用 BLOB ...
- 【转载】mysql建表date类型不能设置默认值
如题,mysql建表date类型的不能设置一个默认值,比如我这样: CREATE TABLE `new_table` ( `biryhday` datetime NULL DEFAULT '1996- ...
- mysql - 查看表字段和字段描述
1.mysql查看表字段和字段描述 SELECT column_name, column_comment FROM information_schema.columns WHERE table_sch ...
- mysql按表字段内容长度排序
今天遇到个需求如下: 查询一下新的业务是否正常入库,遇到的问题是新旧业务用的是同一个字段标识,唯一不同的是字段里内容的长度不同 查询方式如下,mysql按表字段内容长度排序 SELECT * FROM ...
- MySQL修改表字段相关信息
昨天收获颇多,首先回顾一下有关mysql的内容. 我在查询表信息时,出现了 empty set 0.00 sec 的错误,我很奇怪,仔细检查发现原来是表字段名称写错了, 于是我想修改字段名称,经过查询 ...
- MySQL 建表字段长度的限制
脑补,varchar(N),N指的是最大字符数,不是字节数. 先上测试说明: 在MySQL建表时,遇到一个奇怪的现象: root@localhost : test 10:30:54>CREA ...
- 使用SQL语句查询表及表字段类型说明
今天突然遇到有人要数据库表及表字段说明,数据库表太多又不能一个个表去找,就想想SQL是否能直接查询出来. 经过查询资料,加上一些自己的一些调整写了一个sql语句,在此记录一下,以方便日后查找使用. S ...
- MySQL处理表字段小技巧
MySQL利用正则函数替换值 update dateTest set date=REPLACE(date,'/','') where date REGEXP '\/'; SQL语句讲解: -- 将 所 ...
- SqlBulkCopy 批量导入数据 转换表字段类型
在使用SqlBulkCopy导入数据时,要有一个跟数据库里面同样的DataTable 要赋值表名 要求每个列跟数据库中列同名,并且列的类型要赋值跟数据库中列的类型对应的NET类型 要求数据库中为Nul ...
随机推荐
- [转]SQL Server 「逾时过期」的处理方式
基本上 SQL Server 只要在处理大量数据的指令,如 INSERT INTO A SELECT * FROM B 在数据量很大的时候,很容易发生 Timeout ,也就是常见的「逾期过时」错误. ...
- 一款基于jquery和css3实现的摩天轮式分享按钮
之前分享了很多css3实现的按钮.今天要给大家带来一款基于jquery和css3实现的摩天轮式分享按钮.这款分享按钮页面底部有一个toggle按钮,单击该按钮,摩天轮按钮以动画的形式出现,各个分享按钮 ...
- postgres入门介绍
mysql被oricle公司收购以后,PG就成了比较流行的开源数据库的首选,而且heroku上面不支持mysql,但是却大力支持PG,所以说,不得不学学PG,并非迫不得已的样子,至少以后PG会比较流行 ...
- POJ 3253-Fence Repair(堆)
Fence Repair Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 27055 Accepted: 8800 Des ...
- 【Unity】动态调用其他脚本的函数
本文转载自:http://blog.csdn.net/smilingeyes/article/details/17767269 第一种,被调用脚本函数为static类型,调用时直接用 脚本名.函数名( ...
- vshare
vshare 基于百度分享开发的支持VUE2.X的分享插件,为您带来更多的流量!提供多种风格按钮,代码加载更快,引入社会化流量,提升网页抓取速度等优点.github地址:https://github. ...
- 纯css实现进度条效果
去年7月份做一个公司商城的微信页面(微信用的chrome内核)需要写一个提示返现进度的进度条效果. 一个完整的进度条效果其实可以拆分一下: 一段背景: 一小段的静态的斜纹进度条: 斜纹进度条用线性渐变 ...
- uboot全局数据gd_t、bd_t和device_t
gd_t定义在include/asm-arm/global_data.h 33 /* Keep it *SMALL* and remember to set CFG_GBL_DATA_SIZE &g ...
- thinkphp 连接mssql 当local失效时
<?php return array( //'配置项'=>'配置值' //'USERNAME'=>'admin', //赋值 //数据库配置信息 'DB_TYPE' => 'm ...
- Python RGB 和HSV颜色相互转换
转自:http://outofmemory.cn/code-snippet/1002/Python-RGB-HSV-color-together-switch Python RGB 和HSV颜色相互转 ...