mysql建表以及列属性
2018-06-18 01:02:30来源:未知 阅读 ()
一、整型( int, tinyint, smallint 等 )
------------------------------------------------------------------------------------------------------------------------------------------------------
#创建表
CREATE TABLE t1 (
num TINYINT
)CHARSET utf8 ENGINE MYISAM;
#添加一列num2,类型为tinyint, 属性为unsigned
ALTER TABLE t1 ADD num2 TINYINT UNSIGNED;
#添加一列num3,类型为tinyint, 属性为zerofill填充, 宽度为4,这个4,并不是限制范围的
ALTER TABLE t1 ADD num3 TINYINT( 4 ) ZEROFILL;
#增加一列num4,类型为int,宽度为4
ALTER TABLE t1 ADD num4 TINYINT( 4 );
#把num4的列类型,改成int
ALTER TABLE t1 MODIFY num4 INT( 4 );
#字段最大值( 溢出 )测试
INSERT INTO t1 VALUES( 200 );
INSERT INTO t1 VALUES( -128 );
INSERT INTO t1 VALUES( -129 );
INSERT INTO t1 VALUES( -1, 200 );
INSERT INTO t1 VALUES( -1, 256 );
INSERT INTO t1 VALUES( -128, -1, 2 );
二、浮点型( float, double, decimal )
------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE TABLE t2(
num FLOAT( 6, 2 )
)CHARSET utf8 ENGINE MYISAM;
#num FLOAT( 6, 2 ), 6表示最大的位数,2表示小数点位数,所以他能表示的最大值为9999.99
INSERT INTO t2 VALUES( 1234.56 );
#下面12340溢出,这个位置最大只能存9999
INSERT INTO t2 VALUES( 12340 );
注意:float与double有精度损失, decimal是定点型,不会损失精度
三、字符型( char, varchar, text, enum 等 )
------------------------------------------------------------------------------------------------------------------------------------------------------
char型如果不够M个字符,后面用空格补齐,取出时,把右边的空格去掉
注意:这表明,如果数据本身右侧有空格,将会丢失
#char型与varchar型测试
CREATE TABLE t3 (
n1 CHAR( 10 ),
n2 VARCHAR( 10 )
)CHARSET utf8 ENGINE MYISAM;
INSERT INTO t3 VALUES( ' ghostwu ', ' ghostwu ' );
select concat( '(', n1, ')' ), concat( '(', n2, ')' ) from t3;
从下图可知:n1列存储的值,由于是定长,取出来的时候,右边的空格丢失了
CREATE TABLE t4(
gender ENUM( '男', '女' )
)CHARSET utf8 ENGINE MYISAM;
INSERT INTO t4 VALUES( '男' );
INSERT INTO t4 VALUES( '女' );
#man不在枚举范围内,插入不了
INSERT INTO t4 VALUES( 'man' );
四、时间类型测试( year, time, date, datetime, timestamp, unsigned int )
------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE TABLE t5(
t1 YEAR,
t2 TIME,
t3 DATE,
t4 DATETIME,
t5 TIMESTAMP
) CHARSET utf8 ENGINE MYISAM;
INSERT INTO t5( t1 ) VALUES( '32' );
INSERT INTO t5( t1 ) VALUES( '1932' );
INSERT INTO t5( t1 ) VALUES( '2032' );
INSERT INTO t5( t1, t2, t3, t4 ) VALUES( '2100', '20:02:34', '2018-03-12', '2018-03-12 20:02:34' );
注:一般时间都用int型存储,便于计算,timestamp类型会自动插入当前的时间
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:sql 嵌套查询
下一篇:数据库优化之实例和故事
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash