赞
踩
# 1. 表的创建
基本语法:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype
)character set字符集 collate 校对规则 engine存储引擎方式
注:character set 、collate、engine 如果没有指定,则该表的字符集、字符集校验规则和表的存储引擎与该表对应的数据库保持一致
例:
CREATE TABLE user(
id intcommet'id 号',
name varchar (60) comment' 用户名 ',
password char (32) commet'密码是32位的md5的值',
birthday date comment'生日'
)character set utf8 collate utf8_general_ci engine myisam;
说明:
1> 在 my.ini 中可以找到data的路径,然后在对应数据库DB下可以看到建表语句成功执行后所对应的文件;
2> 在表的存储引擎不同时,所产生的文件不同;如 当指定存储引擎为 MyISAM时,在data 下产生3个对应的文件'user.frm'、'user.MYD'、'user.MYI';而Innodb则只有一个单独的文件table_name.frm 文件;my.ini中datadir
engine指定为MyISAM时,每个table有以下三个对应的文件engine 为 MyISAM时产生对应三个文件
# 2. MySql的数值类型-整型整型数值
1> TINYINT 的范围说明,其他整型类型以此类推TINYINT 的范围说明
2> 说明:
a. 在mysql中整型默认为有符号的
b. 在建表时可以指定整型为无符号的: CREATE TABLE Tiny_table(age tinyint unsigned),其数值范围即指定为 0~ 255
c. CREATE TABLE table_name (
id int unsigned not null default 0 comment' 这里 not null 是不为空,空值无法写进table中,默认为 0 值填充'
)character set utf8 engine myisam;
3> 关于zerofill的说明
例如 int(6) unsigned zerofill 中 int(6)的含义说明
a. zerofill 只能和unsigned 配合使用;
b. int(6)中的6表示在使用zerofill时,数据的填充宽度,即数据不足6位,前面由0补齐各位,如果不设置zerofill,6 没有什么含义;
c. int(6) zerofill 只要指定zerofill,默认为unsigned;
d. int(6) 并不是表示存放的数据不能超过6位;
举例说明:
CREATE TABLE zero_f(
num1 int,
num2 int(4)zerofill,
num3 int(6) unsigned zerofill
);zerofill 的空位0填充
# 3. MySql的数值类型-数值型(bit)
基本使用:
BIT(M)
位字段类型,M表示每个值的位数,范围从1-64,如果M被省略,默认为1;
CREATE TABEL tab_bi( num bit(2) );
1> bit 在使用时,显示的是该数值的ASCII码
2> 如果一个值只有 0和 1 时,可以考虑使用bit(1)来节省空间;
3> M为位字段类型
# 4. 数值类型小数
1> FLOAT的基本用法
FLOAT[(M,D)][UNSIGNED]
M指定显示长度,D 指定小数位数,占用空间4个字节
float(4,2) 表示的范围是-99.99~99.99
float(4,2) unsigned 表示范围为 0-99.99
2> DECIMAL的基本用法
DECIMAL(M,D)[UNSIGNED]
定点数M指定长度,D表示小数点位数
decimal(5,2) 表示范围:-999.99 ~ 999.99
decimal(5,2) 表示范围:0~999.99
3> 关于float和decimal的区别
float 单精度在小数位7位
decimal 的整数部分M 最大值为65,支持十进制的最大位数D为30.如果M省略,默认为10,如果D省略默认为0, decimal() = decimal(10,0)float和decimal的精度差别
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。